8.4 KiB
8.4 KiB
Admin Next 双轨全量迁移修正计划
Summary
/admin-next/* 继续作为新版影子路由开发,旧 AntD 控制台必须完整保留作为生产回退和行为对照。只有新版完成全功能 parity 并通过验收后,才能逐个切换旧路由;删除旧页面和移除 AntD 必须作为最后独立步骤,并等待明确确认。
Hard Rules
- 未完成 parity checklist 前,不删除旧页面、不移除 AntD、不切旧入口。
- “旧版能删除”只表示新版能力达到替代标准,不表示立即删除旧版。
- 新版不能只做看板;旧版里可新增、编辑、删除、测试、触发、批量、轮询、WebSocket、权限控制、错误提示和确认弹窗的能力,都必须迁移。
/admin-next/*可以重做交互和视觉,但业务语义、API payload、权限和危险操作保护必须对齐旧版。
Design Direction
- 风格采用“朴素工具化 + 轻微立体触感”:灰白/暗色低对比背景、清晰 1px 边框、轻微凸起/按下态、克制圆角、图标少量彩色。
- 禁止回到 soft-glass、hero、大发光、大渐变、大色块和装饰性卡片。
- 常规动作默认 icon-only + tooltip:刷新、重启、退出、复制、查看、编辑、删除、关闭、设置。
- 强意图动作保留实心文字按钮:保存、创建、确认、执行、测试连接。
- 页面统一
16px外边距、16px主区块间距、12px面板 header/body 间距;表格标题和表体不能贴边。 - 所有页面遵守一屏工作台:
PageHeader之外只允许一个主内容区域吃满剩余高度;详情区、表格区和 Playground 消息区内部滚动,不能被父级裁掉。 - 页内 tabs 必须按旧版用户心智组织,而不是按后端接口名拆散;接口状态只能作为分区内部信息。
Implementation Plan
- 恢复旧版安全网:恢复旧 AntD 页面、旧
AppLayout、旧 helper、AntD 依赖和旧路由;保留/admin-next/*影子路由。 - 建立新版基础层:整理 admin-next token、按钮、tooltip、theme switch、sidebar account、
EntityTable、FormDialog、ConfirmDialog、DetailPanel、移动端表格/卡片切换。 - 拆掉通用看板页:每个模块建立真实业务页面、API adapter、form/mutation、轮询或 WebSocket 逻辑,不再用万能 Resource table 聚合展示。
- 按模块迁移:
- Dashboard:统计、WebSocket、健康检查、重启任务、任务日志、恢复探测。
- DataSources:内置源/自定义源/实时源、详情、stats、task-status、启停、触发、批量触发、清理数据。
- DataList:列表、summary、sources/types/countries、搜索、筛选、分页、详情、导出、分布。
- Collection Management:configs CRUD、builtin connect/test、target schemas、mappings、run/stop、stream status。
- Settings:system、notifications、security、SMTP、TV、integrations、collectors、测试连接、凭证指南。
- AI:provider、web search、OCR、prompt registry、playground 完整会话操作。
- Earth Content:brand、upload、delete/reset、boundary config/build/status、TV/content。
- Logs:sources、level/date/search、刷新、详情、复制、tail/snapshot。
- BGP:overview、collectors、incidents、anomalies、events、AI briefs。
- Alerts:系统告警、BGP 告警、态势告警,包含 ack/resolve/stats/brief。
- Users:list/create/edit/delete、role、Gatekeeper groups、权限显示。
- Auth:登录、注册、验证邮箱、重发、找回、重置、logout。
- 每完成一个模块,对照旧页面跑 checklist;只有全部模块通过后,才提出旧路由切换和旧版删除。
Test Plan
- 恢复阶段:
cd frontend && /home/ray/.bun/bin/bun install && /home/ray/.bun/bin/bun run build。 - 旧路由检查:
/admin、/datasources、/settings、/ai、/logs必须继续打开旧版。 - 新路由检查:
/admin-next/*必须继续打开新版。 - 每模块 parity:读写删、测试连接、触发、批量、轮询、WebSocket、权限、错误提示、确认弹窗、移动端和滚动。
- 视觉检查:light/dark/system、低高度窗口、125%/150% 缩放、按钮/状态/badge 等高、无双滚动条。
Parity Checklist
Dashboard
/dashboard/stats数据展示与旧版一致。- WebSocket 连接状态、健康状态、自动刷新语义一致。
- 重启任务创建、轮询、日志查看、失败提示和恢复探测一致。
DataSources
- 内置源、自定义源、实时源分区清晰,不混表。
- 详情、stats、task-status、enable/disable、trigger、trigger-batch、trigger-all、delete-data 与旧版一致。
- 实时源 start/stop/restart、连接状态、任务状态与旧版一致。
DataList
- 列表、summary、sources/types/countries、搜索、筛选、分页参数与旧版一致。
- 详情 metadata、分布摘要、JSON/CSV 导出与旧版一致。
- 表格固定列、横向滚动、移动端卡片模式可用。
Collection Management
- configs/all、configs CRUD、builtin connect/test、custom sample 与旧版一致。
- target schemas、mappings preview/list/update/activate 与旧版一致;propose/create 已提供表单化入口。
- run-mapped、stop-mapped、stream-status 与旧版一致。
Settings
- system、notifications、security、SMTP、TV、integrations、collectors 表单字段完整。
- SMTP test、AI/Web/OCR secrets、connect tests、preset refresh 与旧版一致。
- credential guides、cache 清理、危险操作确认一致。
AI
- Provider、Web Search、OCR、Prompt Registry 配置保存/重置完整。
- Playground thread/session/messages/status/stop/resend/edit 完整。
- provider refresh、connect test、secrets 读取、错误提示和 loading 状态完整。
- 页内 tabs 按旧版心智恢复为模型供应商、工具调用、提示词、Playground。
Earth Content
- brand get/save/delete/reset/upload 完整。
- boundary status/config/build/build-status 完整。
- TV/content 配置与旧版 Settings 入口一致。
Logs
- sources、level/date/search、limit、刷新参数与旧版一致。
- 日志正文、详情展开、复制、空态和错误态完整。
BGP
- overview、collectors、incidents、anomalies、events 的 summary/list/detail 完整。
- AI brief list/detail/generate 完整。
- collector collect-location、刷新、结果详情和错误提示完整。
Alerts
- 系统告警 list/detail/ack/resolve/stats/AI brief 完整。
- BGP incidents/anomalies/brief 完整。
- 态势告警 stats/list/brief 完整。
Users
- list/create/edit/delete、role、Gatekeeper groups 完整。
- 权限显示、普通用户限制和 super admin 行为一致。
Auth
- login/register/verify/resend cooldown/forgot/reset/logout/me 完整。
- 未验证邮箱跳转、错误提示、成功跳转和 token store 行为一致。
Hierarchy Repair
- AI 不再按接口/状态拍平成一张表;模型供应商恢复为 provider -> model/API/key 层级。
- 工具调用恢复为 Web Search/OCR -> provider/API/高级参数层级。
- 提示词恢复为 group -> prompt 入口层级,保存/重置只作用于当前入口。
- Settings/Earth 配置型页面使用父级列表 + 右侧正式表单,长内容在一屏内内部滚动。
Interaction Polish
- 不会产生歧义的刷新、复制、详情、批量、状态、清理等动作优先改为 icon-only + tooltip/title。
- 强意图动作保留实心文字按钮,例如保存、创建、触发全部、生成简报、确认执行。
- 按钮字号、高度、图标容器和 hover 触感统一,接近侧栏深色模式滑块的轻微立体风格。
- 表格与详情之间增加可拖动竖向 resize handle,低高度和窄屏下不制造额外滚动条。
Page Information Architecture
- 页内 tab 默认使用中文;BGP、AI、OCR、Web Search、Playground、Schema 等专有名词按可识别性保留。
- 信息观测类页面使用列表 + 详情,例如 BGP、Alerts、Logs、DataSources。
- 配置管理类页面使用分层结构,例如 AI、Settings、Earth Content、Collection Management。
- 采集管理已从纯表格看板改为分层管理:采集器、映射模板、目标 Schema、运行状态先选父级,再编辑或执行动作。