 joywayerandClaude Opus 4.7
|
0cdd709e66
|
中优 3 项收尾:Plan §6.4 里程碑 + Design §20.1 拆分 + Contract §10 验收清单
补完本轮 audit 与 Design 大改后的文档边界,避免后续 Phase 实施者
按陈旧描述走弯路。
1. Plan §6.4 文档同步段新增「Design 接口骨架覆盖里程碑」表:
- 4 行时间线记录 Phase 1 闭环 / Design 全 51 项接口骨架 / Contract §4.2
按 daoqi 原项目修订 / CLAUDE.md 加典型案例的 commit hash
- 末尾澄清「§3.4.1 撤销说明」与 §7.5 主路径关系,避免新人疑惑
2. Design §20.1 LobbyHandlers 加架构说明段:
- 明示实际拆为 AudioHandlers / DeviceHandlers / LocationHandlers /
ShakeHandlers / OpenurlTitleDataHandler 5 个 sub-struct(§8.1.1 /
§8.4.1 / §8.6 / §8.7 / §3.4.2 各自归属)
- LobbyHandlers 成为聚合点,依次调子 .register()
- 保留 monolithic register 速查表作为与 Contract §3.1 编号对账用
- 每行注释 §3.1 [N] 编号便于追溯
3. Contract §10 验收清单加 5 项硬约束:
§A 启动新增:
- app_*.js 4 个文件存在
- 15 个 app_* 全局变量命名 100% 正确(大小写硬约束)
- 大厅 vs 子游戏 app_Launchtype = "0"/"1" 字面差异
- app_gameid / app_compareCode 必须 undefined(早期 Contract 误列)
§B 桥接新增:
- H5 alert(msg) → UIAlertController 单按钮
- H5 confirm(msg) → 取消/确定 双按钮 + 正确返回 bool
至此 Plan / Design / Contract 三文档完全对齐 51 项接口(含 §7.5 app_*.js
15 个、§3.7 WKUIDelegate 2 个)。Phase 2 实施可直接对照 Contract §10
验收清单做契约测试。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 08:02:24 +08:00 |
|
 joywayerandClaude Opus 4.7
|
47a89aa49c
|
Contract §4.2:按原项目代码全面修订 app_*.js JS 注入清单
Phase 1.17 联调准备时回归原项目(CLAUDE.md「先看原项目」规则),
grep daoqi/msext 全部 "var app_" 字面字符串,对照本文档 §4.2 早期记录
发现 4 类硬错误:
1. 多列了不存在的变量 — 原项目代码字面字符串里**根本不写**:
- app_gameid grep 0 命中 → 删除
- app_compareCode grep 0 命中 → 删除
2. 文件名与变量名混淆 — msext 文件名不带 get、变量名带 get:
- 文件 app_battery.js → 内容 "var app_getbattery=%lf;" (gameController.m:1191 / NewRootVC.m:1706)
- 文件 app_network.js → 内容 "var app_getnetwork=%d;" (gameController.m:1198 / NewRootVC.m:1714)
早期文档统一写成 app_battery / app_network 容易让实施者把变量名也
去掉 get,导致 H5 业务读到 undefined → 修正
3. 漏列 6 项真实存在的变量(gameController.m:2160 / NewRootVC.m:1204
/ AppDelegate.m:259 字面字符串里都有):
- app_version 硬编码 "1"
- app_Launchtype 大厅 0 / 子游戏 1(⚠️ L 大写)
- app_getwifisignalLevel 硬编码 1(⚠️ wifi 小写、signal/Level 大小写区分)
- app_gamename 大厅 = gameStart / 子游戏 = game_name
- app_invitationcode tuiguang_id 推广码 / 邀请码
- app_gamesname 独立 app_gamesname.js 文件 (var<两空格>new Array)
4. 大厅 vs 子游戏字面差异之前未注明:
- app_Launchtype = 0/1
- app_gamedir:gamedir vs gamefilepath
- app_gamestart + app_gamename:gamestart vs game_name
新增"修订记录"小节明示三处修订的代码依据行号,方便未来回溯。
至此 Contract §4.2 与 Design §7.5 完全对齐(15 项变量,全部对应到
daoqi 原项目真实代码行)。Phase 2 实施 AppDataWriter 时按 Contract §4.2
为准,H5 端验收按 Contract 不会再有差异。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 07:58:02 +08:00 |
|