Files
jiapuapp/docs/design/G08-G10_入谱申请链路_设计记录.md
T
2026-07-15 08:31:33 +08:00

82 lines
5.2 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.
# G08–G10 入谱申请链路设计记录
> 日期:2026-07-14
> 状态:页面候选、本地模拟交互与本轮 Product Design 截图审计已完成;标记为 `[~]`,等待后续逐页视觉审核。
## 1. Product Design 工作流
- `Product Design:index`:将工作路由为现有产品的上下文确认、截图审计和实现后设计检查。
- `Product Design:audit`:本轮重新捕获 G08–G10 的表单、成功、列表、空态和 412 宽屏,不使用旧通用壳图冒充最终证据。
- ImageGen:生成 `application-record-card.png`,并在截图审计发现假按钮后精确编辑出 `application-status-card.png`
- TDD`tests/g08-g10-application-flow-contract.ps1` 与运行冒烟先因通用壳和缺少同页状态红灯,再由最小实现转绿。
## 2. 思维导图与外部参考
已查看 `C:\Users\Rain\Desktop\软件\JOB\app设计\思维导图.png``加入家谱.png`。外部参考的“加入家谱”依赖邀请码,但当前 OpenAPI 没有邀请码端点,因此不采用该流程。
当前申请链路唯一结构是:G06 公开家谱检索 → G08 填写真实身份与关系 → G09 查看自己的全部申请 → G10 管理员审核。三个阶段是不同用户任务,保留三条路由;各自的加载、空、失败、提交成功和审核结果只作为原路由状态,不再拆页。
## 3. 页面与状态
| 页面 | 独立任务 | 同页状态 |
| --- | --- | --- |
| G08 | 对某一 `genealogyId` 提交加入申请 | `form`、提交中、`success``error` |
| G09 | 当前用户查看全部申请 | `loading``list``empty``error``PENDING/APPROVED/REJECTED` 为卡内状态 |
| G10 | 当前家谱管理员审核待处理申请 | `loading``list``empty``error`;审核确认与结果留在卡内 |
G07/G08/G09 的旧 `ModulePage` 目录条目已经删除;G07 结果态继续只归 G06。
## 4. OpenAPI 功能参考
| 页面动作 | OpenAPI |
| --- | --- |
| G08 提交 | `POST /genealogy/app/genealogies/{genealogyId}/join-applies` |
| G09 我的申请 | `GET /genealogy/app/genealogies/join-applies/mine` |
| G09 撤销边界 | `DELETE /genealogy/app/genealogies/join-applies/{applyId}`;本轮页面不展示未接入的撤销按钮 |
| G10 待审核列表 | `GET /genealogy/app/genealogies/{genealogyId}/join-applies/pending` |
| G10 审核 | `PUT /genealogy/app/genealogies/{genealogyId}/join-applies/{applyId}/audit` |
OpenAPI 的申请体仍是 `JsonObject`,页面只使用已有业务能解释的 `realName``relation``message`,没有臆造邀请码、推荐人层级或多管理员审批字段。本阶段只据此安排字段、状态和动作位置;三页均使用页面内模拟数据与交互,不调用 `appApi`,不进行接口对接。
## 5. 视觉资产
- G08 复用 `g03-create-flow-panel.png` 的完整宣纸表单面,以及 `g06-search-input-wide.png` 的完整输入框皮肤;没有复制近似资产。
- `application-record-card.png`1050×360、24 位 RGB、不透明;右下留双审核槽,只供 G10 列表。
- `application-status-card.png`1050×360、24 位 RGB、不透明;移除双审核槽,供 G09 列表和 G09/G10 空/失败状态。
- 主次操作分别使用 `a01-primary-button.png``a01-secondary-button.png`CSS 只负责位置、文字和点击层。
## 6. 截图证据
- G08`screens/runtime/2026-07-14/g-module-audit/applications/01-g08-form-360x800.png``02-g08-success-360x800.png``03-g08-form-412x915.png`
- G09`04-g09-list-360x800.png``05-g09-empty-360x800.png`
- G10`06-g10-list-360x800.png``07-g10-empty-360x800.png``08-g10-list-412x915.png`
- 同画布对照:`09-g08-form-success-comparison.png``10-g09-list-empty-comparison.png``11-g10-list-empty-comparison.png`
## 7. Product Design 审计结果
### 强项
1. G08 表单在 360/412 下均完整显示,姓名、关系、说明和提交按钮顺序清楚;提交后仍在 G08 显示成功结果。
2. G09 的申请状态以审核中、已通过、未通过映射接口枚举;通过项才可进入家谱。
3. G10 的拒绝/通过使用主次完整位图按钮,动作前有确认弹窗,避免误审。
4. 三页的空态均留在原路由,没有新增状态页。
### 已修复问题
- P2:第一张共享卡为审核按钮预留了两个槽,放到 G09 和空态时形成假按钮。已生成无按钮槽的状态卡并重新截图,问题消失。
- P2:运行冒烟最初在面板出现后立即查找原生输入,可能早于 `uni-input` 内部节点渲染。测试改为等待真实输入节点,再填写和点击;真实提交已到达同页成功态。
### 可访问性边界
- 截图可确认主按钮、审核按钮、表单顺序和文字未裁切。
- G10 审核按钮在 360 下仍有完整卡内点击区域,但最终 Android 真机仍需验证触摸目标、字体放大和读屏标签。
- 截图不能证明弹窗焦点管理或读屏状态播报,不宣称完整无障碍合规。
## 8. 验证
- `G08-G10-APPLICATION-FLOW-CONTRACT PASS`
- `G08-G10-APPLICATION-FLOW-RUNTIME-SMOKE PASS`,包含真实控件填写与本地模拟提交
- `PASS compile audit`
三页仅标记为候选完成,用户集中看样式前不标记为视觉冻结。