Files
iAOP/web/cockpit/index.html
T
bot_dev1 7a2e45e7c4 feat: 全站 Ant Design Pro 风格重构 + 登录守卫与角色门户(issue #131/#134)
- 新增 web/shared:pro.css(AntD 5 设计系统,旧 CSS 变量统一映射 AntD 色板)、
  session.js(后端优先+本地账号降级双轨会话,IAOP_AUTH 兼容层)、
  pro-header.js(全站统一 Pro 导航条:logo/页题/用户角色 Tag/退出)
- 门户 web/index.html:未登录跳登录页(next 回跳),登录后按角色过滤
  可见模块(readonly→驾驶舱/助手/移动端;engineer→+配置台;admin→全部)
- 登录页 auth/login.html 重写为 Ant Design Pro 风格,本地降级模式自动
  播种演示账号(admin/engineer/viewer),保留 OIDC SSO 双轨入口
- user_store.js 新增 verify() + seedDefaults() 默认账号播种
- 六模块页统一接入 pro.css + 统一导航条 + 登录守卫(PRD 8.2)
- 驾驶舱主题 dark→light(Ant Design 5 色板):renderer.py THEME_TOKENS、
  ti-cl4/resin 模板 theme、告警三级配色对齐 AntD(P0 #ff4d4f/P1 #faad14/
  P2 #1677ff),渲染计划已重编(build_plans.py)
- 验证:core/cockpit 86 单测通过;JS 语法检查通过;静态冒烟全 200
2026-08-05 14:17:37 +08:00

38 lines
1.5 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>iAOP 配置化驾驶舱</title>
<link rel="stylesheet" href="cockpit.css">
<link rel="stylesheet" href="../shared/pro.css">
</head>
<body data-pro-title="配置化驾驶舱">
<!-- iAOP 配置化驾驶舱(issue #131 / PRD 5.5「⑤ 配置化驾驶舱」)
纯静态 HTML + 原生 JS(无构建链)。页面只消费 plans/*.json 渲染计划,
切换行业模板 = 加载另一份 plan JSON,前端代码零改动。 -->
<header id="topbar">
<h1 id="cockpit-title">iAOP 驾驶舱</h1>
<div id="topbar-right">
<label for="template-select">行业模板</label>
<select id="template-select"></select>
<span id="infer-status" class="status-dot" title="推理服务 /health">●</span>
<span id="infer-status-text">推理服务检测中…</span>
</div>
</header>
<main id="cockpit-grid" aria-busy="true"></main>
<footer id="bottombar">
<span id="plan-meta"></span>
<span>布局 Schema: iAOP-cockpit-layout-v1 · 首屏静态资源本地化,目标 ≤ 2s(PRD 9)</span>
</footer>
<script src="../auth/user_store.js"></script>
<script src="../shared/session.js"></script>
<script>
// 登录守卫(PRD 8.2):未登录跳登录页,登录后回跳本页(后端优先/本地降级)
IAOP_SESSION.requireLoginElseRedirect("../auth/login.html");
</script>
<script src="../shared/pro-header.js"></script>
<script src="cockpit.js"></script>
</body>
</html>