- 新增 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
38 lines
1.5 KiB
HTML
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>
|