Files
jiapuapp/docs/superpowers/specs/2026-07-14-t01-tree-state-consolidation-design.md
T
2026-07-15 08:31:33 +08:00

2.2 KiB
Raw Blame History

T01 世系树状态收敛设计

运行审视依据

  • T01-before-360x800.png:无当前家谱时只显示“暂未录入族人”,无法说明是空数据、加载失败还是未选择家谱。
  • T01-populated-before-360x800.png:已载入树的节点使用 CSS 方框且没有关系连线,底部信息条与页面视觉语言脱节。
  • T02-before-360x800.png:小屏提示、无成员与加载失败被做成另一个通用状态页,和 T01 是同一个阅读任务的重复路由。

决定

删除 T02 路由与文件。t01-tree-overview.vue 是世系阅读任务的唯一所有者,并以 state=tree|landscape|empty|error 驱动同页状态:

  1. tree:有 genealogyId 且树数据存在时,显示横向可滚动的世系图,点选节点保留现有的资料/添加亲属跳转。
  2. landscape:小屏阅读提示,说明可横向拖动查看;不新增页面。
  3. empty:没有当前家谱、没有成员或显式状态时,清晰引导用户先录入首代。
  4. error:加载失败或显式状态时,说明无法加载并提供重新查看入口。

空关键词、无上下文和远端异常不再复用一条模糊文案;页面状态从查询参数和实际数据得出,T02 不保留兼容入口。

视觉

  • 保留 PageHeader、暖宣纸与朱砂/古金/墨褐的已验收语言,不触及 A01、A02、A04--A06、G01、G03。
  • 复用已验收体系中的完整不透明位图:g03-create-flow-panel.png 作为世系画布,g06-search-input-wide.png 作为成员节点,application-status-card.png 作为底部信息条;Vue 只叠放真实文本、滚动和点击层,避免新增语义重复资产。
  • landscapeemptyerror 使用画布内留白与现有透明云纹,不再生成一个通用状态卡页。

契约与验证

  • 先红灯:T01 存在且 T02 路由/文件不存在;T01 有四态、三类完整位图、成员资料与新增亲属跳转;节点和信息条不允许 CSS 构造表面。
  • 运行冒烟:默认 ?state=landscape?state=empty?state=error 分别显示同页状态;?genealogyId=1001 显示节点并点选进入 T03。
  • 更新全量路由契约至 54,更新交接/P00/规划;截图至少包含 tree、empty、error 与 412×915 tree。