组件审查结论:全站组件为自绘 HTML+CSS 仿 AntD(纯静态无组件库), pro.css 已统一设计 token,但各页 CSS/JS 残留一批旧配色硬编码, pro.css 覆盖不到,本次全部清理: - 旧 iOS 红 #ff3b30 → --ant-error #ff4d4f(告警 P0/严重度/DLP 条/ 工艺 alarm 态/diff 删除行) - 旧橙 #f5a623 → --ant-warning #faad14(P1 告警/warning 态/暂存徽章) - 旧 iOS 绿 #2ecc71 → --ant-success #52c41a(running 态/prod 徽章/ 索引完成/路由本地标签/权限矩阵) - 杂色蓝统一 → --ant-primary #1677ff:发送键 #0ea5e9、P2 告警 #3aa0ff、编排画布残留青 rgba(24,211,200)、旧气泡 #1d4ed8 - 主色按钮上的深色文字 #04202a → #fff(对比度修正) - 灰 #64748b → --ant-text-tertiary rgba(0,0,0,0.45) - 各页 CSS :root 深色默认变量值(#0b1220/#13203a/#18d3c8 等死值) 对齐为 AntD 亮色默认值,修正"深色主题"过时注释 - 删除已无任何引用的旧深色登录页样式 auth/auth.css 顺带修复实测发现的 bug:SPA 外壳内直达 admin/studio 子页时页签 不切换——studio.js/admin.js 的 Tab 事件在异步 boot(user) 中绑定, bindPageTabs 的 window load 初始激活可能早于绑定完成,改为带重试 的激活(直到 Tab 点亮,最多 10s)。实测 #/admin/#alerts 直达后 page-alerts 正确激活。
web/studio — iAOP 模板配置台 UI
issue #132 / PRD 5.7「⑤.7 模板配置台」。纯静态单页应用(无构建链), 覆盖 PRD 5.7 关键页面线框:导入页 / 超参配置页 / 驾驶舱编排页 / 版本页, 三级 RBAC(Viewer / Editor / Publisher)。
使用
cd web/studio && python -m http.server 8081
# 浏览器打开 http://localhost:8081 (Chrome / Edge 最新两版)
页面与后端语义对齐
配置台后端内核 core/template-console/ 是纯标准库引擎(暂无 HTTP 服务),
本 UI 在前端镜像其语义;配置与版本持久化在浏览器 localStorage(Demo 级)。
| 页面 | 能力 | 对齐内核模块 |
|---|---|---|
| ① 点位导入 | CSV 上传/粘贴、校验进度条、错误列表(行号+原因)、下载错误模板 | point_importer.py(表头列序/必填/数据类型/采样率/重复点号/OPC 节点/模板量纲收窄) |
| ② 模型超参 | 左树 4 类模型(质量预测/异常检测/工艺优化/跨工序关联)、右表单(默认值/单位/范围)、实时 JSON 预览 | config_store.py(ConfigKind.MODEL_PARAM)、core/model-framework 示例 |
| ③ 驾驶舱编排 | 组件库(5 种 widget)/ 12 列画布 / 数据源绑定面板,产出 iAOP-cockpit-layout-v1 JSON |
config_store.py(ConfigKind.LAYOUT)、core/cockpit/layout.py |
| ④ 版本发布 | 版本列表(状态/时间/作者)、diff 视图、回滚(不删历史、事件可追溯)、导出模板资产包 | release.py(快照固化 / semver 单调递增 / 回滚可追溯) |
RBAC(对齐 core/template-console/rbac.py)
- Viewer(readonly):只读预览,全部编辑/发布按钮禁用;
- Editor(engineer):可配置(导入校验/超参/编排),不可发布与回滚;
- Publisher(admin):可配置 + 发布 + 回滚。
顶栏角色切换即切换权限视图(Demo 级,未接认证——认证由 issue #134 覆盖)。
耦合边界
配置台唯一产出物是「模板资产包」JSON(版本页导出,
pack_schema: iAOP-template-pack-v1,含版本快照:超参/布局/点位校验报告),
供内核灰度推送(对齐 push_channel.py 的 PushManifest 语义),
不直接改内核运行时。