31 lines
2.2 KiB
Markdown
31 lines
2.2 KiB
Markdown
# 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 只叠放真实文本、滚动和点击层,避免新增语义重复资产。
|
||
- `landscape`、`empty`、`error` 使用画布内留白与现有透明云纹,不再生成一个通用状态卡页。
|
||
|
||
## 契约与验证
|
||
|
||
- 先红灯:T01 存在且 T02 路由/文件不存在;T01 有四态、三类完整位图、成员资料与新增亲属跳转;节点和信息条不允许 CSS 构造表面。
|
||
- 运行冒烟:默认 `?state=landscape`、`?state=empty`、`?state=error` 分别显示同页状态;`?genealogyId=1001` 显示节点并点选进入 T03。
|
||
- 更新全量路由契约至 54,更新交接/P00/规划;截图至少包含 tree、empty、error 与 412×915 tree。
|