角色管理(管理员可编辑角色权限功能): - 18 个权限功能点按模块分组(仪表盘/项目/Worker/协作/评估/模板/报表/日志/告警/API/设置/企业版) - 内置角色(admin/auditor/member)权限点可编辑、不可删除;自定义角色任意创建/删除/编辑 - 用户可绑定多个自定义角色,权限自动合并(内置基础 ∪ 自定义),即时生效无需重启 - 前端侧边栏按有效权限点自动显隐;未授权模块 API 返回 403 Worker 权限组(批量授权): - 把一批 Worker+权限(查看/使用/管理)打包成组,整组授权给用户 - 与直接授权并行生效取高值;组内 Worker 自动对绑定用户可见 - 企业版用户与权限新增三个子页:用户列表/角色管理/Worker 权限组 新表:roles / user_roles / worker_perm_groups / worker_perm_group_members / user_worker_groups
56 lines
2.4 KiB
HTML
56 lines
2.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>AI Worker 项目管理平台</title>
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
<div id="app">
|
||
<aside id="sidebar">
|
||
<div class="logo">🤖 <span>AI Worker</span><small>项目管理平台</small></div>
|
||
<nav>
|
||
<a href="#/dashboard" data-route="dashboard" data-perm="dashboard.view">📊 仪表盘</a>
|
||
<a href="#/projects" data-route="projects" data-perm="project.view">📁 项目</a>
|
||
<a href="#/workers" data-route="workers" data-perm="worker.view">🧑💻 AI Worker</a>
|
||
<a href="#/agents" data-route="agents" data-perm="agent.view">🤝 多 Agent 协作</a>
|
||
<a href="#/eval" data-route="eval" data-perm="eval.view">🎯 自动评估</a>
|
||
<a href="#/templates" data-route="templates" data-perm="template.view">🧩 模板市场</a>
|
||
<a href="#/reports" data-route="reports" data-perm="report.view">💰 成本报表</a>
|
||
<a href="#/logs" data-route="logs" data-perm="log.view">📜 运行日志</a>
|
||
<a href="#/alerts" data-route="alerts" data-perm="alert.view">🚨 告警中心 <span id="alert-badge" class="badge st-review" style="display:none;float:right">0</span></a>
|
||
<a href="#/api" data-route="api" data-perm="api.manage">🔌 开放 API</a>
|
||
<a href="#/enterprise" data-route="enterprise" data-perm="enterprise.manage">🏢 企业版</a>
|
||
<a href="#/settings" data-route="settings" data-perm="setting.manage">⚙️ 通知设置</a>
|
||
</nav>
|
||
<div class="sidebar-foot">
|
||
<div id="conn-state" class="conn ok">● 服务正常</div>
|
||
<a href="#" id="logout-btn" class="logout" style="display:none">退出登录</a>
|
||
</div>
|
||
</aside>
|
||
<main id="main"></main>
|
||
</div>
|
||
|
||
<!-- 登录遮罩 -->
|
||
<div id="login-mask" style="display:none">
|
||
<div class="login-box">
|
||
<h2>🤖 AI Worker 项目管理平台</h2>
|
||
<p>请输入账号与口令(默认 admin / admin123)</p>
|
||
<input type="text" id="login-user" placeholder="用户名" value="admin">
|
||
<input type="password" id="login-pwd" placeholder="口令">
|
||
<button id="login-btn">登 录</button>
|
||
<div id="login-err" class="err"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 通用弹窗 -->
|
||
<div id="modal-mask" style="display:none">
|
||
<div class="modal" id="modal-box"></div>
|
||
</div>
|
||
|
||
<div id="toast-wrap"></div>
|
||
<script src="app.js"></script>
|
||
</body>
|
||
</html>
|