f1e7e785a1
迭代09 (R-011 Tab 设置统一管理): - 需求 R-011 (定稿 Q1-Q5) + 需求池索引 - 计划 PLAN-010 + 迭代09 四件套 (目标/技术方案/验收/复盘) - 约束: 产品约束-009 / UI约束-003 / 技术约束-014 - UI约束-002 修订: 通用设置→Tab 设置 迭代10 (R-012 UI 适配 DSH 主题): - 需求 R-012 (定稿: 暂定跟随系统) + 需求池索引 - 计划 PLAN-011 + 迭代10 四件套 - 约束: UI约束-004 (主题适配约定)
2.0 KiB
2.0 KiB
迭代目标:09-Tab 设置统一管理(内置 + 策略分组,显示/隐藏 + 拖动排序)
迭代编号:09 | 创建:2026-09-02 | 状态:进行中 依据计划:PLAN-010 | 需求:R-011(已定稿,2026-09-02,Q1-Q5 确认)
目标描述
将设置页「通用设置」升级为「Tab 设置」,成为所有会话 tab(系统内置 + 策略分组)唯一的顺序与显隐入口:两类 tab 混排一张表,每行 = 拖动手柄 + 名称 + 显示/隐藏开关;任何 tab 均不支持重命名与删除;拖动落点立即持久化。
目标分解
- 数据模型统一(settings.js):tabs 布尔对象 → 有序数组,旧格式自动归一化;strategies 收窄为 {id, name};
- API 层(api/strategies.js):tabs/update 整表(顺序 + 显隐);strategies/add 联动追加 tab;strategies/remove 联动删除 tab;废弃 strategies/move;
- 客户端注册(client/index.js):合并为统一注册,读 tabs 数组(order 排序 + visible 过滤),移除硬编码 order;
- 设置页 UI(SettingsSection.jsx):「Tab 设置」子 tab(混排 + 徽标 + 显隐开关 + 拖动排序)+ 策略分组瘦身(仅 新增/重命名/删除 + 指引提示)。
讨论过程
- 2026-09-02 老师提出需求:设置页默认几个 tab 与策略 tab 一起排序,内置标记、不可重命名/删除;
- 2026-09-02 AI 分析现状(两套数据/两套 order 空间),提出统一 tabs 有序数组方案;
- 2026-09-02 老师确认 D1-D7:Tab 设置只做 显示/隐藏 + 排序(拖动),策略命名/删除留策略分组;
- 2026-09-02 老师确认 Q1-Q5:拖动落点立即持久化 / 新增追加末尾 / 旧隐藏策略迁移后显示 / 名称 join 自动跟随 / 全部 tab 禁重命名删除,R-011 定稿。
对老师的配合需求
- 验收时验证:拖动排序落点立即生效(刷新后 tab 栏按新顺序);显隐开关切换后刷新生效;策略分组瘦身后的新增/重命名/删除仍正常;老配置自动迁移无报错。