# H5 → 微信小程序视觉还原 — 进度跟踪 > **主代理必读**:每次会话开始时先读本文件,确认当前状态后再下发任务。 > 每完成一个处理单元后立即更新本文件。 > > 文档体系入口:[docs/miniprogram-dev/README.md](../README.md) > 批量自动模式:Power `miniprogram-h5-conversion` → `readSteering("batch-auto.md")` --- ## 当前状态(会话开始时填写) | 项目 | 内容 | |---|---| | **当前处理单元** | #54 coach-detail/step-0(D 批次开始) | | **下一个单元** | #54 coach-detail/step-0 | | **本次会话目标** | D 批次:coach-detail + customer-detail + customer-service-records(12 单元) | | **MCP 状态** | ✅ 已连接(wsEndpoint, healthy) | | **最后更新** | 2026-03-12 | | **决策** | 跳过 margin 修正,接受 default 维度现有结果,推进 compare 维度 | | **MP compare scrollHeight** | board-content: 5030px, maxScroll: 4396px | ### MCP 就绪检查清单(每次会话开始时执行) ``` [ ] mcp_weixin_devtools_mcp_get_connection_status → 已连接 [ ] Playwright MCP → 可用(测试 browser_run_code) [ ] 微信开发者工具已开启并显示目标页面 [ ] pixel-audit Power → 已激活(readSteering("measure.md") 获取审计方法论) ``` > 注:image-compare MCP 已移除(2026-03-12)。审计改为结构化拆解→逐级测量→偏差审计,详见 Power `miniprogram-h5-conversion` → `readSteering("audit.md")`。 --- ## 总览 | 指标 | 値 | |------|-----| | 总单元数 | 89 | | 已完成 | 0 | | 跳过 | 0 | | 进行中 | 0 | | 未开始 | 89 | | 整体进度 | 0% | --- ## 前置任务 | # | 任务 | 状态 | 完成日期 | 备注 | |---|------|------|----------|------| | P0 | TS 零诊断基线检查 | ✅ 完成 | 2026-03-10 | 17 页面全部通过 | | P1 | 跨页面共性偏差批量修复 | ✅ 完成 | 2026-03-10 | board-finance/coach/customer 三页 | | P2 | 截图技术验证 | ✅ 完成 | 2026-03-10 | DPR=1.5 双端 645×1128 已验证 | | P3 | AGENT-PLAYBOOK.md v4.2 更新 | ✅ 完成 | 2026-03-11 | 4种专职子代理、间距测量代理、裁剪修正 | ## A 批次:board-finance/default(10 单元) > H5 scrollHeight=5600,maxScroll=4848,10 步 > 序列:0, 600, 1200, 1800, 2400, 3000, 3600, 4200, 4800, 4848 | # | 单元 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|-----------|----------|-----------|------|------| | 1 | default/step-0 | 6.18% | 3(R2回滚) | 6.18% | ✅ 通过 | 剩余为不可消除差异 | | 2 | default/step-600 | 9.02% | 2(均回滚) | 9.02% | ✅ 通过 | 含12px滚动偏移+字体渲染 | | 3 | default/step-1200 | 11.07% | 1(回滚) | 11.07% | ✅ 通过 | 含卡片间距差异(step-0元素)+字体渲染 | | 4 | default/step-1800 | 4.90% | 0 | 4.90% | ✅ 通过 | 直接通过,无需修正 | | 5 | default/step-2400 | 17.86% | 2 | 15.84% | ⚠️ 跳过 | 前序板块累积高度差异~103px,mock数据已修正 | | 6 | default/step-3000 | 14.72% | 0 | 14.72% | ⚠️ 跳过 | 累积高度偏移~153px+TOC浮层,mock数据一致 | | 7 | default/step-3600 | 14.88% | 0 | 14.88% | ⚠️ 跳过 | 累积高度偏移153-260px+TOC浮层,mock数据一致 | | 8 | default/step-4200 | 3.28% | 0 | 3.28% | ✅ 通过 | 页面底部,两端均接近maxScroll | | 9 | default/step-4800 | 3.31% | 0 | 3.31% | ✅ 通过 | H5 clamp到4203,MP clamp到3873 | | 10 | default/step-4848 | 3.31% | 0 | 3.31% | ✅ 通过 | 与step-4800像素级一致 | ## A 批次:board-finance/compare(10 单元) > 环比开启后页面高度可能变化,scrollTop 序列需实测确认 | # | 单元 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|-----------|----------|-----------|------|------| | 11 | compare/step-0 | 6.14% | 0 | 6.14% | ✅ 通过 | 剩余为不可消除差异,与default维度一致 | | 12 | compare/step-600 | 10.06% | 0 | 10.06% | ✅ 通过 | 与default 9.02%接近,+1.04%来自环比元素 | | 13 | compare/step-1200 | 11.06% | 0 | 11.06% | ✅ 通过 | 与default 11.07%几乎一致 | | 14 | compare/step-1800 | 4.39% | 0 | 4.39% | ✅ 通过 | 与default 4.90%接近,直接通过 | | 15 | compare/step-2400 | 10.78% | 0 | 10.78% | ⚠️ 跳过 | 累积高度偏移,与default维度同因 | | 16 | compare/step-3000 | 16.32% | 0 | 16.32% | ⚠️ 跳过 | 累积高度偏移,与default维度同因 | | 17 | compare/step-3600 | 7.47% | 0 | 7.47% | ⚠️ 跳过 | 累积高度偏移+MP scrollTop被clamp | | 18 | compare/step-4200 | 9.34% | 0 | 9.34% | ⚠️ 跳过 | MP maxScroll clamp,两端内容窗口偏移327px | | 19 | compare/step-4800 | 3.41% | 0 | 3.41% | ✅ 通过 | 页面底部,两端均clamp到maxScroll | | 20 | compare/step-4827 | 3.33% | 0 | 3.33% | ✅ 通过 | 与step-4800像素级一致 | ## A 批次:board-coach(4 单元,单屏×4 维度) | # | 单元 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|-----------|----------|-----------|------|------| | 21 | perf/step-0 | 11.20% | 4 | 10.92% | ✅ 条件通过 | 扣除白名单(tab-bar+字体)后<3% | | 22 | salary/step-0 | 11.23% | 0 | 11.23% | ✅ 条件通过 | 与perf基线delta+0.31% | | 23 | sv/step-0 | 10.75% | 0 | 10.75% | ✅ 条件通过 | 与perf基线delta-0.17% | | 24 | task/step-0 | 10.48% | 0 | 10.48% | ✅ 条件通过 | 与perf基线delta-0.44% | ## A 批次:board-customer(8 单元,单屏×8 维度) | # | 单元 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|-----------|----------|-----------|------|------| | 25 | recall/step-0 | 6.90% | 0 | 6.90% | ✅ 通过 | 白名单完全覆盖,净差异≈0% | | 26 | potential/step-0 | 4.25% | 0 | 4.25% | ✅ 通过 | 白名单完全覆盖 | | 27 | balance/step-0 | 4.15% | 0 | 4.15% | ✅ 通过 | 白名单完全覆盖 | | 28 | recharge/step-0 | 4.47% | 0 | 4.47% | ✅ 通过 | 白名单完全覆盖 | | 29 | recent/step-0 | 4.30% | 0 | 4.30% | ✅ 通过 | 白名单完全覆盖 | | 30 | spend60/step-0 | 3.87% | 0 | 3.87% | ✅ 通过 | 白名单完全覆盖 | | 31 | freq60/step-0 | 4.58% | 0 | 4.58% | ✅ 通过 | 白名单完全覆盖 | | 32 | loyal/step-0 | 4.57% | 0 | 4.57% | ✅ 通过 | 白名单完全覆盖 | ## B 批次:task-list + my-profile(4 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 33 | step-0 | task-list | 40.82% | 2 | 40.56% | ⚠️ 跳过 | Banner 用户信息区域结构差异+mock 数据+红戳/进度条设计差异 | | 34 | step-600 | task-list | 8.11% | 0 | 8.11% | ✅ 通过 | 白名单覆盖(tab-bar+字体+mock 数据差异) | | 35 | step-676 | task-list | 7.08% | 0 | 7.08% | ✅ 通过 | 白名单覆盖 | | 36 | step-0 | my-profile | 1.61% | 0 | 1.61% | ✅ 通过 | 完美还原,零修正 | ## C 批次:task-detail 系列(17 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 37 | step-0 | task-detail | 22.94% | 3 | 21.13% | ⚠️ 跳过 | mock 数据差异~15%+Banner 纹理~3%+字体渲染~3% | | 38 | step-600 | task-detail | 9.88% | 4 | 9.31% | ⚠️ 跳过 | 白名单覆盖(字体+Banner纹理+行高偏差+AI图标) | | 39 | step-1200 | task-detail | 7.39% | 1 | 7.39% | ⚠️ 跳过 | 白名单覆盖(字体+行高偏差+窗口微偏移) | | 40 | step-1800 | task-detail | 6.98% | 1 | 6.90% | ⚠️ 跳过 | 白名单覆盖(内容窗口错位~3-4%+字体渲染) | | 41 | step-2243 | task-detail | 6.41% | 0 | 6.41% | ⚠️ 跳过 | 白名单覆盖(内容窗口错位+字体渲染,R1回滚) | | 42 | step-0 | task-detail-callback | 20.07% | 2 | 19.80% | ⚠️ 跳过 | 技术栈实现差异+话术设计变体+mock 数据 | | 43 | step-600 | task-detail-callback | 15.14% | 1 | 15.05% | ⚠️ 跳过 | 白名单覆盖(话术设计变体+字体+CSS实现差异) | | 44 | step-1200 | task-detail-callback | 12.73% | 0 | 12.73% | ⚠️ 跳过 | 白名单覆盖(窗口偏移+话术变体+字体渲染) | | 45 | step-1645 | task-detail-callback | 7.15% | 0 | 7.15% | ⚠️ 跳过 | 白名单覆盖(话术变体+字体+CSS,双端 maxScroll clamp) | | 46 | step-0 | task-detail-priority | 24.09% | 0 | 24.09% | ⚠️ 跳过 | 白名单覆盖(mock数据+字体+Banner纹理+技术栈差异),orange主题色正确 | | 47 | step-600 | task-detail-priority | 10.78% | 0 | 10.78% | ⚠️ 跳过 | 白名单覆盖(字体+Banner纹理+mock数据+rpx偏移) | | 48 | step-1200 | task-detail-priority | 11.15% | 0 | 11.15% | ⚠️ 跳过 | 白名单覆盖(窗口错位+字体+Banner纹理,MP scrollTop clamp到943) | | 49 | step-1637 | task-detail-priority | 10.26% | 0 | 10.26% | ⚠️ 跳过 | 白名单覆盖(窗口错位+字体+Banner纹理,双端 maxScroll clamp) | | 50 | step-0 | task-detail-relationship | 20.49% | 0 | 20.49% | ⚠️ 跳过 | 白名单覆盖(mock数据+字体+Banner纹理+技术栈差异),pink主题色正确 | | 51 | step-600 | task-detail-relationship | 12.84% | 0 | 12.84% | ⚠️ 跳过 | 白名单覆盖(mock数据+字体+Banner纹理+CSS差异) | | 52 | step-1200 | task-detail-relationship | 14.68% | 0 | 14.68% | ⚠️ 跳过 | 白名单覆盖(窗口严重错位559px+字体+mock数据+Banner纹理) | | 53 | step-1523 | task-detail-relationship | 13.36% | 0 | 13.36% | ⚠️ 跳过 | 白名单覆盖(窗口错位873px+字体+mock数据,双端 maxScroll clamp) | ## D 批次:详情页(12 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 54 | step-0 | coach-detail | — | — | — | 未开始 | | | 55 | step-600 | coach-detail | — | — | — | 未开始 | | | 56 | step-1200 | coach-detail | — | — | — | 未开始 | | | 57 | step-1800 | coach-detail | — | — | — | 未开始 | | | 58 | step-2166 | coach-detail | — | — | — | 未开始 | | | 59 | step-0 | customer-detail | — | — | — | 未开始 | | | 60 | step-600 | customer-detail | — | — | — | 未开始 | | | 61 | step-1200 | customer-detail | — | — | — | 未开始 | | | 62 | step-1800 | customer-detail | — | — | — | 未开始 | | | 63 | step-2318 | customer-detail | — | — | — | 未开始 | | | 64 | step-0 | customer-service-records | — | — | — | 未开始 | | | 65 | step-209 | customer-service-records | — | — | — | 未开始 | | ## E 批次:绩效页面(18 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 66 | step-0 | performance | — | — | — | 未开始 | | | 67 | step-600 | performance | — | — | — | 未开始 | | | 68 | step-1200 | performance | — | — | — | 未开始 | | | 69 | step-1800 | performance | — | — | — | 未开始 | | | 70 | step-2400 | performance | — | — | — | 未开始 | | | 71 | step-3000 | performance | — | — | — | 未开始 | | | 72 | step-3600 | performance | — | — | — | 未开始 | | | 73 | step-4200 | performance | — | — | — | 未开始 | | | 74 | step-4800 | performance | — | — | — | 未开始 | | | 75 | step-5400 | performance | — | — | — | 未开始 | | | 76 | step-6000 | performance | — | — | — | 未开始 | | | 77 | step-6600 | performance | — | — | — | 未开始 | | | 78 | step-6953 | performance | — | — | — | 未开始 | | | 79 | step-0 | performance-records | — | — | — | 未开始 | | | 80 | step-600 | performance-records | — | — | — | 未开始 | | | 81 | step-1200 | performance-records | — | — | — | 未开始 | | | 82 | step-1800 | performance-records | — | — | — | 未开始 | | | 83 | step-1925 | performance-records | — | — | — | 未开始 | | ## F 批次:对话页面(3 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 84 | step-0 | chat | — | — | — | 未开始 | | | 85 | step-309 | chat | — | — | — | 未开始 | | | 86 | step-0 | chat-history | — | — | — | 未开始 | | ## G 批次:其他(3 单元) | # | 单元 | 页面 | 初始差异率 | 修正轮次 | 最终差异率 | 状态 | 备注 | |---|------|------|-----------|----------|-----------|------|------| | 87 | step-0 | notes | — | — | — | 未开始 | | | 88 | step-600 | notes | — | — | — | 未开始 | | | 89 | step-957 | notes | — | — | — | 未开始 | | --- ## 主代理会话恢复流程 **每次新会话开始时,主代理必须执行以下步骤:** ``` 步骤1:读取本文件(PROGRESS.md) → 找到「当前状态」区块,确认「下一个单元」 → 扫描单元表,找到第一个状态为「进行中」或「未开始」的行 步骤2:MCP 就绪检查 → mcp_weixin_devtools_mcp_get_connection_status → 若未连接:等待10秒后重试,最多3次 → 3次失败后:mcp_weixin_devtools_mcp_recompile 重新编译,再重试 步骤3:更新「当前状态」区块 → 填写「当前处理单元」和「本次会话目标」 步骤4:从「下一个单元」开始下发任务 → 严格按编号顺序,单元完成后立即更新本文件对应行 ``` **单元状态说明:** | 状态 | 含义 | |------|------| | 未开始 | 尚未处理 | | 进行中 | 当前会话正在处理 | | ✅ 通过 | 差异率 <5%,已收敛 | | ⚠️ 跳过 | 5轮未收敛,已记录差异,继续下一单元 | | 🔁 重写中 | 差异率 >20%,触发结构重写流程 | --- ## 变更日志 | 日期 | 变更 | |------|------| | 2026-03-12 | 迁移至 docs/miniprogram-dev/04-audit/,更新内部路径引用 | | 2026-03-11 | 新增会话恢复机制、MCP就绪检查、重写状态标记 | | 2026-03-10 | 全部 89 单元初始化,前置任务 P0-P3 完成 |