Files
one_divine_lot/docs/05-需求池/R-003.md
T
2026-08-29 16:20:33 +08:00

7.7 KiB
Raw Blame History

R-003 分仓管理工具完善与优化 · 已归档(讨论记录)

需求状态:已完成(已归档) 登记日期:2026-08-28 更新日期:2026-08-28 定稿日期:2026-08-28 归档日期:2026-08-28 归档摘要见:已完成/R-003.md(本文件保留完整讨论记录) 来源:迭代 01 复盘(2026-08-28+ R-002 实现现状审视 关联:R-002(已实现,docs/05-需求池/已完成/R-002.md)、迭代 01 复盘(docs/04-迭代记录/01-分仓管理工具/迭代复盘.md)

需求概述

对 R-002(分仓管理工具)的完善与优化:修复已知缺陷、补齐产品约束未覆盖的部分、优化使用体验。本期不新增全新功能域(如网格参数管理、做T 记录、行情监控等另行评估),聚焦「把 R-002 做扎实」。

候选优化方向(讨论中,未收敛)

以下候选方向来自迭代 01 复盘与代码现状审视,待与老师逐项讨论确定本期范围。

方向 现状问题 优化内容 优先级候选
O1 持仓信息完整性 全部持仓 tab 只显示份额相关字段,QMT 返回的现价/市值/盈亏/可用等未展示(与产品约束-001「完整展示持仓信息」不符) 全部持仓 tab 补充现价/市值/盈亏/可用等字段展示
O2 策略 tab 动态化 客户端 tab 写死 3 个(全部持仓+2策略),设置中增删/隐藏策略后 tab 不同步 tab 由服务端策略配置驱动,增删改/显示开关实时反映到 tab 栏
O3 设置界面完善 设置 section 只有显示/隐藏开关,无增/删/改策略 UIAPI 已支持 strategies/update 补全策略 CRUD UI(新增/重命名/删除/排序)
O4 数据刷新机制 tab 数据只在进入/操作后加载一次,交易时段价格/市值不会自动更新 定时轮询 or WebSocket 实时推送(后者关联草稿 T-005,需评估是否纳入本期)
O5 数据加载失败兜底 页面数据加载失败时仅显示「加载失败」文字,无重试入口 加载失败的常规提示信息(失败原因)+ 重试按钮;不是数据源状态监控,而是页面加载的兜底体验
O6 份额编辑体验 添加/移出需逐票输入股数,无快捷操作 快捷操作(全部移入/全部移出/一键清零)、步进优化、操作反馈
O7 其他 老师补充 待讨论 -

讨论进程

2026-08-28 · 第 2 轮:范围圈定(老师确认)

老师拍板:本期范围 = O2 + O3 + O5 + O6

  • O2 策略 tab 动态化:tab 由服务端策略配置驱动,增删改/显示开关实时同步
  • O3 设置界面完善:补全策略 CRUD UI(新增/重命名/删除/排序)
  • O5 数据加载失败兜底:加载失败提示 + 重试(非数据源状态监控)
  • O6 份额编辑体验:快捷操作优化
  • O1 持仓信息补全:本期不做(后续评估)
  • O4 数据实时刷新:本期不做;WebSocket 实时推送(草稿 T-005不转正,继续留草稿区待后续评估

2026-08-28 · 第 3 轮:核心逻辑收敛(进行中)

针对 O2/O3/O5/O6 的关键决策点逐项讨论,收敛后进入定稿。

已确认决策(老师拍板,2026-08-28)

决策点 结论
O2-1 tab 数据来源 每次进入/设置变更后重新拉取策略配置,tab 栏同步刷新
O2-2 隐藏策略的 tab 隐藏即不显示(与 R-002 定稿一致)
O2-3 tab 栏刷新触发 设置保存后客户端全局刷新
O3-1 新增策略 自动生成英文 id(slug),如「长线持有」→ long-term-hold
O3-2 删除策略的份额处理 份额回到未分配(老师确认,数据不丢)
O3-3 重命名 分配数据挂 id 不挂名称,改名不影响
O3-4 排序 支持上移/下移按钮(不做拖拽)
O3-5 预置策略 可删除,彻底自由(老师确认,与其他策略一视同仁)
O5-1 失败提示位置 数据加载区域显示失败提示信息(原因)+ 重试按钮
O5-2 失败重试 加载失败显示提示 + 手动重试按钮;自动重试 2 次(间隔 2s)
O5-3 超时 保持 15s 可配置,超时显示「数据源超时」
O6-1 快捷操作 全部移入(未分配→当前策略)、一键清零(策略内全部移出)
O6-2 份额步进 保留 step=100,手动输入任意值仍可用
O6-3 操作反馈 顶部轻提示:成功绿、失败红,3s 自动消失

2026-08-28 · 第 4 轮:剩余不确定点收敛(老师确认)

针对定稿前剩余不确定点,老师逐项拍板:

# 不确定点 结论
1 O2/O3 联动机制 提示用户手动刷新(策略变更后,设置页/主界面提示「策略已变更,请手动刷新」;不做自动广播/轮询,简单可靠)
2 O3 删除策略确认 删除弹窗提示确认(破坏性操作需二次确认)
3 O5 数据源状态条 当前无任何数据源状态显示——O5 需要从零新增「数据源状态」能力(确认当前缺失,需新增而非增强)
4 O6 全部移入边界 单票级(表格行内操作,把该票未分配份额全部移入当前策略)
5 O6 一键清零确认 清零前弹窗提示,用户确认后执行

2026-08-28 · 第 5 轮:O5 本质澄清(老师明确)

老师澄清:我们要的不是「数据源状态监控」,而是页面加载数据失败时,无法正常显示的常规提示信息 + 让用户重试

  • 不做:全局数据源状态监控(可用/不可用状态栏、状态点等)
  • 要做:页面/表格数据加载失败 → 显示常规失败提示(含原因) + 重试按钮;超时等异常同样给出提示
  • 修正:O5 从「数据源健壮性(状态展示)」修正为「数据加载失败兜底提示 + 重试

2026-08-28 · O8 拆分独立

老师提出:将「数据池(数据集)中间层 + 策略表格动态字段配置」从 R003 拆分,独立成新需求草稿(T-006,草稿/数据池中间层与策略表格动态字段配置.md),另行讨论定稿。R003 本期范围保持 O2/O3/O5/O6。


2026-08-28 · 设置 tab 化扩展(老师新增,迭代 02 实现中追加)

老师新增需求(迭代 02 实现期间追加):

  • 设置页 tab 化:「神之一手」设置改为两个子 tab通用设置 / 策略分组
  • 通用设置:三个 switch 配置项 —— 全部持仓 / 交易记录 / 关注列表(对应会话窗的 tab);
    • 本期实现三个 tab(交易记录/关注列表为空占位),开关默认全开;
    • 开关控制对应 tab 的显示/隐藏,切换后提示「刷新生效」;
  • 策略分组:现有策略 CRUD(移到该子 tab 下)。

此扩展纳入迭代 02 实现范围(R003 的补充优化)。


定稿结论(2026-08-28 老师确认)

R-003 已定稿,本期范围 = O2 + O3 + O5 + O6,共 20 项决策收敛(详见上文讨论进程)。

定稿摘要(三要素核对)

  1. 边界清楚 本期做 O2(tab 动态化)/ O3(策略 CRUD)/ O5(加载失败兜底提示+重试)/ O6(份额快捷操作);不做 O1(持仓信息补全)/ O4(实时刷新)/ T-005(WS);O8 数据池已拆分至 T-006 草稿
  2. 核心逻辑明确 20 项决策全部收敛(O2×3 / O3×5 / O5×3 / O6×4 / 范围排除×5
  3. 老师确认 2026-08-28 老师明确「确定」

范围排除明确:O1 持仓信息补全、O4 数据实时刷新、T-005 WebSocket 均不纳入本期;O8 数据池(T-006)独立草稿另行讨论。表格列保持代码写死(T-006 落地前不改)。