视觉审核完成30%

This commit is contained in:
rain
2026-07-16 18:12:59 +08:00
parent cb25317412
commit 23cfd365a1
89 changed files with 3740 additions and 403 deletions
+43 -16
View File
@@ -3,20 +3,25 @@
> 最后更新:2026-07-16
> 用途:更换电脑、重新打开 Codex/GPT 后的唯一接管入口。
> 当前阶段:只做页面样式与视觉流程验收;不对接接口,不做功能验收。
> 当前施工停点:A01 至 T04 共 15 页已有内部 H5 候选,均尚未通过用户验收;下一页是 T07 成员目录。
> 当前施工停点:14 个活动页面已有内部 H5 候选;A06 另行封存并保留实现。用户下一审核页是 G01,无人审核时下一施工页是 T07 成员目录。
## 1. 接管后先复述的准确停点
- `pages.json` 当前实际注册 **53最终路由**
- `pages.json` 当前实际注册 **52活动路由**A06 已从路由表移除但源码保留
- A02 已删除并合入 A01;不存在需要保留的 A02 兼容入口。
- `docs/验收规划.md` 当前统计为:**53 个待审核、0 个已验收、0 个返工标记**
- 历史上曾标记通过的 A01、A02、A04、A05、A06、G01、G03 只保留为历史视觉证据**本轮全部重新审核**
- `docs/验收规划.md` 当前活动页统计为:**52 个待审核、0 个已验收、0 个返工标记、0 个冻结**;A06 属于封存页,不计入这些数量
- 历史上曾标记通过的 A01、A02、A04、A05、A06、G01、G03 只保留为历史视觉证据;活动页必须在本轮重新审核,A06 按最新决定封存
- 当前没有任何页面处于视觉冻结状态;只有用户在本轮明确说“通过”后,对应页面才能改为 `[x]` 并冻结。
- 2026-07-16 已按用户“继续按验收规划自主推进”的最新授权,完成 **A01、A04、A05、A06、G01、G03、G05、G06、G08、G09、G10、G11、G12、T01、T04** 的内部 H5 候选、聚焦合同和运行时检查;这些结果都只是待审候选,不能写成“用户已验收”或“已冻结”。
- 2026-07-16 已完成 **A01、A04、A05、G01、G03、G05、G06、G08、G09、G10、G11、G12、T01、T04** 共 14 个活动页面的内部 H5 候选、聚焦合同和运行时检查;这些结果都只是待审候选,不能写成“用户已验收”或“已冻结”。A06 的候选实现和证据另行封存。
- A01 当前候选已落实:闭眼图标保留中心瞳孔;密码行使用项目现有锁图标;短信验证码输入图标使用自生成的“消息气泡 + 三点”;不得恢复勾选图标或临时第三方 SVG。密码/短信两态代表联系表为 `docs/design/screens/handoff/2026-07-16/A01-current-password-sms-contact-824x915.png`
- 当前施工停在 **T04 新增亲属之后**,下一页严格按 `docs/验收规划.md` 进入 **T07 成员目录**。T01 收敛时删除了未注册路由但仍被 Git 跟踪的旧占位文件 `pages/tree/t02-tree-states.vue`;T04 复核时把共用成员表单残留的原生 `uni.showModal` 替换为项目自定义冲突说明层。用户明早仍需从 A01 开始逐页审核;未明确说“通过”的页面一律保持 `[~]`
- 2026-07-16 用户已逐态确认 A04 当前可实现的 8 类 H5 视觉状态;A04 继续保持 `[~]`,因为真实滑动验证必须使用接口组件自带样式,注册成功/失败真实链路和 Android/HBuilderX 复核尚未完成。当前用户逐页审核位置已推进到 **A05 重置密码**
- A05 已按用户决定向 A01 完整收拢 Logo、全局楷体、标题分隔、两处朱砂按钮、浅色卷轴 Toast 和成功结果卷轴;旧验证面板、伪“验证码已发送”和“重新获取”状态已移除。2026-07-16 用户已逐态确认当前 7 类 H5 视觉状态;返回 A01 后“回填手机号、聚焦密码框”由用户明确延期到真实重置接口链路接入时解决,不阻塞当前样式验收。真实滑动验证、接口结果和 Android/HBuilderX 仍待复核,A05 继续保持 `[~]`、不冻结。
- A06 已向 A01 完整收拢 Logo、全局楷体、标题分隔、页面主按钮、恢复层按钮和恢复卷轴。2026-07-16 用户确认样式没有问题,但判断当前流程暂时不用该页,并选择第二种封存方式:从 `pages.json` 和活动验收表移除,保留 `pages/auth/a06-auth-status.vue`、测试、设计记录与截图证据。A06 不标 `[x]`、不冻结,也不计入活动页 `[~]` 数量;运行 smoke 在封存期间明确 SKIP。
- G01 审核中已把“加入申请”三张卡改为独立 `12rpx` 间距并通过 H5 合同与运行截图;页面尚未整体通过。用户随后提出顶部标题、当前家谱大卡片和四个快捷入口应固定,仅从“我创建的”开始滚动;该结构留到下一轮继续讨论,尚未改代码。
- G01 旧底部山水存在主体过低和上部空白问题。2026-07-16 已生成 A/B/C 三个 `1024×1536` 背景母版并保存到 `docs/design/assets/g01-background/masters/`,建立 `g01-background-candidates.json`、Python 绿幕/色彩处理和 Node 编排。本机三候选构建的尺寸、可见绿幕、透明 RGB、体积和 sRGB 检查均为 0 错误;尚未由用户选择,不得接入页面。换机命令和质量哈希见 `docs/design/G01_列表背景候选与换机重建.md`
- 当前施工停在 **T04 新增亲属之后**,无人审核时下一页严格按 `docs/验收规划.md` 进入 **T07 成员目录**。T01 收敛时删除了未注册路由但仍被 Git 跟踪的旧占位文件 `pages/tree/t02-tree-states.vue`;T04 复核时把共用成员表单残留的原生 `uni.showModal` 替换为项目自定义冲突说明层。当前用户逐页审核已完成 A01、A04、A05 的可实现 H5 状态审视并封存 A06,下一活动审核页为 **G01 我的家谱**;尚缺的真实接口状态与 Android/HBuilderX 复核继续保留为待办。
如果其他文档仍写“54 条路由、7 个已验收或冻结”,那是旧阶段记录。当前状态和验收数量以本文件、实际 `pages.json``docs/验收规划.md` 为准。
如果其他文档仍写“5354 条路由、7 个已验收或冻结”,那是旧阶段记录。当前状态和验收数量以本文件、实际 `pages.json``docs/验收规划.md` 为准。
## 2. 新电脑启动时必须完整阅读
@@ -30,7 +35,8 @@
6. `docs/design/视觉证据索引.md`
7. `docs/design/D1_安卓视觉规范与页面壳.md`
8. `docs/design/P00_页面结构与资产清单.md`
9. `design-qa.md`(历史内部 QA 证据不等于本轮用户验收)
9. `docs/design/设计资产生产流水线规范.md`
10. `design-qa.md`(历史内部 QA 证据不等于本轮用户验收)
阅读后先运行:
@@ -40,7 +46,7 @@ git status --short
必须保留全部已有未提交改动。不要因为文件是未跟踪状态就删除,也不要用旧提交覆盖当前工作区。
随后先向用户复述:53最终路由、53 页全部待审核、当前无冻结页、内部候选施工停在 T01 之后、用户逐页审核仍从 A01 开始、下一施工页是 T04,以及准备使用的技能。复述准确前不要继续修改页面。
随后先向用户复述:52活动路由、52 页全部待审核、当前无冻结页、已有 14 页活动 H5 候选、A06 封存保留、用户下一审核页是 G01、无人审核时下一施工页是 T07,以及准备使用的技能。复述准确前不要继续修改页面。
## 3. 文档权威顺序
@@ -48,7 +54,7 @@ git status --short
1. 用户在当前对话中的最新明确决定。
2. `docs/交接记录.md`:真实停点、风险、下一步。
3. `docs/验收规划.md`53 页流程顺序、状态合同、视觉验收规则和勾选状态。
3. `docs/验收规划.md`52活动流程顺序、封存页记录、状态合同、视觉验收规则和勾选状态。
4. 实际代码、`pages.json` 和测试:当前实现事实。
5. `docs/design/视觉证据索引.md`:默认展示证据。
6. `docs/design/视觉设计交接手册.md``docs/规划.md`:历史方法、范围和背景。
@@ -83,6 +89,10 @@ git status --short
- 睁眼图标:`static/assets/modules/auth/transparent/a01-icon-eye-open-v1.png`
- 闭眼图标:`static/assets/modules/auth/transparent/a01-icon-eye-closed-pupil-v2.png`
- 短信验证码图标:`static/assets/modules/auth/transparent/a01-icon-sms-code-v2.png`
- 卷轴祥云主按钮:`static/assets/foundation/transparent/a01-scroll-primary-v3.png`
- 卷轴祥云微信按钮:`static/assets/foundation/transparent/a01-scroll-secondary-v3.png`
- 卷轴祥云 Toast`static/assets/foundation/transparent/a01-scroll-toast-v3.png`
- 卷轴祥云安全验证弹窗:`static/assets/modules/auth/transparent/a01-scroll-dialog-v3.png`
- 最新可跨电脑查看的代表图:`docs/design/screens/handoff/2026-07-15/A01-current-sms-generated-412x915.png`
`static/assets/modules/auth/transparent/a01-icon-sms-code-v1.svg``a01-icon-verification-v1.png` 等未引用候选仍可能存在于工作区。当前不要顺手清理;页面样式全部完成后再单独做文档与资产清理。
@@ -91,11 +101,17 @@ git status --short
- `tests/a01-a02-ui-contract.ps1` 已要求页面引用 `a01-icon-sms-code-v2.png`,并禁止回退到勾选图标和临时 SVG。
- 最新真实运行截图已确认短信验证码行显示棕色消息气泡三点图标。
- 2026-07-16 用户已在浏览器中逐状态确认 A01 的密码默认、密码掩码、密码明文、短信默认、字段错误 Toast、协议错误和协议已勾选共 7 类视觉状态;顶部 Logo 缩小为 `184×221rpx` 后也已确认。以上子项标记为“用户视觉审核通过”。
- 用户同时决定:真实滑动验证的滑块、轨道、拼图和结果状态使用接口组件自带样式,延期到接口接入阶段审核;当前卷轴安全验证弹窗只是流程占位,不是最终视觉,不计入通过项。
- A01 整页仍缺少本轮用户最终确认;当前浅色国风主题的四档尺寸完整复核和 Android 真机复核均不能写成已通过。深色与跟随系统已由用户决定延期到下一版本,不是基础版本验收门槛。
- 旧的 `A01-password-icons-412x915.png` 实际仍是短信 Tab 且使用旧临时图标,不能当密码态证据。
### 4.4 最新资产生产决策
- 2026-07-16 用户批准将现有 Node.js/Sharp 雏形升级为混合资产流水线:Node.js 负责 manifest、编排、代码引用和 Chrome CDP 运行验证;Sharp 负责确定性裁切、等比缩放、格式和压缩;Python/Pillow(必要时 OpenCV)负责 Alpha、白边、绿边、预乘 Alpha 和像素边缘质量。唯一规范见 `docs/design/设计资产生产流水线规范.md`
- 后续页面采用混合落地:代码负责布局、文字、间距、状态和普通结构;真实位图负责复杂水墨、品牌装饰和代码无法忠实表达的视觉;可复用装饰框只有通过 H5/Android 验证后才进入九宫格方案。禁止把所有元素机械做成整张位图,也禁止用临时 CSS/SVG 伪造复杂资产。
- schema v1 仍只是旧预览雏形,统一 `fit: 'fill'`、基础尺寸/Alpha 检查和代码组合预览不足以证明资产质量。2026-07-16 已新增 manifest v2、`Pillow==12.3.0`、Node/Python 重建与质量脚本;A01 卷轴祥云四件套 v3 已通过自动质量门、静态契约、资产审计和 H5 四尺寸检查。跨电脑、Android/HBuilderX 与用户正式验收仍未完成。
- 第一试点从登录/微信双按钮扩展为用户选定并批准的“方案 2:卷轴祥云”四件套。当前实际资产为 `a01-scroll-primary-v3.png`1866×276)、`a01-scroll-secondary-v3.png`1866×300)、`a01-scroll-toast-v3.png`1770×246)和 `a01-scroll-dialog-v3.png`(1860×1560)。主/次按钮和弹窗等比接入;Toast 使用固定切片 `border-image` 自适应文案宽度。文字、微信图标和交互仍由代码承载。旧原图与 v2 试点资产保留不覆盖。试点未获 Android 与用户整页确认前,不推广到其他页面。
- 用户已决定停止扩展 PhotoshopPSD 生产链,改用“ImageGen 原始母图 + 纯代码处理与渲染”的新流水线。
- 2026-07-16 用户最新决定:不保留 `design-pipeline/node_modules/``design-pipeline/generated/``docs/design/assets/a01-vnext/candidates/``docs/design/assets/a01-vnext/review/`;这些目录既不进入 Git,也不留在当前电脑。Photoshop 历史脚本仍作为文字/实现历史保留,但新流水线不得依赖已删除的 PSD、候选图或审阅中间稿。
- 新流水线使用独立目录,以 JSON 作为页面图层、状态、尺寸和导出路径的唯一机器可读所有者;Node.js 负责组合,Sharp 负责裁切、透明处理、缩放、体积检查和 PNG 导出。
@@ -108,6 +124,7 @@ git status --short
仓库必须保留以下可复现文件:
- `docs/design/设计资产生产流水线规范.md`
- `design-pipeline/package.json`
- `design-pipeline/package-lock.json`
- `design-pipeline/manifests/a01.json`
@@ -124,6 +141,8 @@ npm.cmd --prefix design-pipeline run build:a01
powershell.exe -NoProfile -ExecutionPolicy Bypass -File tests/a01-code-pipeline-contract.ps1
```
以上是 schema v1 雏形的恢复命令。manifest v2 与 Python 质量门的换机命令已写入 `docs/design/设计资产生产流水线规范.md`;本机已验证,但新电脑必须真实安装并执行后才能宣称跨电脑复现通过。
预期输出分别包含 `A01-CODE-PIPELINE BUILD PASS``A01-CODE-PIPELINE-CONTRACT PASS`。构建结果生成在被忽略的 `design-pipeline/generated/a01/`;它只用于本机预览和验证,不得提交。需要再次腾出空间时可以删除 `design-pipeline/node_modules/``design-pipeline/generated/`,下次重新执行 `npm.cmd ci` 与构建命令即可。不得把已删除的 `candidates/``review/` 恢复为清单输入。
## 5. 下一步严格执行顺序
@@ -156,13 +175,12 @@ http://localhost:5173/#/pages/auth/a01-entry
### 第三步:无人审核期间从 T01 继续施工;用户审核时以当前审核页优先
截至 2026-07-16,以下 15 页已生成内部候选并完成聚焦检查,但仍全部为 `[~]`
截至 2026-07-16,以下 14 个活动页面已生成内部候选并完成聚焦检查,但仍全部为 `[~]`
```text
A01 登录
→ A04 注册
→ A05 重置密码
→ A06 阻断登录状态
→ G01 我的家谱
→ G03 创建家谱/录入始祖
→ G05 家谱总览
@@ -176,7 +194,7 @@ A01 登录
→ T04 新增亲属
```
下一施工页是 `T07 成员目录`,随后继续 T03、T05 等验收表顺序。若用户开始逐页审核或指出返工项,立即停下后续施工,回到用户当前指定页面;只有用户明确说“通过”后才能把该页改为 `[x]` 并冻结。
用户下一活动审核页是 `G01 我的家谱`下一施工页是 `T07 成员目录`,随后继续 T03、T05 等验收表顺序。若用户开始逐页审核或指出返工项,立即停下后续施工,回到用户当前指定页面;只有用户明确说“通过”后才能把活动页面改为 `[x]` 并冻结。A06 不在该队列内,其源码、测试和证据保留供未来恢复。
真实入口优先。开发者直达路由只用于排错,不能冒充流程可达证据。不同用户身份、空态、加载、失败、权限、审核中、被拒绝、已退出/移除等状态必须在同一页面验收项下覆盖。
@@ -265,9 +283,9 @@ node scripts/capture-chrome-page.js `
2026-07-16 已取得的内部验证证据如下(均不等于用户验收或 Android 通过):
- 静态合同通过:A01/A02、A04、A05、A06、G01、G03、G05、G06、G08-G10、G11-G12、T01、T03-T08,以及截图脚本和整页视觉合同。
- H5 运行时 smoke 分别通过:A01、A04、A05、A06、G01、G03、G05、G06、G08-G10、G11-G12、T01、T03-T08。G05 与 T03-T08 在串联 CDP 测试中曾因页面目标重建瞬时失败,独立重跑均已通过;不要把该诊断噪声写成功能缺陷,也不要隐瞒独立复核方式。
- 实际路由统计为 53`git diff --check` 退出码为 0,仅有 CRLF 警告
- 静态合同通过:A01/A02、A04、A05、A06 封存合同、G01、G03、G05、G06、G08-G10、G11-G12、T01、T03-T08,以及截图脚本和整页视觉合同。
- H5 运行时 smoke 分别通过:A01、A04、A05、G01、G03、G05、G06、G08-G10、G11-G12、T01、T03-T08A06 因路由封存明确输出 `SKIP archived route`。G05 与 T03-T08 在串联 CDP 测试中曾因页面目标重建瞬时失败,独立重跑均已通过;不要把该诊断噪声写成功能缺陷,也不要隐瞒独立复核方式。
- 实际活动路由统计为 52A06 源码保留但未注册
- 长期代表图集中在 `docs/design/screens/handoff/2026-07-16/`,并已登记到 `docs/design/视觉证据索引.md`;这些仍是 H5 候选,Android/HBuilderX 真机或模拟器复核尚未完成。
- 仓库交接截图体积合同未通过,具体数据与处置边界见第 12 节。
@@ -316,8 +334,17 @@ GPT 不操作 Git。用户切换电脑前应自行确认以下内容已纳入版
`docs/design/screens/runtime/``tmp/` 和本机 Chrome 调试目录不能作为换机后的唯一资料来源。最终运行资产必须在 `static/assets/`,长期代表证据必须在 `docs/design/screens/handoff/`,决策与下一步必须写进本文件或 `docs/验收规划.md`
项目全部页面、接口与 Android 复核结束时,必须把本文件整理为最终交接文档,至少记录:最终活动路由与验收数量、A06 等封存页面及恢复步骤、延期到接口阶段的问题、Android/HBuilderX 验证结论、长期证据索引、遗留风险,以及交接当时已有修改和未跟踪内容。A06 恢复时必须先由产品确认独立阻断页仍有必要,再恢复路由、接入真实登录结果与恢复服务,并重新完成四档 H5、Android/HBuilderX 和用户审核。
## 12. 仓库体积与本地缓存规则
### 2026-07-16 下班前资产与清理交接
- G01 已保存 A/B/C 三个列表背景候选母版;候选尚未由用户选择,也未接入页面。页面“上方固定、下方列表独立滚动”的结构问题留待下一轮继续讨论。
- 跨电脑重建入口为 `npm.cmd --prefix design-pipeline run build:g01-background-candidates`,完整环境、依赖、输出哈希与可复现边界见 `docs/design/G01_列表背景候选与换机重建.md`
- 上传前审计只删除了两张无任何引用且已被新版证据替代的 2026-07-15 A01 旧全页截图,共减少 3,590,742 字节;精确清单见 `docs/design/上传前文件清理审计_2026-07-16.md`
- 清理后 handoff 专项目录仍为 50 个文件、29,887,097 字节,继续超过 35 个文件/20MB 合同。未删除其他被引用历史证据,未放宽阈值,归档策略仍需用户决定。
2026-07-16 推送失败根因已处理:原本地提交包含约 **229,085,446 字节**新 Blob,混入嵌套 `node_modules`、生成预览、4 个大型 PSD 和候选中间 PNG,压缩上传包达到 81.39MiB 后被远端断开。清单改为正式运行资产自包含后,上述四类目录已从提交和本机删除;最新待推送提交的新 Blob 总量复核约 **20,518,032 字节**。旧大对象可能暂时存在于本机 `.git` reflog/对象库,但不再由最新提交引用,也不会随本次正常推送上传;不要为清理它们执行 reset 或手工删除 `.git` 对象。
2026-07-16 最新检查:`tests/repository-handoff-size-contract.ps1` **未通过**,报告 `too many handoff screenshots: 217`(该次检查发生在新增 T04 代表图之前)。该脚本当前统计了 `docs/design/screens/` 下包含已忽略 runtime 在内的全部截图;最终单独统计长期交接目录 `docs/design/screens/handoff/`**52 个文件、33,477,839 字节(约 31.93MB**,同样超过合同的 35 个文件/20MB门槛。本轮遵守用户禁令,没有删除、覆盖或清理任何历史证据、候选资产、runtime、tmp 或测试,也没有为了变绿而擅自放宽阈值。换机后应先让用户决定历史证据的归档策略,再单独处理体积合同;在此之前必须如实保留失败状态。