# 家谱 APP 视觉设计交接手册 > **2026-07-16 状态覆盖说明:** 本手册中的截图方法、资产规则和验证流程继续有效;旧路由与验收数字不再有效。当前为 52 条活动路由、52 页全部 `[~]` 待审核、0 页冻结;A06 已从路由与活动验收队列封存但保留实现。接管时先读 `docs/交接记录.md` 与 `docs/验收规划.md`。 > 更新日期:2026-07-14 > 用途:在新电脑或交给新的 GPT 后,按本手册恢复当前工作;它只记录已发生的事实,不把待验收写成已完成。 ## 0. 给新 GPT 的可直接执行指令 你接手的是一个 **uni-app Android 家谱项目的高质量视觉设计任务**,全程中文工作;它不是只改 CSS 的任务。先不修改代码,完整阅读:`AGENTS.md`、`docs/交接记录.md`、本手册、`docs/规划.md`、`docs/design/D1_安卓视觉规范与页面壳.md`、`docs/design/P00_页面结构与资产清单.md`、`docs/design/设计资产生产流水线规范.md`、`docs/superpowers/plans/2026-07-13-product-design-visual-refinement.md`、`design-qa.md`。随后只向用户简洁复述当前停点和准备如何处理反馈。 必须保留已有未提交改动;不使用 worktree;不执行 `git add`、`git commit`、`git push`、上传、`git reset` 或 `git checkout`。旧阶段的 A01、A02、A04、A05、A06、G01、G03 验收/冻结记录只作历史证据;本轮 52 个活动页面全部重新待审核。A06 已封存,G07 是 G06 的页面内状态,不得重新建为独立页。 当前实际为 52 条活动路由,52 页全部标 `[~]`,0 页冻结;已有 14 个活动页面内部 H5 候选,A06 候选另行封存,均不得写成用户已正式验收。用户下一活动审核页是 G01;无人审核时下一施工页是 T07。接口只作功能布局参考,本轮没有对接。 新环境必须可用并实际调用:`product-design:index`、`product-design:audit`、`imagegen`、`superpowers:test-driven-development`、`superpowers:systematic-debugging`、`superpowers:verification-before-completion`。没有这些能力时,先安装/启用同等能力,不得假装已经完成设计审视或位图生成。 ## 1. 当前停点:先看这一节 项目实际有 52 条活动路由;A02 已合并进 A01,A06 已封存,T02 已合并进 T01且遗留占位文件已删除。`docs/验收规划.md` 中 52 个活动页面全部为 `[~]`,0 页已验收,0 页冻结。 - 已有 14 个活动页面内部 H5 候选:A01、A04、A05、G01、G03、G05、G06、G08、G09、G10、G11、G12、T01、T04。A06 的 H5 候选、源码、测试和证据已封存保留。 - 这些候选、内部 smoke、GPT 审视和旧 QA 都不等于用户正式验收。 - 用户下一活动审核页是 G01;无人审核时下一施工页是 T07 成员目录。 - 基础版本只做浅色国风主题;深色和跟随系统延期。 - 不提交、不推送、不上传 Git;由用户自行处理版本库操作。 下一位执行者先读 `docs/交接记录.md` 和 `docs/验收规划.md`,再按 `[~]` 清单协助用户逐页审核。默认只打开一张代表图或一张复杂状态联系表;多尺寸、before/after 与历史废稿仅在发现问题时展开。 ## 1.1 迁移前必须保留的文件 本手册、G06 最终候选资产和截图工具均是接管所需文件;换电脑前,用户需在自行提交/上传时包含它们,或完整复制当前工作区。我没有执行任何 Git 暂存、提交、推送或上传操作。 至少要保留:`docs/design/视觉设计交接手册.md`、`docs/交接记录.md`、`docs/design/视觉证据索引.md`、`scripts/capture-chrome-page.js`、全部页面/资产/测试、`docs/design/screens/runtime/` 的运行证据,以及现有计划与设计记录。只复制已提交的旧版本会丢失当前停点。 ## 2. 必读文件与唯一职责 | 文件 | 负责什么 | | --- | --- | | `AGENTS.md` | 最小修改、保护既有未提交内容、验证后再交付的项目规则。 | | `docs/规划.md` | 54 条独立路由的范围、模块顺序和“完成”的定义。 | | `docs/design/D1_安卓视觉规范与页面壳.md` | Android 页面、资产、布局与中文注释的硬约束。 | | `docs/design/P00_页面结构与资产清单.md` | 路由、页面文件和资产台账的唯一清单。 | | `docs/design/设计资产生产流水线规范.md` | 混合代码/位图落地、manifest、Node/Sharp/Python 分工、质量门和跨电脑恢复合同。 | | `docs/superpowers/plans/2026-07-13-product-design-visual-refinement.md` | 已批准的分模块视觉精修计划和验收顺序。 | | `docs/design/2026-07-13-A01-G01-A02-视觉审视.md` | A01/G01 视觉证据与旧 A02 的问题定位。 | | `docs/design/A02_账号登录_设计记录.md` | A02 当前实现、资产、截图和测试记录。 | | `design-qa.md` | A02 的 Design QA;当前 `final result: accepted`。 | | `docs/交接记录.md` | 简版当前状态与恢复入口;本手册提供完整操作细节。 | 发生冲突时,按“用户最新明确指令 > AGENTS.md > 上表中的当前台账/计划 > 历史文档”的顺序处理。不要以旧的草案或已废弃的截图切片方案为依据。 ## 3. 已验收的风格与绝对禁区 ### A01 与 G01 是可观察的品牌真源 - A01 参考图:`docs/design/screens/A01-启动登录引导-栅格验收-412x915.png` - G01 参考图:`docs/design/screens/G01-我的家谱-紧凑版设计稿-v5-Tabbar安全区.png` 共同语言是“家祠卷轴”:暖宣纸、朱砂主色、古金框线和元数据、墨褐字、低对比淡墨山水。主信息应先于背景被读到,留白是结构的一部分。 必须遵守: 1. 最新生产方法以 `docs/design/设计资产生产流水线规范.md` 为准:代码承担布局、文字、间距、状态和普通结构;复杂水墨、品牌装饰和代码无法忠实表达的视觉使用真实位图。 2. 固定比例完整位图、透明叠加资产和经 H5/Android 验证的九宫格必须在 manifest 中声明真实槽位、缩放和 Alpha 策略;不得默认使用 `scaleToFill` 或 Sharp `fit: 'fill'` 掩盖比例错误。 3. 不能把整张设计截图或局部截图裁进运行页面;运行资产必须是可复用的独立元素。 4. A01/G01 历史证据仍是品牌观察真源,但不等于本轮已验收或冻结;当前状态以 `docs/交接记录.md` 与 `docs/验收规划.md` 为准。 5. 不要用一个通用卡片母版覆盖所有模块。家谱、世系树、内容档案、人物记录、通知和设置必须在同一视觉语言下有各自的信息密度与层级。 ## 4. A02 的精确状态 > 本节是 2026-07-14 的历史实现记录,不是当前路由或验收状态。当前 A02 已删除并合入 A01,本轮不得恢复 A02 路由;最新状态以 `docs/交接记录.md` 为准。 ### 实现内容 - 路由与页面:`pages/auth/a02-login.vue` - 新面板资产:`static/assets/modules/auth/opaque/a02-login-panel.png` - 实际尺寸:940 × 1672 - 属性:四角不透明,承载宣纸底、双古金框、角饰与淡纹样 - 主按钮继续复用已验收完整资产:`static/assets/foundation/opaque/a01-primary-button.png` - 账号密码与短信验证码 Tab、输入、忘记密码跳转和原有交互均保留;短信 Tab 已经通过真实 Chrome 调试点击截图。 ### 已保存的运行证据 默认只查看 `docs/design/screens/handoff/2026-07-16/A01-current-password-sms-contact-824x915.png`。A02 已并入 A01;小屏、大屏和 before/after 历史证据保存在项目外完整归档中,按需展开,不在交接正文连续罗列。 ### 通过/未通过的界线 已通过的是:资产尺寸与不透明角审计、A01/A02 页面契约、编译检查、A02 的多尺寸运行截图和短信 Tab 交互。 已通过的是:用户对 A02 的最终审美确认,`design-qa.md` 为 `accepted`,A02 可见效果冻结。用户若提出新的明确调整,只改动被指出的区域并重新截图复核;不要无根据改动面板框、输入区或交互。 ## 5. 换电脑后如何恢复截图与审视能力 ### 必备环境 - Windows、Chrome、HBuilderX(项目当前以 Android `uni-app` 为目标)。 - Node.js 22 或更高版本;当前脚本已在 Node 24 环境使用原生 `fetch` 与 `WebSocket`。 - 先在 HBuilderX 启动本地 H5 调试页,并确认它能在 `http://localhost:5173` 打开。不要臆测项目的 npm 启动命令。 用专用 Chrome 调试实例开启远程端口;它与用户日常 Chrome 隔离: ```powershell $chrome = "$env:ProgramFiles\Google\Chrome\Application\chrome.exe" Start-Process -FilePath $chrome -ArgumentList ` '--remote-debugging-port=9222', ` "--user-data-dir=$env:TEMP\jiapu-chrome-debug", ` 'http://localhost:5173/#/pages/auth/a02-login?agreed=1' ``` 确认调试端口与应用页面存在: ```powershell Invoke-RestMethod 'http://127.0.0.1:9222/json/list' | Select-Object title, url ``` 使用项目内的正式脚本截图。它会导航**专用调试 Chrome**的当前标签页、写出 PNG,并在结束时清除设备尺寸覆盖;不能操作或关闭用户的日常 Chrome。 ```powershell node scripts/capture-chrome-page.js ` 'http://localhost:5173/#/pages/auth/a02-login?agreed=1' ` '.login-page' ` 'docs/design/screens/runtime/2026-07-14/A02-after-360x800.png' ` 360 800 ``` 新截图先保存到已忽略的 `docs/design/screens/runtime/<日期>/`,绝不能放回 `static/assets/` 作为运行资源。每个代表页面至少做 360 × 800;只有出现比例风险或用户要求时再展开 320 × 568、360 × 640、412 × 915,多状态页面优先合成一张联系表。用户确认需要长期交接时,只把代表图复制到 `docs/design/screens/handoff/`。最终 Android/HBuilderX 截图仍需补做,H5 Chrome 截图不能替代它。 ## 6. 后续执行顺序与每轮产物 ### 历史门禁记录(本轮已失效) 以下内容只解释旧阶段为何保留某些资产,不得据此把任何页面写成当前已验收或冻结。 1. A02 与 A04 均已通过;不因后续页面改动而触碰其可见效果。 2. 若用户提出明确调整:只在对应页面修正,先调整对应契约测试,再改页面/资产,重新截图复核。 3. A05、A06 与 G01 空状态均已通过并完成状态同步;G04 已合并为 G03 `step=ancestor`,该双步骤已获用户通过;G07 已合并为 G06 三态。G06 三态候选和内部审视已完成,仍待用户视觉确认。 ### 当前唯一顺序:逐页视觉审核 54 条路由候选已经全部覆盖。用户从 `docs/规划.md` 指定或按清单顺序审核页面;只有用户明确通过才改 `[x]`,要求返工则改 `[!]` 并只修改对应页面。接口、Android 打包和真机复核均留在视觉审核之后。 ### 每个模块的固定工作流 1. 用 Product Design 对已运行页面截图审视,明确该模块与 A01/G01 的继承点、不同的信息结构与验收尺寸。 2. 先补/改最小的页面契约测试并看到失败,再实现页面;只有缺少真实视觉资产时才生成资产。 3. 资产生成后记录路径、尺寸、是否不透明、用途和引用页到 P00;生成图必须经过本地检查后进入 `static/assets/`。 4. 保留既有可用跳转和返回行为,删除本轮替换后不再使用的临时导入、目录项和样式。 5. 运行受影响的测试、编译审计、真实路由截图,再更新设计记录、规划和交接状态。 6. 在用户验收之前,状态统一写“实现与截图完成,视觉待用户验收”。 ## 7. 下一位 GPT 需要具备并实际调用的能力 这不是“只改 CSS”的任务。执行视觉页前应先读取对应技能说明,并在对用户的工作说明中指出正在使用的技能及目的。 | 能力/技能 | 何时使用 | 项目中的正确做法 | | --- | --- | --- | | `product-design:index`、`product-design:audit` | 审视、评价或设计一个已运行页面/流程时。 | 先拿到真实路由截图,再依据 A01/G01 与页面任务写审视结论;不要靠源码猜好不好看。 | | Product Design 的 `user-context`、`get-context`、`ideate`、`image-to-code`、Design QA 流程 | 需要探索方向、选择视觉方案、将已选样稿落地、或交付前比对时。 | 有明确视觉真源时先忠实落地;没有真源且需要新方向时先给可比较方案,选定后再实现;最后在 `design-qa.md` 诚实记录通过或阻塞。 | | `imagegen` | 现有资产无法承担完整视觉面时。 | 先用 A01/G01 实图作为参考,明确输出是完整不透明面板还是透明叠加件;检查实际尺寸/Alpha 后再放入项目。不能用截图代替资产。 | | `superpowers:brainstorming` 与 `superpowers:writing-plans` | 新模块或会改变页面行为的创作工作开始前。 | 先写清用户目标、交互和验收,不以“尽快”跳过设计决定。 | | `superpowers:test-driven-development` | 修改功能、路由契约、可审计视觉结构前。 | 先让最小契约测试失败,再做实现;视觉资产同样写尺寸/Alpha/引用审计。 | | `superpowers:systematic-debugging` | 截图、路由、构建或测试出现意外时。 | 先复现和定位单一根因,禁止靠删测试、盲改样式掩盖问题。 | | `superpowers:verification-before-completion` | 任何“完成/修好/通过”的表述前。 | 以命令输出、运行截图和用户确认作证据;不能用意图代替验证。 | 若新电脑没有 Product Design 或 ImageGen 插件,应先安装/启用同等能力;在能力缺失时不能假装完成视觉审计或资产生成。新环境先执行 `python --version`、`node --version` 确认可用环境;当前用户已确认 Python 已安装。若 Product Design 的持久 context 预检仍失败,记录原因即可,不得阻塞对项目内真实截图、资产和测试的接管。 ## 8. 验证命令 先看工作区,再运行与改动相匹配的聚焦测试;模块阶段结束前运行全量 PowerShell 审计: ```powershell git status --short Get-ChildItem tests -Filter *.ps1 | Sort-Object Name | ForEach-Object { & powershell.exe -NoProfile -ExecutionPolicy Bypass -File $_.FullName if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } } git diff --check ``` A02 当前的最小回归集合: ```powershell powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/a02-asset-alpha-audit.ps1 powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/a01-a02-ui-contract.ps1 powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/compile-audit.ps1 powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/full-page-visual-contract.ps1 git diff --check ``` G06 当前候选继续或验收前的最小回归集合: ```powershell powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/g06-search-flow-contract.ps1 node tests/g06-search-flow-runtime-smoke.js http://localhost:5173 node scripts/capture-chrome-page.js "http://localhost:5173/#/pages/genealogy/g06-search-genealogies" ".search-page" "docs/design/screens/runtime/<日期>/G06-selected-strip-initial-360x800.png" 360 800 git diff --check ``` 若 G06 发生视觉改动,必须用真实输入分别截取有结果和无结果状态,再用 Product Design 审视;只有三态、相关测试与用户确认齐全,才能更新为验收通过。 `git diff --check` 可能提示仓库既有的 CRLF 行尾警告;只有真正的空白错误或非零退出码才算失败。不要 reset、checkout、清空或覆盖用户已有改动。 ## 9. 文档与资源维护清单 每次完成一个页面/模块,按事实更新: - `docs/规划.md`:用户验收状态与下一个模块。 - `docs/design/P00_页面结构与资产清单.md`:新旧资产、尺寸、透明属性、引用位置与去留。 - `docs/design/<页面>_设计记录.md`:设计意图、截图、交互与测试。 - `docs/design/screens/runtime/<日期>/`:真实运行截图。 - `design-qa.md`:修复项、未决项与最终 `passed/blocked` 结果。 - `docs/交接记录.md` 与本手册:真实停点、风险、下一步;未获得用户确认就不能写成“已完成”。 当前工作区已经存在用户和历史任务的未提交改动。后续工作只能触及当前任务需要的文件;若改动与当前设计目标无关,只报告,不清理。