Files
jiapuapp/design-qa.md
T
2026-07-16 07:58:53 +08:00

532 lines
28 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.
# Design QA — T04 新增亲属
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/T04-current-form-success-contact-720x800.png`
- viewport: 360×800;成员链路 smoke 覆盖 T04–T08 关键路由与状态
## Findings
没有遗留的 H5 P0/P1/P2 问题。新增亲属表单的关系、姓名、出生日期和性别层级清楚,成功结果与表单使用同一纸面体系。共用成员表单中残留的原生 `uni.showModal` 已替换为项目自定义冲突说明层。
## Evidence limits
当前是 H5 内部候选;关系选择器、真实保存、键盘与 Android 返回手势仍待功能阶段和设备复核,用户视觉验收尚未进行。
# Design QA — T01 世系树
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/T01-current-tree-empty-contact-720x800.png`
- viewport: 360×800;运行 smoke 覆盖横向提示、空、失败、树态、节点选择和成员档案跳转
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 树态使用横向可拖动画布表达同代支系,页面本身无横向溢出;首屏保留阅读提示、代际标识、节点层级与选中成员操作条。
- 空态说明内容产生方式,只突出“录入首代成员”;加载失败与横向提示继续由 T01 同页状态承接。
- 移除了未注册路由但仍残留的 T02 旧占位文件,T01 成为世系阅读状态的唯一所有者。
## Evidence limits
当前是 H5 内部候选,不证明真实世系接口、超大族谱性能或 Android 手势已通过;用户验收和 Android/HBuilderX 复核仍待进行。
## Implementation checklist
- [x] T01 聚焦静态合同
- [x] T01 H5 运行 smoke
- [x] 树态/空态真实运行联系表及人工审视
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户视觉验收
# Design QA — G11 家谱设置/G12 字辈诗
- G11 representative contact sheet: `docs/design/screens/handoff/2026-07-16/G11-current-form-permission-contact-720x800.png`
- G12 representative contact sheet: `docs/design/screens/handoff/2026-07-16/G12-current-list-edit-contact-720x800.png`
- viewport: 360×800;运行 smoke 覆盖列表、空、编辑、成功、失败与无权限
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- G11:名称、公开范围、访问说明保持接口可解释边界;名称错误就近显示,保存反馈为项目自定义,无权限独立表达。
- G12:列表、空、编辑、校验、保存失败、无权限均有位置;连续文本预览与缺失旧世代策略保持清晰。
- 两页均移除原生 Toast,保留现有完整纸面板、按钮和输入资产。
## Evidence limits
当前保存只更新本地候选,不证明设置/字辈接口、权限或并发编辑已经接通;Android 仍待设备复核。
## Implementation checklist
- [x] G11 表单/成功/错误/无权限与自定义反馈
- [x] G12 列表/空/编辑/校验/失败/无权限与自定义反馈
- [x] H5 真实运行烟测和联系表
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G10 入谱审核
- source visual truth path: 现有审核记录卡视觉与 `docs/验收规划.md` G10 状态合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G10-current-list-360x800.png``G10-current-no-permission-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G10-current-list-permission-contact-720x800.png`
- viewport: 360×800;运行 smoke 覆盖说明、确认和结果反馈
- state: 列表、空、失败、无权限、通过确认、拒绝确认、说明
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 审核操作:每条待审记录保留拒绝/通过,二者都必须进入自定义二次确认后才更新结果。
- 自定义反馈:顶栏审核说明、确认弹层和处理结果全部使用项目组件,已移除原生 Modal/Toast。
- 权限状态:无权限与网络失败分开表达,避免把角色限制误报成加载错误。
- 卡片信息:姓名、脱敏手机号、关系说明和提交时间保持同屏可核对。
## Evidence limits
当前审核结果只更新本地候选卡片,不证明服务端权限、并发审核、消息通知或成员身份写入已经完成。
## Implementation checklist
- [x] 列表/空/失败/无权限
- [x] 自定义通过/拒绝确认
- [x] 自定义审核说明与结果反馈
- [x] H5 真实运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G05 成员总览/公开预览
- source visual truth path: 已选 G05 总览位图与 `docs/验收规划.md` 公开/成员权限合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G05-current-member-owner-360x800.png``G05-current-public-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G05-current-member-public-contact-720x800.png`
- viewport: 360×800;运行 smoke 另查 320×568、412×915
- state: 公开预览、成员/所有者、加载、空、失败、无权限
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 公开边界:只展示身份、来源、地区、堂号、支系、上级谱和公开说明;不渲染成员统计、世系或管理入口。
- 申请入口:公开态底部唯一主操作进入 G08 搜索来源。
- 角色差异:所有者显示四个业务入口与顶栏管理;普通成员只显示世系和字辈,不显示录入、审核或设置。
- 视觉层级:世系入口不再单独用朱砂强调,保持“总览优先、世系次级”的产品层级。
- 实现边界:移除远程 API,加载/错误/无权限均为同页本地样式状态。
## Evidence limits
当前公开字段和角色由本地候选决定,不证明真实接口字段级权限、成员身份、管理权限或全局家谱上下文已接通。
## Implementation checklist
- [x] 公开预览最小字段与申请入口
- [x] 成员/所有者入口差异
- [x] loading/empty/error/no-permission 同页状态
- [x] 三档 H5 响应式与真实运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G03 创建家谱/首代人物
- source visual truth path: 现有 G03 两步题签设计与 `docs/验收规划.md` 最新创建合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G03-current-create-360x800.png``G03-current-ancestor-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G03-current-create-ancestor-contact-720x800.png`
- viewport: 360×800;运行 smoke 另查 320×568、412×915
- state: 创建表单/校验/重复建谱提醒/提交中/失败,首代恢复/校验/保存中/失败/成功
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 创建字段:姓氏、谱名、堂号、所在地和访问规则齐全,访问规则提供仅成员可见/可搜索申请两个明确候选。
- 防重复建谱:本地校验通过后先打开自定义提醒层,可先去 G06 搜索或确认继续创建。
- 中断恢复:已创建未录始祖继续使用同一路由 `step=ancestor&genealogyId=`,不重复建谱。
- 完成路径:首代保存成功显示自定义结果并进入 G05 总览,不再错误直跳 T01。
- 实现边界:移除本页远程 API 和原生 UniApp 提示,当前只审核页面样式状态。
## Evidence limits
当前创建 ID、保存结果和失败状态均为本地候选,不证明服务端创建、重复谱检索、始祖持久化或断点恢复已经接通。
## Implementation checklist
- [x] 创建字段与页内校验
- [x] 自定义已有谱提醒和访问规则候选
- [x] 两步提交中/失败/成功与中断恢复外观
- [x] 完成后进入 G05
- [x] 三档 H5 响应式与真实运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G09 我的申请
- source visual truth path: 现有申请状态题签视觉与 `docs/验收规划.md` G09 状态合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G09-current-list-360x800.png``G09-current-empty-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G09-current-list-empty-contact-720x800.png`
- viewport: 360×800;运行 smoke 同时验证交互路径
- state: 待审、通过、拒绝、撤回、修改后重提、空、失败、加载
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 状态动作:待审只显示撤回,通过只显示进入家谱,拒绝只显示修改后重新提交;状态与动作分行显示,不再重叠。
- 撤回流程:使用自定义确认层,确认后本地状态变为已撤回且不再显示审核动作。
- 来源边界:空态明确只有搜索申请进入本页,邀请码直接加入不生成审核记录。
- 路由语义:通过进入 G05;拒绝携带 `source=search&previous=rejected` 返回 G08。
## Evidence limits
当前记录和撤回结果为本地样式状态,不证明服务端撤回、审核同步、消息通知或列表现场恢复已经完成。
## Implementation checklist
- [x] 待审/通过/拒绝/撤回状态
- [x] 状态唯一动作与自定义撤回确认
- [x] 修改后重提和通过后进入家谱路径
- [x] loading/empty/error 样式与运行烟测
- [ ] 320/412 Android 真机专项复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G08 搜索申请/邀请码直加入谱
- source visual truth path: 现有入谱表单题签视觉与 `docs/验收规划.md` 双来源合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G08-current-search-360x800.png``G08-current-invite-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G08-current-search-invite-contact-720x800.png`
- viewport: 360×800;运行 smoke 另查 320×568、412×915
- state: 搜索申请/邀请直加表单、页内错误、提交中、成功、失败、来源对应下一步
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 单一来源合同:页面通过 `sourceContract` 集中管理两种来源的标题、说明、第三字段、按钮、结果和下一步,避免“申请/直接加入”文案混用。
- 字段边界:真实姓名、以已知长辈为参照的文字关系必填;没有虚构接口尚不支持的成员选择器或结构化关系。
- 搜索来源:第三字段为申请说明,成功后去 G09 查看审核进度。
- 邀请来源:第三字段为可选补充信息,明确无需审核;成功后返回 G01 并携带选中家谱。
- 错误反馈:必填错误就近显示,重复点击提交被拦截,没有原生 UniApp 提示。
## Evidence limits
当前提交结果为本地样式状态,不证明真实申请、邀请码直加、重复提交防护服务端逻辑或 G01 全局上下文刷新已经接通。
## Implementation checklist
- [x] 搜索/邀请双来源单一合同
- [x] 真实姓名与参照长辈文字关系校验
- [x] 来源对应第三字段、结果和下一步
- [x] 本地提交中/成功/失败与三档响应式
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G06 搜索/邀请码加入
- source visual truth path: 已选 G06 题签检索视觉与 `docs/验收规划.md` 最新双模式/关系状态合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G06-current-initial-360x800.png``G06-current-results-360x800.png``G06-current-invite-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G06-current-initial-results-invite-contact-1080x800.png`
- viewport: 360×800;运行 smoke 另查 320×568、412×915
- state: 搜索初始/加载/结果/空/失败/清空,邀请码初始/无效/有效目标,六种用户关系动作
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 双模式:同一路由明确区分“搜索家谱”和“邀请码加入”,从 G01 邀请入口可直接进入邀请码状态。
- 识别信息:结果卡同时展示谱名、姓氏、地区、堂号、上级谱、支系、管理/认证、成员数和更新时间,降低同名谱误选。
- 关系动作:未加入、已加入、审核中、被拒绝、已退出/移除、我创建的六种状态各只有一个明确动作,不再统一显示“可申请”。
- 公开预览:未加入用户点结果卡进入 G05 `mode=public`;申请按钮单独进入 G08 搜索来源。
- 邀请流程:无效邀请码就近显示;有效目标明确提示确认关系后直接加入、无需等待审核。
- 实现边界:移除远程 `appApi`,当前只用本地展示数据审核样式;没有原生 UniApp 提示。
## Evidence limits
当前邀请码 `JP2026` 和六种结果均为样式数据,不证明真实搜索、邀请码有效性、成员继承规则、认证信息或接口权限已经接通。
## Implementation checklist
- [x] 搜索/邀请码双模式
- [x] 详细结果字段和六种关系动作
- [x] 搜索五类状态、清空与地区筛选位置
- [x] 邀请码无效/有效目标与 G08 来源合同
- [x] 三档 H5 响应式、真实点击与联系表
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — G01 我的家谱重新审核
- source visual truth path: 历史 G01 成熟视觉基准与 `docs/验收规划.md` 最新 G01 状态合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G01-current-default-360x800.png``docs/design/screens/runtime/2026-07-16/G01-current-empty-360x800.png`
- representative contact sheet: `docs/design/screens/handoff/2026-07-16/G01-current-default-empty-contact-720x800.png`
- viewport: 360×800;运行 smoke 另查 320×568、412×915
- state: 默认三分组、空态三入口、loading、error、添加家谱弹层、当前谱切换层
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉策略:保留现有成熟的朱砂顶栏、宣纸、题签、金线图标和水墨页脚,不为重审无必要地更换风格。
- 空态分流:搜索家谱为朱砂主入口,邀请码为快捷入口,创建为三级入口并明确提示先确认无现有家谱;三者始终同屏可见。
- 默认状态:我创建的、我加入的、加入申请三组均存在,加入申请示例覆盖审核中、被拒绝和已退出的位置与语义。
- 页面操作:添加家谱不再直接跳创建页,而是打开自定义三入口弹层;当前大卡支持自定义切换层。
- 兼容性:三档无横向溢出,底部 Tabbar 保留内容安全距离;短屏正常滚动。
## Evidence limits
当前使用本地展示数据验证页面样式,不代表全局家谱上下文已经持久化,也不代表真实申请状态、接口加载、Android 返回现场恢复或用户验收完成。
## Implementation checklist
- [x] 空态搜索/邀请码/创建三入口及优先级
- [x] 默认三分组与关键申请状态
- [x] loading/error 与自定义重新加载
- [x] 添加家谱弹层和当前谱切换层
- [x] 三档 H5 响应式、真实点击与截图 QA
- [ ] 全局家谱上下文真实持久化
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — A06 阻断登录状态
- source visual truth path: A01/A04/A05 红色宗祠水墨认证系列与 `docs/验收规划.md` A06 最新产品合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A06-current-risk-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×800
- state: 账号冻结、账号停用、风险限制、未知旧状态回落、自定义恢复说明层
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 产品边界:旧 normal/failed/register/wechat 状态已移除;A06 仅保留冻结、停用、风险限制,普通登录错误继续由 A01 就近承接。
- 信息完整性:每种状态明确展示限制原因、影响范围和恢复方式,不只给出模糊失败提示。
- 视觉与反馈:保持认证系列底板和品牌印;恢复入口使用自定义说明层,不调用原生 Toast/Modal。
- 尺寸适配:三档无横向溢出,320×568 按正常比例自然滚动。
## Evidence limits
当前结论仅为 HBuilderX H5 + Chrome 内部 QA,不等于用户验收;真实状态来源、账号申诉服务、Android 返回手势和字体放大仍待功能/真机阶段。
## Implementation checklist
- [x] 只保留冻结、停用、风险限制
- [x] 原因、影响范围、恢复入口完整
- [x] 未知旧状态安全回落到风险限制
- [x] 自定义恢复说明层与返回 A01
- [x] 三档 H5 响应式和运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — A05 重设密码
- source visual truth path: A01/A04 红色宗祠水墨认证系列
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A05-current-reset-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×800
- state: 默认表单、手机号错误、发送验证码前验证、验证关闭保值、发送反馈、密码不一致、自定义成功结果
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉连续性:使用同一宗祠水墨底板、独立品牌印、朱砂主按钮和宣纸表单,旧大面板已移除。
- 流程顺序:获取验证码先校验手机号,再打开自定义行为验证;重设提交不重复验证。
- 错误与结果:四字段错误就近显示,验证码发送反馈和重设成功结果均为项目内自定义组件,不使用原生 UniApp 提示。
- 尺寸适配:三档无横向溢出,320×568 保持正常比例并自然滚动。
## Evidence limits
当前结论仅为 HBuilderX H5 + Chrome 内部 QA,不等于用户验收;真实短信、行为验证令牌、重设接口、Android 软键盘与成功后手机号回填属于后续功能/真机复核。
## Implementation checklist
- [x] A01/A04 同系列视觉与真实资产
- [x] 发送验证码前自定义行为验证
- [x] 关闭验证保留表单与自定义发送反馈
- [x] 四字段页内校验与自定义成功结果
- [x] 三档 H5 响应式和运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — A04 注册账号
- source visual truth path: A01 已选红色宗祠水墨视觉体系与 `docs/design/screens/handoff/2026-07-16/A01-current-password-sms-contact-824x915.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A04-current-register-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×800
- state: 默认注册、空表单错误、协议错误、自定义行为验证、自定义反馈
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉连续性:沿用 A01 的红色宗祠、水墨宣纸、独立 `brand-seal.png`、朱砂按钮与古金分隔,不再使用旧大厅与大面板。
- 表单层级:手机号、设置密码、确认密码三行保持清晰标签和输入提示;错误信息就近显示,不调用原生 UniApp 提示。
- 尺寸适配:三档宽高无横向溢出;320×568 按最新决定保持正常比例并自然纵向滚动。
- 流程验证:A01 注册入口、三字段校验、协议校验、自定义验证层、自定义反馈以及返回登录均通过浏览器运行烟测。
## Evidence limits
当前结论仅为 HBuilderX H5 + Chrome 内部 QA,通过不等于用户验收;Android 状态栏、安全区、软键盘、字体放大和返回手势仍需真机或模拟器复核。
## Implementation checklist
- [x] A01 同系列视觉与真实资产
- [x] 三字段就近校验与协议页内错误
- [x] 自定义验证层与反馈提示
- [x] 320×568 自然滚动、360×800 与 412×915 无横向溢出
- [x] H5 静态契约与真实运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed (internal H5 candidate QA only; user review pending)
---
# Design QA — A01 红色宗祠水墨登录页
- source visual truth path: `docs/design/screens/handoff/2026-07-16/A01-selected-password-red-hall-ink-412x915.png``docs/design/screens/handoff/2026-07-16/A01-selected-sms-red-hall-ink-412x915.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A01-password-final-412x915.png``docs/design/screens/runtime/2026-07-16/A01-sms-final-412x915.png`
- viewport: 412×915;另查 320×568、360×640、360×800
- state: 密码登录、短信验证码登录;运行 smoke 另查协议页内错误与自定义行为验证层
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-16/A01-password-compare-final.png``docs/design/screens/runtime/2026-07-16/A01-sms-compare-final.png`
- focused region comparison evidence: 全页比较以原始 412px 宽度并排显示,顶部宗祠、Logo、输入图标和协议文字均可辨认;没有需要额外放大的高密度区域。
## Findings
没有遗留的 P0/P1/P2 问题。
- 字体与层级:标题、Tab、输入文案、主按钮和辅助文案已形成与选定稿一致的层级;中文字体受 H5 系统宋体渲染影响存在轻微字形差异,归为 P3。
- 间距与布局:第二轮已扩大标题和表单节奏,协议区不再过早结束;四档宽度无横向溢出,320×568 按用户最新决定自然纵向滚动。
- 颜色与令牌:朱砂红、暗红宗祠、象牙宣纸、淡墨山水和旧金线条与选定稿一致。
- 图片质量:宗祠水墨底板为 824×1830 PNG`brand-seal.png` 独立叠放,未让生成模型重绘“谱”字;锁、闭眼瞳孔、短信气泡三点和微信均使用真实资产。
- 文案与内容:密码/短信标签、短信验证码、获取验证码、忘记密码、微信登录、注册和协议文案齐全。
- 交互与可达性:密码/短信状态切换、密码显隐、协议页内错误、自定义行为验证层均通过浏览器 smoke;截图不能证明读屏顺序和 Android 真机触摸体验。
## Comparison history
1. v1 P1:标题、Tab、输入和按钮文字明显偏小,表单整体比设计稿提前约 90px 结束;已扩大字号并重排垂直节奏。
2. v2 P2:宗祠区比设计稿高约 17px;已对新底板分段缩放,保持总尺寸不变。
3. v3 P2:短信气泡、微信图标偏小且输入图标槽位偏右;已在固定槽位内调整显示比例和视觉位移。
4. final:密码/短信同尺寸比较未发现新的 P0/P1/P2。
## Evidence limits
本轮是 HBuilderX H5 + Chrome 调试截图,不能替代 Android/HBuilderX 真机或模拟器对状态栏、安全区、软键盘、系统字体放大、读屏和返回手势的最终复核,也不代表用户已经验收。
## Implementation checklist
- [x] 密码/短信共用红色宗祠水墨底板
- [x] 独立使用现有 `brand-seal.png`
- [x] 密码锁、闭眼瞳孔和横线下方忘记密码
- [x] 短信气泡三点和获取验证码
- [x] 320×568 自然滚动与四档无横向溢出
- [x] 协议页内错误和自定义行为验证层 smoke
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收
final result: passed
---
# Design QA — G05 家谱总览
- source visual truth path: `docs/design/screens/runtime/2026-07-14/g-module-audit/before/01-g05-before-360x800.png``static/assets/modules/genealogy/opaque/g05-overview-surface.png`、外部思维导图与 `家谱主页.png` 的信息层级参考
- implementation screenshot path: `docs/design/screens/runtime/2026-07-14/g-module-audit/g05/01-g05-ready-360x800.png`
- viewport: 360×800;另查 412×915
- state: `ready`;另查 `empty``error`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-14/g-module-audit/g05/05-g05-before-after-comparison.png`
- focused region comparison evidence: 未单独裁切;合并图中 360px 单页按原始像素显示,谱名区、四宫格、近况行和底部说明文字均可直接辨认。
## Findings
没有遗留的 P0/P1/P2 问题。
- 字体与层级:谱名、核心动作、辅助说明形成三级层级;第一次审计发现元信息和说明文字偏小,已将相关字号提高到 22–23rpx 后重截。
- 间距与布局:四个点击区与位图槽位一致;360 与 412 均无横向溢出、裁切或底部操作遮挡。
- 颜色与令牌:继续使用朱砂、墨蓝、暖宣纸与古金,没有采用外部参考的灰绿色视觉。
- 图片质量:总览面、四宫格边框、分隔和底部说明面全部来自 1122×1506 不透明位图;没有用 CSS 边框、渐变、SVG 或占位图形代替。
- 文案与内容:删除了“邀请亲人→申请加入”的角色错误;保留 OpenAPI 能支持的概览、世系、始祖、字辈、审核和设置任务。
## Comparison history
1. 改前 P1:录入族人指向已删除 G04;已改为 G03 `step=ancestor`,静态契约和真实点击通过。
2. 改前 P1:管理员邀请动作错误进入申请者 G08;已删除该动作,不臆造 OpenAPI 未提供的邀请功能。
3. 改前 P2:完整卡片与面板由 CSS 拼接;已改成 ImageGen 不透明位图并验证尺寸和 alpha。
4. 首次改后 P2:部分 360 宽屏辅助文字偏小;已提高字号并重新捕获四张最终证据。
## Evidence limits
截图能够确认层级、裁切、图像质量和可见点击面积,不能单独证明读屏顺序、外接键盘焦点、Android 系统字体放大或完整 WCAG 合规;这些留给真机专项验证。
## Implementation checklist
- [x] G01 统一使用 `genealogyId` 查询键
- [x] G05 同页承载 `loading|ready|empty|error`
- [x] G04 旧路径清除
- [x] 误导邀请动作清除
- [x] 360×800 与 412×915 截图检查
- [x] 静态契约与浏览器运行冒烟通过
final result: passed
---
# Design QA — 54 路由候选覆盖审计
- 审计日期:2026-07-14
- 用户验收状态:7 个冻结页为 `[x]`;其余 47 个页面仅为 `[~]` 候选,本文件的 `passed` 只表示本轮内部截图 QA 通过,不代表用户审美验收。
- 全量候选截图:`docs/design/screens/runtime/2026-07-14/all-page-candidates/`
- G 模块证据:`g-module-audit/`
- T 模块证据:`t01-audit/``t-module-audit/`
- F01/F02/N01/M01 根页证据:`root-pages-audit/`
- 六类共享母版证据:`module-page-audit/`
## Audit summary
- 54 条最终路由已按当前信息架构覆盖;G07→G06、T02→T01 的重复状态路由已收敛。
- 候选页面继续使用宣纸、朱砂、古金、墨褐视觉体系;按钮、卡片、字段、面板和边框使用完整位图,未在共享母版中使用 CSS 伪元素或 CSS 构造可见表面。
- 47 个待审页面均使用本地模拟数据与可操作状态,不调用 `appApi`;接口清单只用于功能位置、字段与状态语义。
- 29 个原通用壳页面逐页捕获 360×800 候选图,并按 F、R、M/N 生成模块联系表统一审视。
- F01、F02、N01、M01 根页在 360×800 与关键 412×915 下复核;底部导航、主操作和状态卡没有裁切。
- 首轮 T01 状态卡横向裁切已按契约先行修复并重截;G09/G10 假按钮槽已用独立状态位图修复;当前没有遗留的 P0/P1/P2 截图问题。
## Evidence limits
H5 Chrome 截图不能证明 Android 真机字体放大、读屏语义、系统返回手势、软键盘遮挡和所有触摸目标;这些项目不在本轮候选 QA 中冒充完成,留到用户视觉审核后的 Android 设备复核。
final result: passed (internal candidate QA only; user review pending)