Commit Graph
153 Commits
Author SHA1 Message Date
bot_dev2 4a7b5e4f21 fix: seed_iaop_menus.py swagger 登录返回裸 GetSwaggerToken(无 code 包装),专用登录方法适配 2026-08-06 10:32:21 +08:00
bot_dev2 209427f685 fix: seed_iaop_menus.py 适配 FastAPI>=0.13x(HTTPBasicCredentials 绑定 query 参数,登录带 username/password) 2026-08-06 10:31:25 +08:00
bot_dev1 4ea81cea91 feat: Phase 3 FBA UI 预构建产物 + Phase 4 按钮级权限(fba_jwt + perms)(Epic #159) 2026-08-06 10:18:15 +08:00
bot_dev1 067ba0abe1 feat: Phase 2 Sider 菜单由 FBA 服务端授权驱动 + 菜单/角色播种脚本(Epic #159) 2026-08-06 10:04:36 +08:00
bot_dev1 5b673fcdc7 feat: Phase 1 前端认证接入 FBA JWT——三轨会话 + 图形验证码(Epic #159) 2026-08-06 09:46:21 +08:00
bot_dev1 70c680a612 feat: Phase 0 FBA 部署包——docker-compose + nginx 反代 + env 模板(issue #159) 2026-08-06 08:41:59 +08:00
bot_dev1 8b68d015c2 fix: 组件配色全面对齐 Ant Design 5 token + 修复 iframe 内页签初始激活(issue #131)
组件审查结论:全站组件为自绘 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 正确激活。
2026-08-06 08:20:17 +08:00
bot_dev1 cfa976cac3 feat: SPA 外壳——菜单切换零刷新,对齐 Ant Design Pro 体验(issue #131)
- web/index.html 重写为 SPA 外壳:Sider/顶栏常驻,模块页在
  #module-frame iframe 内容区加载,点菜单只换 iframe 地址,
  彻底消灭整页刷新与白闪(此前只是铺底色缓解)
- 新增 shared/shell.js:IAOP_SHELL.navigate() 导航、外壳 hash
  (#/admin/#models) 与 iframe 地址双向同步、登录守卫、移动端
  模块新标签打开;iframe 地址用 location.replace 避免污染
  joint history;250ms 轮询回同步(replace 不触发 load 事件);
  导航时乐观高亮(后台标签轮询被节流不能作为唯一途径);
  前进/后退若恢复了 iframe 旧地址则以外壳 hash 为准强制对齐
- pro-header.js 三模式:外壳(菜单点击走 IAOP_SHELL、导出
  IAOP_PRO.setActive)/被嵌(iframe 内,隐藏页内跨页链接与重复
  用户标识、保留 Tab-hash 联动)/独立(原行为);菜单渲染后派发
  pro:menu-rendered 事件消除导航先于渲染的高亮竞态
- session.js:logout/守卫重定向作用于顶层窗口(iframe 内不再
  只跳 iframe 自己)
- 修复 iframe 替换元素宽高 bug:fixed 时左右定位不拉伸(回退
  固有 300x150),改显式 calc 宽高
- 登录页 next 默认回外壳 ../index.html

实测(本地 http.server + WebBridge 真实浏览器):菜单切换/
子菜单切换/前进/后退/直达链接(#/admin/#models) URL、iframe、
菜单高亮、子菜单高亮全链路一致,Sider 节点全程不重建;
登录守卫 logout→顶层跳登录、登录后回外壳默认驾驶舱。
2026-08-05 22:43:47 +08:00
bot_dev1 65d3b0952f fix: 消除跨模块跳转的整页白闪(issue #131)
五个带 Sider 的模块页 head 内联首屏底色(左 208px #001529 深 +
内容区 #f0f2f5),外部 CSS 加载前的解析期画布即为最终布局底色,
深色 Sider 区域不再白闪(FOUC);窄屏媒体查询下保持纯灰底
2026-08-05 17:43:36 +08:00
bot_dev1 870dbb9ce5 fix: 子菜单高亮改由 hashchange 统一驱动(issue #131)
浏览器实测(WebBridge)发现同页子菜单点击后页签切换正常但
子项高亮不跟随:原实现依赖子项点击处理器更新高亮,存在竞态。
改为统一数据流:子项一律默认导航改 hash → hashchange 同时驱动
页内 Tab 切换与 .pro-subitem 高亮同步,跨页直达/分享 URL 路径不变。

实测验证:admin/#audit|#kb|#models 连续切换,hash/页签/高亮三者同步
2026-08-05 17:33:39 +08:00
bot_dev1 e9787ecb22 fix: 修复 http 纯静态部署下本地账号登录不可用(issue #131)
- user_store.js:crypto.subtle 仅安全上下文可用,http://:8090 下为 undefined
  导致播种/校验静默失败;新增纯 JS SHA-256 降级实现(已对照 Node crypto
  验证一致,含非 ASCII),WebCrypto 可用时仍优先
- session.js:/auth/login 返回 5xx/非 JSON 时判定为后端不可用并降级本地
  账号,仅 4xx 视为真实鉴权失败(原逻辑把 nginx 500 HTML 误判为密码错误)
2026-08-05 16:52:45 +08:00
bot_dev1 c0af291502 fix: 导航交互对齐 Ant Design Pro 体验(issue #131)
- 父级菜单整行点击 = 就地展开/收起 inline 子菜单(不再跳转),
  只有子项才导航,与 Pro 的 Menu inline 模式一致
- 子菜单展开加 max-height 过渡动画
- 菜单加 AntD Menu.ItemGroup 风格分组标题,hover 态补半透明白底
- 页内旧 topbar 去背景去边线,融入内容区当页标题行,消除双顶栏感
2026-08-05 16:20:52 +08:00
bot_dev1 0b3dc0b9ae feat: 移除门户页,登录后默认直达驾驶舱(issue #131)
- web/index.html 改为纯重定向页(/ → cockpit/,驾驶舱自带登录守卫)
- 登录页默认 next 改为 ../cockpit/,页脚入口链接同步调整
- Sider 菜单移除「门户」项,logo/默认首页指向驾驶舱
2026-08-05 15:54:14 +08:00
bot_dev1 2f6b329745 feat: Sider 子菜单上收页内 Tab(管理控制台/模板配置台,issue #131)
- MODULES 注册表支持 children:管理控制台(模型管理/知识库管理/告警确认/
  审计查询)、模板配置台(点位导入/模型超参/驾驶舱编排/版本发布)
- Sider 渲染 AntD Menu.SubMenu 风格可展开子菜单,当前页自动展开、
  子项按 URL hash 高亮(如 admin/#models)
- 页内 #tabs 自动隐藏,改由子菜单经 hash 驱动切换;页内 Tab 点击回写
  hash,URL 可分享直达子页;各页面业务逻辑零改动
2026-08-05 14:40:15 +08:00
bot_dev1 3a1cccc0c6 feat: 全站导航改为 Ant Design Pro 左侧边栏布局(issue #131)
- pro-header.js 重构:深色 Sider(#001529,AntD Pro 经典)+ 顶部 48px 细栏
- Sider 菜单 = 门户 + 模块按登录角色过滤,当前页高亮 #1677ff,
  底部折叠按钮可收成 48px 图标栏;窄屏(≤720px)自动隐藏退回纯顶栏
- 菜单/高亮按 URL 自动计算站点根前缀,六个模块页零改动接入
2026-08-05 14:31:42 +08:00
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
bot_dev2andyunmei b53e71c85d feat: 前端根路径导航首页(web/index.html,6 模块入口 + 推理服务状态) 2026-08-05 13:15:03 +08:00
bot_dev1 ca6637b69e feat: 完成 issue #158 交接班摘要页补充历史摘要查看(最近 10 次本地保存) 2026-08-05 10:52:51 +08:00
bot_dev1 253ebe7b0b feat: 完成 issue #157 移动端只读驾驶舱补充手动刷新(KPI 时间桶滚动) 2026-08-05 10:50:05 +08:00
bot_dev1 3a6ef57592 feat: 完成 issue #156 审计查询页补充时间范围筛选 2026-08-05 10:47:31 +08:00
bot_dev1 04b5b33bb7 feat: 完成 issue #155 告警确认页补充确认超时自动升级(ackTimeoutS 同源配置) 2026-08-05 10:44:58 +08:00
bot_dev1 21d3654616 feat: 完成 issue #154 知识库管理页补充本地上传文档移除(模板资产只读保护) 2026-08-05 10:41:48 +08:00
bot_dev1 d181b4bfc8 feat: 完成 issue #153 模型管理页补充按模型审计历史视图 2026-08-05 10:39:56 +08:00
bot_dev1 6b36336ca6 feat: 完成 issue #152 登录页 OIDC SSO 双轨入口(配置点已文档化) 2026-08-05 10:37:26 +08:00
bot_dev1 458220ecbc feat: 完成 issue #151 用户/角色管理页补充角色权限矩阵视图(PRD 5.7) 2026-08-05 10:34:59 +08:00
bot_dev1 a2c089499e feat: 完成 issue #136 移动端只读驾驶舱与交接班摘要(web/mobile,共享布局资产) 2026-08-05 10:32:40 +08:00
bot_dev1 c5355e16c2 feat: 完成 issue #135 管理控制台(web/admin:模型/知识库/告警确认/审计查询) 2026-08-05 10:27:10 +08:00
bot_dev1 0d144715a0 merge: 合并 #150 认证后端/登录页,落地 #134 用户/角色管理+OIDC 预留+配置台接入 2026-08-05 10:20:09 +08:00
bot_dev1 7cf783e7c6 feat: 完成 issue #134 登录认证+用户/角色管理(web/auth,RBAC 三级,OIDC 预留,接入配置台) 2026-08-05 10:14:25 +08:00
bot_dev1 982ef65530 docs(#150): web/auth README(登录页与本地账号会话管理说明) 2026-08-05 02:08:37 +00:00
bot_dev1 73056ed32e feat(#150): 登录页客户端 auth.js(login/me + 路由守卫 requireLoginElseRedirect,PRD 8.2) 2026-08-05 02:08:24 +00:00
bot_dev1 351f791f1a feat(#150): 登录页 login.html(深色主题,对接 /auth/login) 2026-08-05 02:07:59 +00:00
bot_dev1 79afd967a7 feat(#150): 登录页样式 auth.css(深色主题,对齐 cockpit/studio) 2026-08-05 02:07:44 +00:00
bot_dev1 e6d94c95ba chore(#150): core/auth tests 包 2026-08-05 02:07:27 +00:00
bot_dev1 16d5865fef test(#150): 本地账号认证单元测试(密码哈希/UserStore/session/守卫) 2026-08-05 02:07:02 +00:00
bot_dev1 eba2bc3948 feat(#150): core/auth 包初始化 2026-08-05 02:06:43 +00:00
bot_dev1 51ff6dbcc6 feat(#150): 认证 HTTP 端点 auth_api.py(login/logout/me + require_auth/can_write 写操作守卫,PRD 8.2) 2026-08-05 02:06:34 +00:00
bot_dev1 f6f41913dc feat(#150): PostgreSQL users 表 DDL + 映射(对齐 #30 schema,role CHECK 约束) 2026-08-05 02:06:06 +00:00
bot_dev1 a1acc6e63b feat(#150): 会话管理 session.py(HMAC 签名 token + 恒定时间校验,HttpOnly cookie) 2026-08-05 02:05:50 +00:00
bot_dev1 b5b29d28d7 feat(#150): 本地账号认证 users.py(PBKDF2 密码哈希 + UserStore,对齐 rbac.py 三级角色) 2026-08-05 02:05:21 +00:00
bot_dev1 b2fa36bd35 chore: remove probe 2026-08-05 02:04:57 +00:00
bot_dev1 6d57c7ed65 chore(#150): probe core/auth dir 2026-08-05 02:04:48 +00:00
bot_dev1 db855241c5 chore(#150): test write to main HEAD (no content change) 2026-08-05 02:03:19 +00:00
bot_dev1 faddf24d11 feat: 完成 issue #133 对话助手增强版(引用溯源/路由分级/DLP 拦截,直连推理服务) 2026-08-05 09:57:53 +08:00
bot_dev1 19c832b244 chore: remove probe 2026-08-05 01:50:06 +00:00
bot_dev1 92634cbf73 chore: probe write test 2026-08-05 01:49:46 +00:00
bot_dev1 78078822d7 feat: 完成 issue #132 模板配置台 UI(web/studio:导入/超参/编排/版本,三级 RBAC) 2026-08-05 09:49:24 +08:00
bot_dev1 92e075c9f1 feat: 完成 issue #131 配置化驾驶舱 Web 前端(web/cockpit) 2026-08-05 09:32:10 +08:00
bot_dev2 b673830859 feat: 推理服务根路径返回欢迎导航页(浏览器直接访问 30800 不再 404) 2026-08-05 09:12:33 +08:00
bot_dev2 2ae5653a9a feat: 部署 iAOP 至 39.101.182.167 的推理服务镜像与入口(serve.py + Dockerfile,对齐 Helm Chart 契约) 2026-08-05 08:59:45 +08:00