Review changes batch 6 of 6

This commit is contained in:
2026-07-20 06:52:33 +08:00
parent db97d3da27
commit 5a31a75da0
160 changed files with 9206 additions and 572 deletions
+138
View File
@@ -0,0 +1,138 @@
# 家谱 APP 新会话审批交接(2026-07-19
> **历史文件提示(2026-07-20):** 本文件记录的 G01 停点已经失效。G01、T07、F01、R01、N01、M01 已通过;当前应先审核 T01,再按 `docs/夜间批量收敛交接_2026-07-20.md` 接管批量候选。保留本文件仅为历史证据,不得按下方旧提示重新打开 G01。
> 用途:当前会话结束后,在新的 Codex/GPT 会话中直接继续逐页视觉审批。
> 本文件记录的是审批停点与现有成果,不代表页面已经通过验收。
## 1. 当前准确停点
- 当前分支:`main`
- 当前提交:`887481a 验收完成40%`
- `pages.json` 实际注册 52 条活动路由。
- 52 个活动页面当前仍全部属于待用户审核候选;0 个已验收、0 个返工标记、0 个冻结。
- A06 已从 `pages.json` 和活动验收队列移除,但源码、测试、设计记录和历史证据保留,属于封存页面。
- 当前用户审核页:`G01 我的家谱`
- 当前展示状态:G01 正常列表态,地址为 `http://localhost:5173/#/pages/genealogy/g01-my-genealogies`412×915。
- 当前正常列表态只是已经在 Chrome 中打开,用户尚未给出“通过”或“返工”结论,不得修改为 `[x]`
- 当前没有未施工页面;后续主要工作是逐页、逐状态审批,发现问题后只返工当前审核页。
## 2. 新会话开始后的第一件事
1. 完整阅读 `AGENTS.md``docs/交接记录.md``docs/验收规划.md` 和本文件。
2. 运行 `git status --short`,保留全部已有修改和未跟踪文件。
3. 检查 `5173` H5 服务和 `9222` Chrome 调试端口是否仍在运行。
4. 如果现有 Chrome 已打开项目页面,必须复用当前窗口和当前标签页;不得再开第二个浏览器或第二个项目标签页。
5. 如果 Chrome 已关闭,才允许启动一个审批窗口;启动后后续所有状态都在同一标签页切换。
6. 先把 G01 正常列表态展示给用户,不修改代码;用户给出结论后再切下一状态。
内部截图脚本会复用已经打开的 `localhost:5173` 页面:
```powershell
node scripts/capture-chrome-page.js `
"http://localhost:5173/#/pages/genealogy/g01-my-genealogies" `
".genealogy-index" `
"docs/design/screens/runtime/<日期>/g01-approval/01-default-412x915.png" `
412 915
```
`docs/design/screens/runtime/` 是本机忽略缓存,只用于当轮查看,不能当作长期交接证据。
## 3. G01 必须继续审核的状态
按以下顺序在同一 Chrome 标签页逐个展示,每次只展示一个状态并等待用户结论:
1. 正常列表态:当前家谱、快捷入口、我创建的、我加入的、加入申请、底部添加入口。
2. 空态:搜索家谱、邀请码加入、创建家谱三个入口。
3. 加载态:公共 `AppLoading` 组件。
4. 失败态:错误说明与重新加载操作。
5. 添加家谱弹层:搜索、邀请码、创建三个入口与关闭操作。
6. 切换家谱弹层:候选列表、当前项、切换后的顶部信息和列表回顶。
7. 独立滚动态:标题栏、当前家谱大卡、四个快捷入口和分隔线固定;仅从“我创建的”开始滚动;底部“添加家谱”可到达。
8. 响应式复核:320×568、360×640、360×800、412×915G01 另做 412×1000 压力档。
只有以上适用状态全部看完,且用户明确说 G01 整页通过,才能把 G01 从 `[~]` 改成 `[x]` 并冻结。用户指出问题时改为 `[!]`,只返工 G01 相关代码、资产、测试和证据。
## 4. G01 已经确定、不得反复推翻的设计决定
- G 系列共用已经选定的连续长背景,不再使用旧 A/B/C 候选作为当前入口。
- 运行背景:`static/assets/modules/genealogy/opaque/genealogy-page-background-long.png`1440×3600。
- 公共组件:`components/GenealogyPageBackground.vue`
- 背景按页面宽度等比完整显示、固定贴底;左右不裁剪、不变形;共享图片画层不透明度为 28%。
- 顶部标题、当前家谱大卡片、四个快捷入口和金色分隔线固定,下方列表独立滚动。
- “加入申请”连续卡片之间为 12rpx 间距。
- “加入申请”说明采用 B 方案:`28rpx / 500 / #62584c / 1.4`;状态为 `27rpx / 600`
- 当前家谱和列表卡片的地区、成员数、角色、更新时间使用更深文字颜色与中等字重。
- 地区与成员数前的小图标已经放大并增强辨识度;不要误改谱封图标或文字字号。
- A 系列按钮、弹窗、Toast、Loading 是全局视觉标准;不得恢复原生 `uni.showToast``uni.showModal``uni.showLoading``uni.showActionSheet` 作为最终视觉。
- 普通页面返回操作使用左箭头,不使用“返回”两个文字。
## 5. 当前已经拥有的成果
### 5.1 页面和状态候选
- 52 个活动页面均已有基础内部 H5 样式候选。
- A 系列保留已确定的按钮、弹窗、Toast、Loading 和浅色国风视觉。
- G 系列以 G01 为风格母体,9 个活动 G 页面共用 G 长背景。
- T、F、R、N、M 已分别形成同一浅色国风主题下的独立模块长背景和页面内容气质。
- F、R、N、M 等模块的正常、空、加载、失败、成功、权限或业务状态候选已在前序内部审视中覆盖;这些只是候选,仍须按 `docs/验收规划.md` 由用户逐页审批。
### 5.2 公共组件
- `components/AppButton.vue`
- `components/AppDialog.vue`
- `components/AppToast.vue`
- `components/AppLoading.vue`
- `components/GenealogyPageBackground.vue`
- `components/ModulePageBackground.vue`
- `components/ModulePage.vue`
### 5.3 正式背景与可恢复输入
- G 长背景运行图:`static/assets/modules/genealogy/opaque/genealogy-page-background-long.png`
- T/F/R/N/M 长背景运行图位于各模块 `static/assets/modules/*/opaque/*-page-background-long.png`
- G 长背景正式母版与 ImageGen 原稿位于 `docs/design/assets/g01-background/masters/`
- T/F/R/N/M 正式母版与原稿位于 `docs/design/assets/module-backgrounds/masters/`
- 模块背景清单:`design-pipeline/manifests/module-page-backgrounds.json`
- 模块背景重建脚本:`design-pipeline/scripts/build_module_page_backgrounds.py`
- G01 历史 A/B/C 候选的正式可恢复输入、清单和脚本仍保留;`design-pipeline/generated/` 没有从 Git 下载时不代表资产遗失。
### 5.4 测试与证据
- 已有 G01、G03、G05、G06、G08G12、T、F、R、N、M 等页面的静态视觉合同和运行时 smoke。
- 最近一次内部结果记录为:主要 PowerShell 合同 60 项通过;14 项 JS 运行测试通过,A06 按封存合同跳过;编译检查和 `git diff --check` 通过。
- `foundation-asset-audit.ps1` 仍存在旧版资产引用审计失败,不能通过放宽阈值或删除仍在使用的资产来让它变绿。
- H5 截图只属于内部候选证据;最终仍缺 Android/HBuilderX 真机或模拟器复核。
- 长期代表证据位于 `docs/design/screens/handoff/`runtime、tmp、`.venv`、generated、unpackage 都是本机可再生成缓存。
## 6. G01 通过后的审批顺序
严格按照 `docs/验收规划.md` 的 52 项顺序推进,不跳过同一页面的适用状态:
- G 系列剩余页:G03、G06、G08、G09、G05、G10、G11、G12。
- T 系列:T01、T04、T07、T03、T05、T06、T08。
- F 系列:F01F10。
- R 系列:R01R11。
- N 系列:N01N02。
- M 系列:M01M10。
A01、A04、A05 仍保持 `[~]`,原因是 Android/HBuilderX 和真实滑动验证/真实接口链路尚未完成;不要把历史 H5 逐态确认误写成最终冻结。
## 7. 必须遵守的边界
- 不对接接口;当前只做页面样式和视觉状态审批。
- 不使用多代理,不使用 worktree。
- 不执行 `git add``commit``push``reset``checkout`
- 不删除、覆盖或清理现有修改、未跟踪文件、测试、文档、截图、母版和候选资产。
- 不为让测试变绿而放宽阈值,不删除仍被引用的历史证据。
- 不跨页修改与当前审核页无关的代码。
- 每次修改前先有真实运行截图或明确用户意见;修改后必须重新运行受影响合同、smoke、四尺寸截图和 `git diff --check`
- 没有 Android/HBuilderX 证据时,只能说 H5 内部候选通过检查,不能宣称最终完成。
## 8. 可直接复制到新会话的提示
```text
请全程使用中文。先完整阅读 AGENTS.md、docs/交接记录.md、docs/验收规划.md、docs/新会话审批交接_2026-07-19.md,并运行 git status --short。不得覆盖、删除、reset 或 checkout 当前任何修改和未跟踪文件;不得 git add、commit、push;不得使用多代理或 worktree。
现在继续逐页视觉审批,不对接接口。当前审核页是 G01,正常列表态已在 412×915 的唯一 Chrome 审批窗口中打开,但尚未通过。先检查 5173 和 9222 是否仍运行;如果已有 Chrome 项目页,只能复用当前窗口和当前标签页,不得再开浏览器。后续在同一标签页依次展示 G01 正常、空、加载、失败、添加家谱弹层、切换家谱弹层、独立滚动和四尺寸状态,每次只展示一个并等待我确认。没有我的明确“通过”,不得把页面标为 [x] 或冻结;我指出问题时只返工当前页面。H5 截图只是内部候选,Android/HBuilderX 仍缺验证。
```