Files
jiapuapp/design-qa.md
T
2026-07-20 06:52:23 +08:00

1354 lines
85 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 — G 模块公共 C 背景贴底自适应
- source visual truth path: `design-pipeline/generated/g01-background/g01-list-background-direction-c.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G01-shared-c-bottom-412x915.png`;超高屏压力证据 `G01-shared-c-bottom-412x1000.png`
- viewport: 412×915;另查 320×568、360×640、360×800,并增加 412×1000 压力测试
- state: G01 默认三分组列表,公共 C 背景按宽度等比完整显示并固定贴底,上方宣纸底承接
- full-view comparison evidence: 同一比较输入内打开 C 原始输出与 412×915 真实 H5 截图,核对左右竹枝、左侧亭台、下方山水均完整保留并落在列表下半区,没有 `aspectFill` 横向裁剪
- focused region comparison evidence: 另查 320×568、360×640、360×800、412×1000,确认图片宽度始终等于视口宽度、高度保持 2:3、底边贴合视口底部,高屏多出的宣纸区位于上方且不纵向拉伸
## Findings
当前没有公共 C 背景贴底自适应相关的 P0/P1/P2 问题。
- 字体与层级:背景没有烘焙文字,页面原有标题、卡片和状态文字保持独立节点;中央低对比留白没有削弱主要层级。
- 间距与布局:背景固定贴底后,亭台、湖面和山体承托“我创建的”“我加入的”“加入申请”区域;高屏多出的宣纸区移动到当前家谱卡片和快捷入口附近,主要被内容覆盖。内容与 Tabbar 尺寸未改变,四档视口没有新增横向溢出或主操作裁切,320×568 保持自然纵向滚动。
- 色彩:暖宣纸、淡金竹影和灰褐山水与现有朱砂、古金、墨褐体系一致;审核中和被拒绝状态色仍可识别。
- 图片质量:公共运行资产与 C 构建输出 SHA-256 完全一致,使用 `widthFix` 保留完整 2:3 画面,没有 `aspectFill` 裁剪、`scaleToFill` 拉伸、透明边或绿幕残留。
- 文案与内容:本轮只替换背景,不改变 G01 的谱名、分组、申请状态或操作文案。
## Comparison history
1. 首轮截图只有宣纸色,定位为页面缺少公共组件显式 import;加入契约后补齐 9 页 import。
2. 第二轮顶部对齐截图完整显示左右画面,但图片结束后的纯宣纸区落在“加入申请”下半区,用户要求继续优化。
3. 第三轮只使用现有 C 图并改为固定贴底;四档截图中下半区空白显著减少,同轮源图/实现对照没有发现 P0/P1/P2 差异。
4. 用户确认额外增加 412×1000 超高屏压力测试;真实截图中新增高度落在当前家谱卡片和快捷入口附近,下方山水继续覆盖列表,未发现横向溢出、裁剪或拉伸。
## Evidence limits
本段仅记录已经被后续旗舰长背景替代的公共 C 背景贴底历史候选。固定区/独立滚动结构已在后续同日形成新的 H5 候选;G01 整页与 Android/HBuilderX 真机或模拟器仍未验收。
final result: passed
---
# Design QA — M01M10 全状态视觉候选(2026-07-17
- source visual truth path: `docs/superpowers/specs/2026-07-17-m-series-all-states-visual-design.md`
- runtime evidence: `docs/design/screens/runtime/2026-07-17/m01/``m10/`
- responsive evidence: `docs/design/screens/runtime/2026-07-17/responsive-series/`
- primary viewport: 412×915
- states: M01 2 态、M02M10 共 36 态、3 个设置项提示,共 41 张内部状态截图
## Findings
- M01 原无内容红框已替换为已确认的真实“谱”印资产;身份、待办、菜单和错误说明的字号与对比度已提高。
- M02–M10 的表单、设置、详情、服务状态及空/成功/错误态均未见文字截断、按钮遮挡或背景错位。
- M03、M06、M10 设置项点击提示复用 A 系列 `AppToast`,内容与点击项目一致。
- 另以 320×568、360×640、360×800、412×915 对 F/R/N/M 的六类公共母版和四个专属根页执行真实运行与几何检查;30 张补充截图未见横向裁切,320×568 保留自然纵向滚动。
## Evidence limits
- 当前仅为 H5 内部候选,不代表用户逐页验收或 Android/HBuilderX 真机验收;接口仍未接入。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — N01N02 全状态视觉候选(2026-07-17
- source visual truth path: `docs/superpowers/specs/2026-07-17-n-series-all-states-visual-design.md`
- runtime evidence: `docs/design/screens/runtime/2026-07-17/n01/``n02/`
- viewport: 412×915
- states: N01 6 态、N02 4 态,共 10 张内部截图
## Findings
- N01 消息标签、摘要和状态说明已提高可读性;原先左侧悬空的次按钮已改为内容区整行规格。
- 单条已读、全部已读和全部已读 `AppToast` 均由真实点击触发,列表状态更新正确。
- N02 四态与通知模块背景一致,详情、空态、成功、错误均未出现文字或按钮冲突。
## Evidence limits
- 当前仅为 H5 内部候选,不代表用户逐页验收或 Android/HBuilderX 真机验收;接口仍未接入。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — R01R11 全状态视觉候选(2026-07-17
- source visual truth path: `docs/superpowers/specs/2026-07-17-r-series-all-states-visual-design.md`
- runtime evidence: `docs/design/screens/runtime/2026-07-17/r01/``r11/`
- viewport: 412×915
- states: 44 个页面状态,加 5 个列表点击提示,共 49 张内部截图
## Findings
- R01–R11 的列表、详情、四字段表单与时间线均保持档案模块独立的书卷笔墨背景。
- 默认、空、成功、错误四态均使用真实标题和操作文案,未见标题折断、表单越界、按钮遮挡或底部背景断层。
- 五个可点击列表的 `AppToast` 均复用 A 系列已确认样式,提示内容与所点记录一致。
## Evidence limits
- 当前仅为 H5 内部候选,不代表用户逐页验收或 Android/HBuilderX 真机验收;接口仍未接入。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — F01F10 全状态视觉候选(2026-07-17
- source visual truth path: `docs/superpowers/specs/2026-07-17-f-series-all-states-visual-design.md`
- runtime evidence: `docs/design/screens/runtime/2026-07-17/f01/``f10/`
- viewport: 412×915
- states: F01 4 态、F02 4 态、F03F10 各 4 态,另含 F04/F07 列表点击提示,共 42 张内部截图
## Findings
- F01 的动态标签、摘要、作者和空/错态说明已提高字号与对比度,信息流卡片未出现拥挤或越界。
- F02 的表单说明、输入提示、成功/错误说明已提高可读性;空内容提示复用已确认的全局 `AppToast`
- F03–F10 的表单、列表、详情、状态说明由 `ModulePage.vue` 统一管理文字规格,保留既有浅色国风背景、金色内容框和 A 系列按钮资产。
- 42 个状态均在同一个可控 Chrome 标签页真实运行并逐张检查;未见文字截断、按钮遮挡、背景错位或状态残留。
- 截图过程曾出现一次 reload 与 DOM 检查竞争;捕获脚本改为等待 `Page.loadEventFired` 后再检查页面,没有放宽截图或测试阈值。
## Evidence limits
- 本节仅为 H5 内部候选证据,不代表用户逐页验收或 Android/HBuilderX 真机验收。
- F 系列接口仍未接入,成功/错误内容为视觉流程候选数据。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — 全模块基础视觉系统(无截图验证)
- source specification: `docs/superpowers/specs/2026-07-16-global-heritage-visual-system-design.md`
- implementation handoff: `docs/design/全模块长背景与A系列控件交接.md`
- scope: 52 个活动页面的 A 系列控件统一、普通页返回箭头、G 系列共享母体,以及 T/F/R/N/M 独立长背景
- evidence mode: 用户明确要求本轮不生成截图,因此只记录可重复构建资产、静态契约和 H5 运行 smoke,不把本节冒充视觉截图审计
## Findings
- A 系列透明卷轴按钮、对话框、Toast 和自定义 Loading 已建立统一组件;活动页面与组件中的原生 Toast、Modal、Loading、ActionSheet 调用以及旧不透明 A01 按钮引用均已清零。
- G 系列继续消费既有 G01 公共长背景;G01 元数据、角色和更新时间文字提高字重与对比度。T/F/R/N/M 分别消费独立的 1440×3600 RGB 长背景,并共享浅色国风主题。
- 普通页面标题栏以真实左箭头替代“返回”文字;根页面品牌标题栏保持原结构。
- 静态契约与无截图 H5 运行 smoke 覆盖 G、T、根页面及共享 ModulePage 的主要状态、按钮事件、导航和自定义弹层。
## Evidence limits
- 本轮没有生成或比较新的实现截图,不能据此宣称逐页视觉 QA 已完成。
- 52 页仍全部为内部基础候选,尚未获得用户逐页正式验收。
- Android/HBuilderX 的系统字体、状态栏、返回手势、软键盘以及 4GB 设备长图解码与回收仍待验证。
final result: contract/runtime passed (visual review and Android verification pending)
---
# 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/assets/a01-vnext/source/A01-layered-source-v1.psd`;长期实现代表证据为 `docs/design/screens/handoff/2026-07-16/A01-current-password-sms-contact-824x915.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)
# Design QA — G01 旗舰长屏公共背景
- source visual truth path: `static/assets/modules/genealogy/opaque/genealogy-page-background-long.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G01-shared-long-background-412x915.png`
- additional responsive evidence: `G01-shared-long-background-320x568.png``360x640.png``360x800.png``412x1000.png`(同目录)
- viewport: 412×915;另查 320×568、360×640、360×800、412×1000
- state: G01 默认三分组列表,公共背景固定贴底
- full-view comparison evidence: 同一比较输入内打开 1440×3600 源图与 320×568、412×915、412×1000 实现截图,核对全屏覆盖、画面连续性和响应式裁切
- focused region comparison evidence: 不另做局部裁图;横向分界线、左右边缘、顶部竹枝和底部山水在全尺寸原图及原像素实现截图中均可直接辨认
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 字体与排版:本轮未改变页面字体、字号、行高和文案;背景中央保持低对比,未压低标题、卡片和状态文字可读性。
- 间距与布局:背景层固定全屏且不参与布局;320×568 允许自然滚动,五档均无横向溢出,底栏未被背景层遮挡。
- 颜色与视觉令牌:暖灰宣纸、淡金竹影和灰褐山水连续覆盖视口;旧 C 图与 `#e7ded1` 的明显横向拼接线不再出现。
- 图片质量与资产一致性:原稿、1536×3840 母版和 1440×3600 运行图均为真实位图;`widthFix` 保证左右完整且不拉伸,短屏只裁顶部安全区。
- 文案与内容:背景无文字、Logo、UI、按钮或红色污染;页面现有业务文案未改变。
- 交互与运行:G01 空态、添加弹层、当前家谱切换、loading/error 和五档响应式 smoke 通过;截图脚本检查浏览器异常和 `console.error`
## Comparison history
1. 旧方案 P1:1024×1536 C 图固定贴底,高屏上方由纯色宣纸承接,出现明显横向分界线。
2. 当前方案:用户确认连续长图后,改用 1440×3600 单张背景覆盖最高压力档;五档复核未见分界线、左右裁切或拉伸。
## Evidence limits
当前结论只覆盖 HBuilderX H5 + Chrome 内部候选。尚未完成 Android/HBuilderX 真机或模拟器复核,也未验证 4GB Android 上约 19.8MiB 解码内存、切页和回收;本结论不表示 G01 整页验收或冻结。
## Implementation checklist
- [x] 用户确认旗舰长屏方向
- [x] 原稿、归一化母版、运行图和清单可恢复
- [x] 9 个活动 G 页面仍只使用一个共享背景组件
- [x] 五档 H5、背景静态契约和 G 页面运行 smoke
- [ ] Android/HBuilderX 与 4GB Android 图片性能复核
- [x] G01 固定区/独立滚动方向已确认并形成五档 H5 候选
- [ ] G01 整页用户验收
final result: passed
---
# Design QA — G01 固定信息区与独立列表滚动
- source visual truth path: `docs/superpowers/specs/2026-07-16-g01-fixed-header-independent-list-scroll-design.md`
- interactive design reference: `.superpowers/brainstorm/120-1784206869/content/g01-scroll-layout-comparison.html`(本机可再生成设计会话,不作为长期交接证据)
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G01-fixed-list-scroll-412x915.png`
- additional responsive evidence: `G01-fixed-list-scroll-320x568.png``360x640.png``360x800.png``412x1000.png`(同目录)
- viewport: 412×915;另查 320×568、360×640、360×800、412×1000
- state: 已有家谱正常态,列表滚动 135px;另查添加家谱弹层、切换家谱回顶、loading、error、empty
- full-view comparison evidence: 同一比较输入内打开改前 412×915、改后 320×568、改后 412×915 和改后 412×1000,核对固定范围、列表裁切边界、底栏和背景连续性
- focused region comparison evidence: 固定区和列表边界在原像素全页图中可直接辨认;运行 smoke 另以元素矩形坐标验证滚动前后固定元素位移不超过 1px,因此不另建局部裁图
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 字体与排版:标题、当前谱名、快捷入口、分组标题、卡片和申请状态的字体、字号与行高未改变;320×568 未压缩字号。
- 间距与布局:标题栏、当前家谱卡、四快捷入口、金色分隔线和底部导航固定;三组标题、卡片及“添加家谱”在单一滚动区内移动。加入申请相邻卡继续保持 `12rpx`
- 颜色与视觉令牌:未改变朱砂、古金、暖宣纸和状态色;滚动边界没有增加阴影、渐变或新的视觉层。
- 图片质量与资产一致性:公共 1440×3600 长背景继续固定全屏,不随内部列表滚动;现有卡框、谱印、快捷图标、分隔线和底栏资产未替换、裁切或拉伸。
- 文案与内容:页面文案、分组顺序、申请状态和“添加家谱”入口未改变。
- 交互与运行:五档运行 smoke 验证固定元素位置变化不超过 1px、列表内容确实位移、滚到底可完整点击“添加家谱”;弹层开关保持列表位置,切换当前家谱后回顶。loading、error、empty 保持原布局。
## Comparison history
1. 改前:整个 G01 内容随页面滚动,当前家谱与四快捷入口会离开视口。
2. 可操作示意稿:用户选择“上方固定、下方列表独立滚动”,并确认异常状态继续使用原布局。
3. 实现后:五档 H5 均形成可计算的列表高度,固定区不移动;未发现横向溢出、底栏遮挡或滚动穿透。
## Evidence limits
当前结论只覆盖 HBuilderX H5 + Chrome 内部候选。Android/HBuilderX 真机或模拟器上的惯性、短暂系统滚动指示条、状态栏、安全区、返回现场和 4GB 设备性能仍未验证;用户已查看本次实际 H5 实现并确认共享背景浓度,但未给出 G01 整页正式验收,因此不表示 G01 已验收或冻结。
## Implementation checklist
- [x] 正常态上方固定、列表单独滚动
- [x] loading/error/empty 保持原布局
- [x] 五档尺寸、弹层位置保持、切换家谱回顶、底部入口可达
- [x] 公共背景图片画层按后续确认统一调整为 28% 不透明度,页面结构与背景资产不变
- [x] 用户查看实际 H5 页面
- [ ] Android/HBuilderX 与 4GB Android 性能复核
- [ ] G01 整页验收
final result: passed
---
# Design QA — G 模块公共背景 28% 不透明度
- source visual truth path: `docs/superpowers/specs/2026-07-16-genealogy-background-opacity-design.md`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-16/G01-fixed-list-visible-audit-412x915.png`
- additional responsive evidence: `G01-fixed-list-scroll-320x568.png``360x640.png``360x800.png``412x915.png``412x1000.png`(同目录)
- viewport: 412×915 初始位置;另查五档滚动状态
- state: G01 已有家谱正常态,共享长背景图片画层使用 `opacity: 0.28`
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 视觉层级:竹枝、山水和亭台退为淡水印,标题、卡框、文字、状态色和底部导航保持原有不透明度。
- 布局与图片:背景继续 `widthFix` 固定贴底,左右完整显示;五档未新增横向溢出、接缝、底栏遮挡或滚动结构变化。
- 组件边界:透明度由 `GenealogyPageBackground.vue` 单一持有,9 个活动 G 页面没有页面级覆盖;运行 PNG 和可恢复母版未重制。
- 运行:共享背景契约完成 RED/GREEN/回归证明;G01、G03、G05、G06、G08G10、G11G12 六组运行 smoke 通过。
## Evidence limits
当前仅覆盖 H5 + Chrome 内部候选。用户确认的是 28% 背景浓度,不等于 G01 或其他 G 页面整页验收;Android/HBuilderX 与 4GB Android 长图解码、切页和回收仍待复核。
final result: passed (internal candidate QA only)
---
# Design QA — F01 快捷入口两列布局(已淘汰,2026-07-19)
- source screenshot: `docs/design/screens/runtime/2026-07-19/f01-baseline-redesign/01-list-412x915.png`
- implementation screenshot: `docs/design/screens/runtime/2026-07-19/f01-baseline-redesign/02-list-shortcuts-grid-412x915.png`
- combined comparison: `docs/design/screens/runtime/2026-07-19/f01-baseline-redesign/03-shortcuts-before-after.png`
- responsive evidence: `docs/design/screens/runtime/2026-07-19/f01-baseline-redesign/04-list-320x568.png`
- viewport: 412×915;补查 320×568
## Findings
复审发现该候选存在 P1 视觉层级问题,已淘汰。
- 四组卷轴端头和装饰线重复堆叠,视觉重量超过标题并挤压内容卡层级。
- 两列中间形成明显断口,呈现为四条被切开的装饰线,不像自然的导航入口。
- 该候选随后由“单个全宽卷轴导航条”替代,不作为通过证据。
## Evidence limits
该段只记录淘汰原因;Android/HBuilderX 真机或模拟器仍未验证。
final result: failed (superseded)
---
# Design QA — F01 单框四列快捷入口(2026-07-19
- rejected screenshot: `docs/design/screens/runtime/2026-07-19/f01-shortcut-reaudit/01-current-412x915.png`
- implementation screenshot: `docs/design/screens/runtime/2026-07-19/f01-shortcut-single-strip/01-list-412x915.png`
- combined comparison: `docs/design/screens/runtime/2026-07-19/f01-shortcut-single-strip/02-rejected-vs-single-strip.png`
- responsive evidence: `docs/design/screens/runtime/2026-07-19/f01-shortcut-single-strip/07-list-320x568-clean.png`
- viewport: 412×915;补查 320×568
## Findings
当前没有快捷入口相关的 H5 P0/P1/P2 问题。
- 四个入口共用一张真实 A 系列次级卷轴资产,只保留一套端头与外框,装饰密度明显下降。
- 四项文字在同一完整导航条内等宽排列,标题区到第一张动态卡的节奏恢复连续。
- 每项点击高度为 48px,不低于 44px;320px 宽度下没有文字裁切或横向溢出。
- 快捷名称、点击事件、目标路由以及页面其他内容均未改变。
## Evidence limits
F01 正常列表、加载、空和失败四态已于 2026-07-19 获得用户明确通过;Android/HBuilderX 真机或模拟器仍未验证。
final result: passed (user accepted H5; Android pending)
---
# Design QA — G01 可拉伸“切换当前家谱”弹层(2026-07-19)
- source visual truth path: `docs/superpowers/specs/2026-07-19-g01-switch-genealogy-dialog-design.md`
- source asset: `static/assets/modules/auth/transparent/a01-scroll-dialog-v3.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/06-switch-dialog-stretchable-412x915.png`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/06-switch-dialog-before-vs-stretchable.png`
- responsive evidence: `06-switch-dialog-stretchable-320x568.png``06-switch-dialog-stretchable-360x640.png``06-switch-dialog-stretchable-360x800.png``06-switch-dialog-stretchable-412x915.png`
- stress evidence: `06-switch-dialog-stretchable-six-items-412x915.png`
- viewport: 320×568、360×640、360×800、412×915
- state: G01 正常列表态上的“切换当前家谱”弹层;最终审批现场为 412×915、两条真实数据
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 字体与层级:标题使用现有楷体红色标题体系;家谱名称、地区/人数与“当前/选择”形成三级层级。四档原尺寸截图中文字均完整,无换行、截断或装饰压字。
- 间距与布局:两条数据时外框为 `600rpx + 2px` 边框的最低高度并居中;末项紧贴列表内容,不再出现旧版约 193px 的无效底部空白。六条时弹层由约 332px 自然增至约 553px;十二条时在 412×915 封顶约 848px,列表从 `665px` 可视高度进入独立滚动。
- 色彩与视觉令牌:继续使用项目既有朱红、墨色、金色与宣纸色,没有引入新的色板;遮罩保持 `rgba(34, 20, 12, 0.58)`,当前项使用低透明朱红底与细边框。
- 图片与资产:完整复用 `a01-scroll-dialog-v3.png`,以 `border-image-slice: 300 260 360 260 fill` 九宫格切片;顶部祥云和底部山水保持固定装饰区,仅中部宣纸随内容拉伸。关闭入口复用现有 `g01-dialog-close.png`,没有 CSS 绘图、文本符号或临时占位。
- 文案与内容:保留“切换当前家谱”、两条真实家谱名称、地区、人数及“当前/选择”,未增加解释性废话。
- 可用性:关闭图标使用 80rpx 点击画布并带 `aria-label`;实测内部点击不关闭、关闭图标关闭、遮罩关闭、选择第二项更新当前家谱并关闭,随后恢复第一项。Android 返回优先关闭切换弹层的代码合同已覆盖。
- 响应式与压力态:四档均无横向溢出,两条数据不滚动;六条自然增高且不滚动;十二条封顶后列表可从顶部滚到底部,标题与关闭入口不随列表滚动。
- 运行质量:9222 中仅有一个 `localhost:5173` 项目标签页;本轮刷新、四档、压力态和交互过程中未捕获运行时异常或 4xx/5xx 资源响应。
## Comparison history
- 初始审查发现:标题压住顶部边框/祥云;约 193px 底部空白导致内容重心上浮;没有显式关闭入口;固定 `aspectFit` 整图不能支持后续更多条目。
- 修正:移除固定比例整图节点,改为单张完整 PNG 九宫格背景;标题移入安全区,增加图片关闭图标;列表高度按内容增长并在安全上限滚动。
- 修正后证据:同尺寸前后对比见 `06-switch-dialog-before-vs-stretchable.png`;412×915 两条和六条原图分别见 `06-switch-dialog-stretchable-412x915.png``06-switch-dialog-stretchable-six-items-412x915.png`。未发现需要继续修正的 P0/P1/P2。
## Focused region evidence
未另做裁切图:412×915 原尺寸实现截图已经能清楚读取标题、关闭图标、两行名称/元信息、当前态边框及四角/底部装饰,继续裁切不会增加可判断信息;六条压力原图用于单独检查中段拉伸和底部山水。
## Evidence limits
- 本节只代表 H5 内部候选设计 QA;用户尚未明确通过当前“切换家谱弹层”,因此没有将 G01 标记为验收或冻结。
- Android/HBuilderX 真机或模拟器、系统字体、返回手势、触摸精度、GPU 对九宫格边缘的采样仍未验证。
- 十二条压力态通过同一标签页的临时 DOM 克隆验证布局与滚动,未修改真实模拟数据,也不代表接口对接完成。
final result: passed
---
# Design QA — G01 添加家谱弹层最低高度、内容居中、按钮间距与等宽(2026-07-19)
- source visual truth path: `docs/superpowers/specs/2026-07-19-g01-add-genealogy-bottom-sheet-design.md`(用户确认内容整体居中、`24rpx` 按钮间距,并选择以红色主按钮的可见宽度为三个按钮的统一基准)
- before screenshot: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-centered-min-gap24-412x915.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-equal-width-412x915.png`
- responsive evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-equal-width-320x568.png`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-gap24-unequal-vs-equal-width.png`
- pressure evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-equal-width-six-buttons-412x915.png`
- viewport: `412×915`
- state: G01 正常列表上的“添加家谱”底部弹层
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 第一轮 P2:说明文字与首个按钮之间只有约 `2.20px`;首次调整到 `10.98px` 后,弹层仍只有约 `280.31px`,用户确认整体偏矮。
- 第二轮 P2:弹层提高到约 `342.58px` 后,用户用箭头明确要求可见弧形上沿继续上移,并确认标题、说明和按钮作为整体居中。
- 第三轮修复:三按钮状态使用 `780rpx` 最小高度,新增 `add-dialog__body` 通过上下自动边距安全居中;关闭图标改为跟随标题定位。最大高度和内容滚动合同保持不变。
- 第四轮 P2:用户指出三个按钮之间的 `6rpx` 间距仍显拥挤,并在 `16rpx / 20rpx / 24rpx` 三档中选择第三档;相邻按钮间距只调整为 `24rpx`,未改变按钮资产、宽度或弹层高度合同。
- 第五轮 P2:三个按钮根容器均为 `388.03px`,但主按钮资产为 `1866×276`、次按钮资产为 `1866×300`,相同高度下使用 `aspectFit` 导致红色皮肤可见宽度约 `326.84px`、米色皮肤约 `300.61px`。用户选择以红色主按钮为等宽基准。
- 修复后证据:仅在 G01 动作组内使用 `595rpx × 96rpx` 响应式按钮容器;412×915 下三个按钮根容器及皮肤可见宽度均为 `326.84px`left/right 偏差为 0。弹层仍约 `430.47px`;内容上下空间约 `79.36px``79.34px`,中心偏差约 `0.02px`;相邻按钮间距均约 `13.17px`
- 字体与排版:标题、说明和按钮字形、字号、层级均沿用现有设计,无新增漂移。
- 间距与布局:标题、说明和按钮组整体居中,关闭图标与标题同步移动;`320×568` 下三个按钮宽度均为 `253.86px`,上下空间均约 `61.45px`,相邻按钮间距均约 `10.23px`,完整可见且无横向溢出。
- 色彩与视觉令牌:遮罩、红金按钮、宣纸底色与既有候选一致。
- 图片质量与资产:继续使用完整可拉伸底板、现有关闭图标及两张原始按钮 PNG;按钮皮肤保持 `aspectFit`,未横向拉伸、重绘或生成替代资产。
- 文案与内容:标题、说明及三个操作文案未变。
- 内容扩展:六按钮压力状态自然增长到约 `576.95px`,上下空间同为约 `53.73px`,六个按钮宽度均为 `326.84px`,五处间距均约 `13.17px`18 按钮状态封顶约 `871.05px`,初始滚动位置为 0、标题可达,滚动范围约 `495px`,末项可到达可视区。
- 聚焦区域无需另做裁切:并排证据中弹层占据画面下半部,标题、说明、间距、关闭图标和三个按钮均可直接辨认。
## Comparison History
1. 旧候选的相邻按钮间距为 `6rpx`,在当前最低高度和按钮纹样下显得拥挤。
2. 用户要求继续增大间隔,并在三档方案中选择第三档 `24rpx`;实现只修改相邻按钮间距。
3. 修复后的同尺寸并排证据显示按钮分组更清晰,同时最低高度、安全居中、按钮资产和关闭布局均保持不变。
4. 用户指出三个按钮可见宽度不一致;运行时确认根容器等宽但资产纵横比不同,`aspectFit` 产生约 `26.23px` 可见宽度差。
5. 用户选择以红色主按钮宽度为准;G01 局部容器比例调整后,同尺寸并排证据显示三个卷轴端点对齐,公共按钮组件、原始资产和其他页面未改变。
## Interaction Evidence
- 复用 9222 上唯一的 `localhost:5173` 项目标签页。
- 验证弹层内部点击不关闭、关闭图标关闭、遮罩关闭,并重新打开供用户审批。
- 本轮新鲜 reload 后由 `.create-action` 重新打开弹层;无 4xx/5xx 资源响应,控制台异常为空。
## Evidence Limits
- 当前仅为 H5 内部候选证据,尚未获得用户对本次弹层的明确“通过”。
- Android/HBuilderX 真机或模拟器仍未验证,不代表 G01 已冻结或整页完成。
final result: passed
---
# Design QA — G01 添加家谱完整可伸缩底板(2026-07-19)
- source visual truth path: `docs/design/mockups/2026-07-19/g01-add-dialog-paper-sheet-target.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-complete-sheet-412x915-approved-candidate.png`
- pressure screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-complete-sheet-pressure-412x915-v2.png`
- responsive screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-complete-sheet-320x568.png`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-complete-sheet-comparison.png`
- viewport: `412×915`;另查 `320×568`
- state: G01“添加家谱”正常三按钮状态与六按钮长内容压力状态
- focused region comparison evidence: 并排图中的弹层区域可清楚核对顶部轮廓、如意结、标题说明、关闭图标和三个按钮;压力图单独核对背景纵向扩展,无需额外裁切放大。
## Findings
当前没有仍需处理的 P0/P1/P2 差异。
- 字体与文案:标题、说明和三个操作文案与目标一致;标题与顶部金线之间已留出稳定间距,不再压住如意结或圆肩。
- 间距与布局:完整底板全宽贴底;正常态与目标稿的顶部轮廓、标题、说明和按钮纵向节奏接近。按钮可见宽度保留现有 `AppButton` 资产比例,这是用户明确要求复用现有按钮样式产生的预期差异。
- 颜色与表面:遮罩、暖白宣纸、朱砂标题和古金边线与目标一致;纸面、曲线和结饰来自同一张 `g01-add-sheet-background-v3.png`,不再存在矩形纸面与顶部过渡图接缝。
- 图片质量:完整底板为真实透明 PNG,透明外轮廓干净;未使用 CSS 图形、文字符号或手绘 SVG 冒充装饰。关闭图标继续使用独立真实 PNG。
- 伸缩:六按钮压力态的弹层高度由 `270.42px` 增至 `425.25px`,计算样式仍使用同一底板、`220 0 1 fill` 切片和固定顶部宽度;只扩展中间宣纸区域,顶部曲线与如意结未随高度拉长。
- 响应式:`320×568` 下三个按钮全部落在视口内,图片加载完成,无横向溢出。
- 交互与控制台:同一唯一 9222 项目标签页验证关闭图标、内部点击、遮罩关闭与恢复正常状态;未捕获运行时或控制台错误。
## Comparison history
1. 旧实现用矩形宣纸和单独顶部过渡图拼接,产生硬直边、纹理断层和明显的“截一部分”感。
2. 用户确认改为单张完整底板,并要求未来内容增加时高度可扩展;选定单资产九宫格伸缩,只固定顶部装饰并拉伸中间纸面。
3. 首轮完整底板运行图中标题和关闭图标压近顶部金线;增加顶部内容安全间距并重新定位关闭热区后,正常态和压力态均清晰分层。
4. 最终并排复核未发现可执行 P0/P1/P2 问题;页面恢复为 `412×915` 正常三按钮状态,等待用户审批。
## Evidence limits
本节只表示 H5 内部候选通过设计对照门,不代表用户已经通过当前弹层,也不代表 G01 已冻结。Android/HBuilderX 真机或模拟器的 `border-image` 渲染、系统字体和触摸仍未验证。
final result: passed
---
# Design QA — G01 添加家谱纸张底部弹层(2026-07-19)
- source visual truth path: `docs/design/mockups/2026-07-19/g01-add-dialog-paper-sheet-target.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-paper-sheet-412x915-final-clean.png`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-19/g01-approval/05-add-dialog-paper-sheet-comparison-v2.png`
- viewport: `412×915`;响应式补查 `320×568`
- state: G01 正常列表态之上的“添加家谱”弹层
- focused region comparison evidence: 全屏并排图中弹层区域已足够清晰,可直接核对顶部纸边、标题说明、关闭图标和三个按钮,无需另做局部放大。
## Findings
当前没有仍需处理的 P0/P1/P2 差异。
- 字体与文案:标题、说明和三个操作名称与选定目标一致,层级清楚;按钮文字继续使用项目现有 `AppButton` 规格。
- 间距与布局:弹层全宽贴底,顶部纸张曲线和中央如意结完整显示;`320×568` 下三个按钮均在首屏内,页面无横向溢出。
- 颜色与表面:遮罩、暖白宣纸、朱砂标题、古金边线与 G01 既有视觉体系一致,移除了上一版无效山水留白。
- 图片与图标:纸张顶部使用现有真实过渡资产,关闭入口使用真实透明 PNG;未使用文字叉号、CSS 图形或手绘 SVG。透明画布留白已通过显示位置与画布尺寸补偿,未见绿色残边。
- 按钮:按用户明确决定,三个按钮直接复用项目现有主/次 `AppButton` 资产,不按概念稿重新绘制,因此宽度和纹样以现有组件为准。
- 交互与可访问性:关闭热区为 `80rpx × 80rpx`,带“关闭”可访问名称;320 档实测关闭图标可关闭弹层,重新打开后 412 档保持正常。此前同一实现已验证点击弹层内容不关闭、点击遮罩关闭、列表位置不丢失。
- 浏览器证据:唯一 9222 项目标签页中完成刷新、两档尺寸与关闭交互;图片均加载完成,未捕获运行时或控制台错误。
## Comparison history
1. 首轮实现的纸边资产透明留白未被补偿,真正曲线被容器裁掉,只显示生硬直边;关闭 PNG 也因透明画布过大而仅剩约 8px 可见叉号。
2. 修正纸边图的垂直定位,并按实际透明占比调整关闭图显示画布;重新捕获后曲线、如意结和关闭图标均清晰可见。
3. 选定目标与实现并排复核:按钮宽度存在由“复用现有组件”带来的预期差异,其余未发现可执行的 P0/P1/P2 问题。
## Evidence limits
本节仅表示该弹层达到内部 H5 候选质量门,不代表用户已经通过 G01 当前状态,也不代表 G01 已冻结。Android/HBuilderX 真机或模拟器验证仍未完成。
final result: passed
---
# Design QA — G08 十状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g08/`
- states: 搜索申请默认/校验/提交中/失败/成功,邀请码直加入默认/校验/提交中/失败/成功
- viewport: 十态均为 `412×915` 真实交互截图;流程 smoke 另覆盖 `320×568``360×800``412×915`
## Findings
- 两种来源保持各自准确语义:搜索来源进入管理员审核,邀请码来源直接加入;默认、提交中和结果态没有混用文案。
- 表单、结果框、主操作继续复用既有宣纸面板、G 系列背景和 A 系列红金卷轴,不重复生成已确认资产。
- 十态逐张检查后,仅字段校验文字在插画面板上偏弱;已从 `20rpx` 提升为 `24rpx / 34rpx`,搜索与邀请码校验态重新截图后未挤压输入框或主按钮。
- 失败与成功均保留同页明确恢复/下一步操作;没有原生 Toast、Modal、Loading 或 ActionSheet。
## Evidence limits
- 当前为 H5 自主设计内部候选,未获得用户逐态确认;真实提交接口、Android/HBuilderX 软键盘、安全区、返回手势和字体缩放仍待复核。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — T07T08 七状态闭环(2026-07-17
- T07 evidence folder: `docs/design/screens/runtime/2026-07-17/t07/`(列表、加载、空、失败)
- T08 evidence folder: `docs/design/screens/runtime/2026-07-17/t08/`(隐私、纪念、无权限)
- viewport: 七态最终截图均为 `412×915`
## Findings
- T07 保留成员状态卡与搜索结构,提升搜索、人数、成员代际/支系、档案状态和空/失败说明字号;三张成员卡仍完整显示。
- T08 保留三标签与上下双面板结构,提升标签、状态摘要和说明条目字号;隐私、纪念、无权限三态未出现摘要卡溢出。
- 两页均复用现有 T 系列背景与状态卡,不生成重复资产,不接入原生系统提示。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实搜索、权限、Android/HBuilderX 输入法、字体缩放和触摸目标仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — T03T06 全状态闭环(2026-07-17
- T03 evidence folder: `docs/design/screens/runtime/2026-07-17/t03/`(详情、加载、失败)
- T04 evidence folder: `docs/design/screens/runtime/2026-07-17/t04/`(表单、成功、冲突、失败)
- T05 evidence folder: `docs/design/screens/runtime/2026-07-17/t05/`(表单、成功、冲突、失败)
- T06 evidence folder: `docs/design/screens/runtime/2026-07-17/t06/`(表单、成功、冲突、失败、冲突说明)
- viewport: 16 态最终截图均为 `412×915`
## Findings
- T03 保留成员印牌、资料行、亲属关系和主操作,提升成员元数据、资料值、关系与失败说明字号。
- T04T05T06 虽复用 `TreeMemberForm`,仍分别按新增亲属、编辑成员、关系维护的真实文案截图;说明、字段、输入和底部提示提升到 `2224rpx`
- 成功、冲突和失败结果保持同一宣纸面板层级;T06 冲突说明继续使用全局 A 系列 `AppDialog`,未使用原生系统弹层。
- 改前/改后截图未见四行表单、双操作或弹窗发生重叠,未生成重复资产。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实成员保存、关系校验、Android/HBuilderX 软键盘和触摸目标仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — T01 五状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/t01/`
- states: 世系树、加载、横向阅读提示、空、失败
- viewport: 五态最终截图均为 `412×915`
## Findings
- 横向世系画布、代际布局、成员节点和固定成员操作卡保持原结构;右侧支系自然位于横向滚动区域,不作为裁切缺陷处理。
- 首轮底部“查看资料/添加亲属”受卷轴中心装饰影响而难读;已改为现有 A 系列 v2 主/次按钮资产并使用清晰无衬线按钮字。
- 工具栏辅助信息、代际标签、节点关系/年份、状态说明和成员元数据提升字号;改前/改后同尺寸截图未新增横向画布之外的溢出。
- 加载、提示、空与失败继续使用同一 T 系列面板和公共 Loading;不新增重复资产。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实手势横拖、惯性滚动、Android/HBuilderX 字体与触摸目标仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — T07 模块基准页候选(2026-07-19
- source visual truth path: `docs/superpowers/specs/2026-07-19-module-baseline-accelerated-visual-review-design.md`
- source screenshot: `docs/design/screens/runtime/2026-07-19/module-baseline-audit/04-t07.png`
- implementation screenshot path: `docs/design/screens/runtime/2026-07-19/t07-baseline/01-list-412x915.png`
- full-view comparison evidence: `docs/design/screens/runtime/2026-07-19/t07-baseline/06-before-vs-after.png`
- responsive evidence: `docs/design/screens/runtime/2026-07-19/t07-baseline/05-responsive-contact-sheet.png`
- viewport: 320×568、360×640、360×800、412×915
- state: T07 列表、加载、搜索无结果空态、失败与恢复;最终审批现场为 412×915 列表态
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 字体与层级:新增“汤氏家谱/主支 · 3 位成员”上下文行;家谱名、页面摘要、成员名、世代关系和档案状态形成清晰层级。四档原尺寸截图中没有换行挤压或截断。
- 间距与布局:上下文、搜索、摘要和三张成员卡沿统一水平边距排列;320×568 至 412×915 均无横向溢出,末张卡完整可达。
- 色彩与视觉令牌:继续使用 T 模块长背景、朱砂标题栏、墨色正文和古金卡片,没有引入新色板。
- 图片与资产:继续复用现有 `g06-search-input-wide.png``application-status-card.png` 和公共 Loading/按钮资产,没有 CSS 绘图、文本图标或临时占位资产。
- 文案与内容:保留三位真实感 Mock 成员、世代、字辈、支系和档案状态;失败态提供“重新查看”,空态保留搜索入口。
- 可用性:搜索操作改为具名按钮语义和 88×72rpx 最低触控区;失败态隐藏不可用搜索并使用 `AppButton` 恢复。实测无结果搜索、清空恢复三项、失败恢复列表均成功。
- 运行质量:9222 中只有一个 `localhost:5173` 项目标签页;运行检查未捕获异常或 4xx/5xx 资源响应。
## Comparison history
- 初始审查发现:页面没有明确当前谱名;失败态仍显示可误操作搜索框且没有恢复动作;“查找”为普通文字点击区,缺少可访问按钮语义。
- 修正:加入当前谱上下文;搜索仅在列表/空态出现;失败态加入公共次按钮;查找操作增加按钮角色、标签与触控区;页面允许自然纵向滚动并禁止横向溢出。
- 修正后证据:前后同尺寸对比见 `06-before-vs-after.png`,四状态与四尺寸均已打开原图检查。
## Focused region evidence
未另做裁切图:412×915 原尺寸截图能够清楚读取上下文、搜索、三张成员卡和失败恢复按钮;四档联系表用于检查缩放与整体密度,继续裁切不会增加判断信息。
## Evidence limits
- 当前只代表 H5 内部候选 QA;用户尚未逐态通过 T07,因此尚未把它标记为 T 模块基准或冻结。
- Android/HBuilderX、系统字体、软键盘、读屏和真实数据量仍未验证。
- 当前谱名与三位成员为视觉阶段 Mock,不表示接口或成员搜索功能已对接。
final result: passed
---
# Design QA — G11G12 十六状态闭环(2026-07-17
- G11 evidence folder: `docs/design/screens/runtime/2026-07-17/g11/`
- G11 states: 表单、加载、成功、失败、无权限、校验、保存反馈
- G12 evidence folder: `docs/design/screens/runtime/2026-07-17/g12/`
- G12 states: 列表、加载、空、编辑、失败、无权限、编辑校验、保存失败、保存反馈
- viewport: 16 态最终截图均为 `412×915`
## Findings
- 两页保留现有 G03 宣纸面板、G 系列背景、公共 Loading、输入框和 A 系列按钮,没有生成重复资产。
- G11 的说明、字段、公开范围、帮助提示和字段校验从偏小规格提升到 `2224rpx`;七态均未出现按钮、输入框或说明重叠。
- G12 的页面说明、世代编号、字辈状态、编辑规则、预览和校验提示提升到 `2224rpx`;列表四行和编辑双按钮仍完整落在面板内。
- 保存成功均使用项目自定义卷轴反馈;校验与保存失败就近显示,不使用原生 Toast、Modal、Loading 或 ActionSheet。
- 运行 smoke 曾复现页面 reload 尚未完成时即执行 DOM 检查的调试协议竞态;已改为等待 `Page.loadEventFired`,连续 5 次运行通过,未通过放宽断言或盲目重试掩盖。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实保存接口、权限、Android/HBuilderX 软键盘、系统字体和触摸目标仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G10 十状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g10/`
- states: 列表、加载、空、失败、无权限、审核说明、通过确认、通过完成、拒绝确认、拒绝完成
- viewport: 十态最终截图均为 `412×915`G08G10 流程 smoke 覆盖真实审核交互
## Findings
- 首轮列表的操作文字被 `application-record-card.png` 自带假按钮槽干扰,审核完成后还残留空槽;最终列表改用无假按钮的 `application-status-card.png`,旧展示路径从 G10 合同中移除。
- 待审核操作使用 A 系列 v2 主/次按钮资产,扩大点击容器并改为清晰的无衬线按钮字“拒绝申请/通过申请”;两项在 412px 下均完整显示。
- 审核完成使用一条完整 A 系列卷轴覆盖操作区,分别显示“已通过/已拒绝”,不再保留第二个空按钮槽。
- 手机号、时间、关系、页面说明和状态说明同步提高可读性;公共 Loading、状态卡、审核说明和确认弹窗继续复用现有组件资产。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实权限、并发审核、服务端写入、消息通知和 Android/HBuilderX 仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G09 六状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g09/`
- states: 列表、加载、空、失败、撤回确认、撤回完成
- viewport: 六态均为 `412×915`G08G10 流程 smoke 覆盖撤回、已通过跳转和拒绝后重提
## Findings
- 列表三张卡完整覆盖审核中、已通过、未通过;撤回后在原卡片内更新为“已撤回”,不依赖 Toast。
- 保留既有申请状态卡、公共 Loading、A 系列卷轴按钮和全局 `AppDialog`,没有重复生产资产。
- 首轮截图中说明、时间、关系、底部提示和操作文字偏弱;已统一提升到 `2325rpx` 并加深提示色,改前/改后同尺寸截图未出现状态、日期或操作重叠。
- 空与失败状态继续使用同一状态卡构图,恢复动作明确;确认弹窗沿用 A 系列全局样式。
## Evidence limits
- 当前为 H5 自主设计内部候选;真实审核同步、撤回接口、消息通知和 Android/HBuilderX 仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G01 全状态闭环(2026-07-17
- normal evidence: `docs/design/screens/runtime/2026-07-17/01-g01-normal-review-412x900.png`
- empty evidence: `docs/design/screens/runtime/2026-07-17/02-g01-empty-review-no-underline-412x900.png`
- loading evidence: `docs/design/screens/runtime/2026-07-17/03-g01-loading-red-seal-412x900.png`
- error before/after: `docs/design/screens/runtime/2026-07-17/04-g01-error-before-412x900.png``04-g01-error-after-412x900.png`
- responsive evidence: loading 与 error 均检查 `320×568``360×640``360×800``412×915`
## Findings
- 正常列表:用户本轮确认当前状态合适;固定标题、当前家谱、快捷入口和独立滚动列表保持不变。
- 空状态:用户本轮确认整体状态;“创建家谱”残留文字下划线已移除,透明金框、三种入口和连续背景保持不变。
- 加载状态:旧 CSS 细线方框被判定为临时感过强,已按用户批准的 A 方案替换为真实 `brand-seal.png` 红金印牌与 `auth-divider-knot.png` 如意结;页面级四档和 G06 区域级实际截图均无裁切。
- 失败状态:旧不透明白色面板与其他状态不一致,已改为复用空状态透明金框、红金印牌、金色分隔线和 A 系列主卷轴按钮;四档截图中主要内容均可达,`320×568` 保持允许的自然纵向滚动。
- 所有状态继续使用同一 G 系列长背景与固定底栏,没有新增横向溢出或原生系统弹层。
## Evidence limits
- 本节为 H5 内部候选闭环。正常态和空状态获得了用户当前对话确认;加载方案方向获得用户确认,最终运行图与失败态由用户授权自主选择并完成内部设计 QA。
- 尚未获得 G01 整页正式验收,不更新为冻结;Android/HBuilderX 真机或模拟器、系统字体、状态栏、安全区和 4GB 设备长图性能仍待复核。
final result: passed (internal H5 candidate; Android and whole-page acceptance pending)
---
# Design QA — G03 十状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g03/`
- states: 创建默认、创建校验、重复建谱提醒、创建提交中、创建失败、首代默认、首代校验、首代提交中、首代失败、创建成功弹窗
- viewport: 10 类状态均为 `412×915` 真实交互截图;`g03-create-flow-runtime-smoke.js` 另覆盖基础响应式尺寸与两步主流程
## Findings
- 保留现有宣纸表单面板、红金主按钮和 A 系列提醒/成功弹窗;这些资产已经形成一致视觉,不重复生成。
- 自定义标题栏已移除“返回”文字,只保留真实向左箭头;左右槽位同步缩为 `72rpx`,标题仍居中。
- 表单说明、访问规则、字段校验和提交失败文案提高字号;修正后十态截图未见字段线、按钮或弹窗发生重叠。
- 创建与首代提交中继续使用主按钮内文字变化,避免短操作同时出现页面 Loading;失败信息留在对应表单语境中,恢复路径清楚。
- 重复提醒和创建成功均使用项目自定义弹窗,没有原生 Modal、Toast 或 Loading。
## Evidence limits
- 本节为自主设计 QA 的 H5 内部候选,未获得用户逐状态确认,也不表示 G03 已正式验收或冻结。
- Android/HBuilderX 的软键盘、输入法顶起、系统字体、返回手势和触摸目标仍待复核。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G06 八状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g06/`
- states: 搜索初始、搜索加载、搜索结果、搜索空结果、搜索失败、邀请码初始、邀请码无效、邀请码有效
- viewport: 八态 `412×915`;运行 smoke 另覆盖响应式与搜索/邀请码真实交互
## Findings
- 标题条、双模式、输入/验证按钮、结果卡片、空状态与邀请码状态均保持现有 G 视觉资产;没有重复生成已经确认的图片。
- 公共区域级 Loading 在页面实际结构中重新验证,印牌、分隔线和说明文字没有与搜索控件重叠。
- 搜索失败态原“重新搜索”纯文字操作不符合统一按钮体系,已替换为 A 系列红金主卷轴按钮;其他状态无需重设计。
- 新增失败和无效邀请码的真实截图触发能力,不再只检查结果/空/有效邀请码。
## Evidence limits
- 当前为 H5 内部候选;真实网络搜索、邀请码后端校验、软键盘和 Android/HBuilderX 仍待验证。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G05 七状态闭环(2026-07-17
- evidence folder: `docs/design/screens/runtime/2026-07-17/g05/`
- states: 管理员总览、成员总览、公开预览、加载、空、失败、无权限
- viewport: 七态 `412×915``g05-overview-runtime-smoke.js` 另覆盖 `320×568``360×800``412×915`
## Findings
- 管理员总览保留原设计;成员态原先两个空功能格已补为“仅管理员可用”的非交互说明,不再像数据缺失。
- 公开预览将第五项“所属上级谱”放入整行身份区,公开说明归入底部说明面板,主按钮保持独立,不再跨越金色分隔线。
- 加载、空、失败和无权限状态不再叠压旧四格总览底图;统一使用连续 G 背景、透明金框、红金印牌、公共 Loading 和 A 系列主卷轴按钮。
- 七态运行 smoke 保持权限动作数量、公开申请入口和响应式宽度合同。
## Evidence limits
- 当前为 H5 自主设计内部候选,未获得用户逐态确认;Android/HBuilderX 和真实权限/网络接口仍待复核。
final result: passed (internal H5 candidate; Android and user acceptance pending)
---
# Design QA — G01 申请次要文字可读性
- source visual truth path: `docs/superpowers/specs/2026-07-16-g01-secondary-text-legibility-design.md`
- before screenshot: `docs/design/screens/runtime/2026-07-16/g01-text-legibility-audit/01-current-list.png`
- first-round screenshot: `docs/design/screens/runtime/2026-07-16/g01-text-legibility-audit/02-enhanced-list.png`
- final B screenshot: `docs/design/screens/runtime/2026-07-16/g01-text-legibility-audit/03-b-medium-weight.png`
- viewport: 412×915;另查 320×568、360×640、360×800、412×1000
- state: G01 已有家谱正常态,内部列表滚到“加入申请”区域
## Findings
没有遗留的 H5 P0/P1/P2 问题。
- 说明文字首轮从 `23rpx / #776b5c` 调整为 `26rpx / #62584c / 1.4`,用户认为变化仍不明显;最终 B 方案为 `28rpx / 500 / #62584c / 1.4`412px 视口实测约 15.38px,估算对比度在宣纸与背景承接色上约为 6.13:1 和 5.22:1。
- 状态文字首轮从 `23rpx / 400` 调整为 `25rpx / 500`,最终 B 方案为 `27rpx / 600`412px 视口实测约 14.83px;审核中使用 `#7f4f16`,估算对比度约为 6.11:1 和 5.20:1;被拒绝保留语义红,已退出使用更深 muted 色。
- 五档截图未见说明与状态/箭头重叠,卡片高度、12rpx 连续间距、固定区、独立滚动和底栏均未改变。
- 共享 `GenealogyCard.vue` 的“更新于”等文字不在本轮范围,未随手修改。
## Evidence limits
对比度为基于 CSS 色值和两种代表底色的估算,不能代替 Android 真机面板、户外亮度、系统字体缩放或读屏复核;本轮不表示 G01 整页已验收。
final result: passed (internal candidate QA only)
---