Files
jiapuapp/docs/superpowers/specs/2026-07-14-g03-create-flow-consolidation-design.md
T
2026-07-14 17:36:43 +08:00

48 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# G03 创建家谱流程收敛设计规格
## 背景与用户确认
页面与状态合并审计已判定 G04“始祖录入”是 G03“创建家谱”的后续步骤,不是可独立进入的主任务。用户于 2026-07-14 确认 G01 空状态通过,并要求继续推进已确认的收敛方案;本规格直接执行 G04→G03,不再重复请求审批。
## 目标
将创建家谱与录入首代人物收敛为唯一的 `pages/genealogy/g03-create-genealogy` 路由,以 `step=create|ancestor` 表示两步流程;删除 G04 路由和页面,同时保留原有的字段、校验、数据创建、家谱上下文和跳转至世系树的行为。
## 真实画面审视
本轮基线截图:
- `docs/design/screens/runtime/2026-07-14/route-audit/G03-before-360x800.png`
- `docs/design/screens/runtime/2026-07-14/route-audit/G04-before-360x800.png`
两页都使用相同的普通返回页头、圆角 CSS 表单卡和固定 CSS 红色底部按钮。它们的任务与结构连续,但视觉层级过于通用,且完整卡片、页头和按钮面由 CSS 构造,不符合当前位图资产规则。
## 方案与取舍
1. **推荐:G03 同路由双步骤。** `step=create` 提交成功后跳转 G03 的 `step=ancestor&genealogyId=…`;始祖提交成功后跳转 T01。路由数量从 57 变为 56,浏览器返回可回到创建步骤。采用 G01 的暖宣纸、朱砂页头和淡墨山水,表单卡使用完整不透明位图皮肤。
2. 保留 G04 仅复用视觉组件。开发量较小,但仍有两个路由承载同一创建任务,不符合已确认的页面收敛目标。
3. 两步放进同一页的本地切换而不更新 URL。实现更短,但无法深链或刷新恢复始祖录入步骤,且不利于契约测试;不采用。
## 视觉与资产
- 复用 G01 已验收的 `page-paper.jpg``footer-mountain-bamboo.png``root-header-cinnabar.jpg`、返回箭头和 `a01-primary-button.png`
- 当前仓库没有能承载家谱创建表单完整金线边框、角饰与下沿淡墨景的位图,因此使用 ImageGen 生成一个不透明的 `static/assets/modules/genealogy/opaque/g03-create-flow-panel.png`。它仅承载暖宣纸底、双古金线边框、回纹角饰、极淡云纹和底部淡墨山水;不包含文字、按钮、Logo 或透明区域。
- G03 的局部文字、字段控件和状态提示由 Vue/CSS 布局;面板、页头和按钮的完整视觉面必须是图片,不能以 CSS 绘制边框、背景或圆角。
- 创建步骤与始祖步骤共用同一面板皮肤,以保持流程连续;两步标题与输入内容不同。
## 路由与行为合同
- 仅保留 `pages/genealogy/g03-create-genealogy`;从 `pages.json` 删除 G04,删除 `pages/genealogy/g04-first-ancestor.vue`,不留兼容入口。
- `step=create` 是默认值。缺失或未知 `step` 统一回到创建步骤。
- 创建步骤仍要求姓氏与谱名;成功后调用 `appApi.createGenealogy`、写入 `genealogyContext`,跳转 `?step=ancestor&genealogyId=<id>`
- 始祖步骤从查询参数或 `genealogyContext` 读取家谱 ID,仍要求首代姓名;成功后调用 `appApi.createPerson` 并跳转 T01。
- 始祖步骤的返回操作回到 G03 默认创建步骤;默认创建步骤沿用 `uni.navigateBack()`
## 验证
1. 先写 G03 流程收敛契约,并确认其在 G04 仍存在时失败。
2. 静态契约检查唯一 G03 路由、G04 删除、两步 URL、两组校验/数据调用、位图资产与禁止 CSS 视觉面。
3. Chrome 运行时冒烟:填写创建页,真实进入始祖步骤;填写始祖,真实进入 T01;刷新带参数 URL 仍显示始祖步骤;默认 G03 仍显示创建步骤。
4. 截图 360×800、412×915;把 G03 默认态与已验收 G01 视觉基准并排审视,检查无黑角、横向裁切、图片未加载或固定按钮遮挡。
5. 运行受影响路由、资产、编译、A01/A02/A04/A05/A06/G01 回归与 `git diff --check`