Files
jiapuapp/design-qa.md
T
2026-07-16 18:13:03 +08:00

570 lines
32 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 — A01 卷轴祥云四件套 v3
- approved visual source: `docs/design/assets/a01-vnext/A01-shared-scroll-skins-with-dialog-approved.png`
- H5 runtime evidence: `tmp/a01-scroll-v3-password-412x915.png``tmp/a01-scroll-v3-toast-412x915.png``tmp/a01-scroll-v3-dialog-412x915.png`
- viewport: 412×915;自动运行 smoke 另覆盖 320×568、360×640、360×800
- scope: 登录主按钮、微信次按钮、反馈 Toast;安全验证弹窗已按用户最新决定降为流程占位,不属于最终视觉
## Findings
当前真实 H5 运行图未发现四件套相关的 P0/P1/P2 问题。
- 视觉统一:四件套均采用用户选定的“方案 2”卷轴祥云体系,主按钮为朱砂底,次按钮、Toast 与弹窗为暖宣纸底,古金边框和角饰属于同一套装饰语言。
- 资产质量:四张运行资产外角透明,没有旧按钮的白边/浅绿边;按钮与弹窗使用等比显示,Toast 使用固定切片的 `border-image`,没有整体拉伸角饰。
- 内容分层:按钮文字、微信图标、Toast 文案和弹窗内容仍由 Vue 承载,位图只负责复杂装饰表面;文字可访问性和状态切换不被烘焙进图片。
- 真实运行:412×915 的密码/短信、掩码/明文、无效手机号 Toast、协议错误和协议勾选状态均已实际触发;320×568 继续允许自然纵向滚动。
- 用户决定:2026-07-16 已明确通过除真实滑动验证外的 7 类 A01 H5 视觉状态,并确认缩小后的品牌 Logo;真实滑动验证内部视觉使用接口组件自带样式,延期到接入阶段审核。
## Evidence limits
除真实滑动验证外的 7 类 H5 状态已取得用户视觉确认,但这仍不是 A01 整页冻结。`tmp/` 截图不作为长期交接代表图;真实滑动验证组件、Android/HBuilderX 的状态栏、安全区、软键盘、字体放大、触摸和返回手势仍未复核,因此 A01 保持 `[~]`
## Implementation checklist
- [x] 四张独立 v3 资产通过 manifest、Node/Python 测试与像素质量门
- [x] A01 静态合同、透明角审计和四档 H5 运行 smoke
- [x] 用户确认 7 类非滑动验证 H5 视觉状态与缩小后的品牌 Logo
- [ ] 接入真实滑动验证组件并审核其自带样式
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 用户验收并冻结 A01 整页
final result: partially accepted (7 H5 visual states accepted; slider verification and Android review pending)
---
# 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 阻断登录状态
- archive status: 2026-07-16 用户确认当前样式没有问题,但当前流程暂时不用该页;已从 `pages.json` 和活动验收队列移除,源码、测试和证据保留。
- source visual truth path: A01/A04/A05 红色宗祠水墨认证系列与 `docs/验收规划.md` A06 最新产品合同
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A06-current-risk-v2-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×640、360×800
- state: 账号冻结、账号停用、风险限制、未知旧状态回落、自定义恢复说明层
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 产品边界:旧 normal/failed/register/wechat 状态已移除;A06 仅保留冻结、停用、风险限制,普通登录错误继续由 A01 就近承接。
- 信息完整性:每种状态明确展示限制原因、影响范围和恢复方式,不只给出模糊失败提示。
- 视觉与反馈:Logo 已同步 A01 的 `184×221rpx` 槽位;页面继承全局楷体,标题分隔、两处朱砂按钮和恢复卷轴均使用 A01 新资产,不再引用旧按钮或旧面板。
- 尺寸适配:四档无横向溢出,320×568 与 360×640 按正常比例自然滚动。
## Evidence limits
当前结论仅说明用户对封存前 H5 样式没有异议,不等于完整页面验收或冻结;真实状态来源、账号申诉服务、Android 返回手势和字体放大均未验证。封存期间运行 smoke 明确 SKIP;恢复路由后必须重新执行。
## Implementation checklist
- [x] 只保留冻结、停用、风险限制
- [x] 原因、影响范围、恢复入口完整
- [x] 未知旧状态安全回落到风险限制
- [x] 自定义恢复说明层与返回 A01
- [x] A01 新 Logo、全局字体、标题分隔、两处按钮和恢复卷轴
- [x] 封存前四档 H5 响应式和运行烟测
- [x] 从活动路由和验收表移除,源码/测试/证据保留
- [ ] Android/HBuilderX 真机或模拟器复核
- [ ] 恢复路由后的用户逐态验收
final result: archived (H5 style had no user objection; not an accepted or frozen active page)
---
# Design QA — A05 重设密码
- source visual truth path: A01/A04 已确定的红色宗祠水墨认证系列与 `docs/design/screens/handoff/2026-07-16/A01-current-password-sms-contact-824x915.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/A05-current-reset-v2-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×640、360×800
- state: 默认表单、手机号错误、滑动验证待接入 Toast、全字段错误、密码不一致、自定义成功结果
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉连续性:Logo 已同步 A01 的 `184×221rpx` 槽位;页面继承全局楷体,标题分隔、页面主按钮、成功结果按钮和 Toast 均迁移到 A01 新资产体系。
- 流程边界:获取验证码先校验手机号;通过后只提示“滑动验证待接口接入”,不再用旧面板伪造验证完成、验证码已发送或重新获取状态。
- 错误与结果:四字段错误继续就近显示;成功结果使用新卷轴容器和新版朱砂按钮,不调用原生 UniApp 提示。
- 尺寸适配:四档无横向溢出;320×568 和 360×640 保持正常比例并自然纵向滚动。
## Evidence limits
2026-07-16 用户已逐态确认当前 7 类 H5 视觉状态。真实滑动验证使用接口组件自带样式;真实短信、重设接口、Android 状态栏、安全区、软键盘、字体放大和返回手势属于后续功能/真机复核。返回 A01 后回填手机号并聚焦密码框由用户明确延期到真实重置接口链路接入时解决,不阻塞当前样式验收。
## Implementation checklist
- [x] A01/A04 同系列 Logo、全局字体、标题分隔、按钮与 Toast
- [x] 移除旧验证面板和伪验证码发送状态
- [x] 手机号通过后使用滑动验证待接入反馈并保留表单
- [x] 四字段页内校验与自定义成功结果
- [x] 四档 H5 响应式和真实运行烟测
- [x] 用户确认当前 7 类 H5 视觉状态(接口回流数据与焦点延期)
- [ ] Android/HBuilderX 真机或模拟器复核
final result: user H5 visual review passed for implemented states; real slider, interface return data/focus and Android 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-v2-412x915.png`
- viewport: 412×915;运行 smoke 另查 320×568、360×640、360×800
- state: 默认注册、空表单错误、协议错误、协议勾选、新版自定义反馈
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉连续性:Logo 已同步 A01 的 `184×221rpx` 槽位;标题分隔、朱砂主按钮和 Toast 已迁移到 A01 新资产体系,页面统一继承全局楷体,不再引用旧按钮、旧 Toast 图片层或旧验证面板。
- 表单层级:手机号、设置密码、确认密码三行保持清晰标签和输入提示;错误信息就近显示,不调用原生 UniApp 提示。
- 尺寸适配:三档宽高无横向溢出;320×568 按最新决定保持正常比例并自然纵向滚动。
- 流程验证:A01 注册入口、三字段校验、协议校验、新版 Toast 反馈以及返回登录均通过浏览器运行烟测;完整本地校验后只提示“滑动验证待接口接入”。
## Evidence limits
2026-07-16 用户已逐态确认当前可实现的 8 类 H5 视觉状态;真实滑动验证使用接口组件自带样式,注册成功/失败真实链路留到接口阶段审核。Android 状态栏、安全区、软键盘、字体放大和返回手势仍需真机或模拟器复核,因此 A04 继续保持 `[~]`,不冻结。
## Implementation checklist
- [x] A01 同系列视觉与真实资产
- [x] 三字段就近校验与协议页内错误
- [x] A01 新 Logo、标题分隔、主按钮、Toast 与全局字体
- [x] 移除非最终自定义验证层,保留滑动验证待接入反馈
- [x] 320×568 自然滚动、360×640、360×800 与 412×915 无横向溢出
- [x] H5 静态契约与真实运行烟测
- [ ] Android/HBuilderX 真机或模拟器复核
- [x] 用户确认当前 8 类 H5 视觉状态(真实滑动验证与接口结果态除外)
final result: user H5 visual review passed for implemented states; real slider, interface result states and Android 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)