文档同步:远程配置格式按线上真实格式纠正(契约§4.3/4.4 + 框架指南 + WBS)

代码已对齐线上真实远程配置格式,同步修订设计文档(此前 §4 误录为废弃的
Bean1/GameupdateUtil 格式,会误导后续开发):
- 契约§4.3 配置 JSON 改为真实格式:顶层仅 agentlist、层级 agent→game→channel→market、
  资源字段 game_zip、marketid/版本为数字、无二级 url 二次请求;附旧格式纠正说明。
- §4.4 分层匹配改为真实遍历与累积规则 + gameid 回退 version.xml。
- §4.2 gameconfig 改生产端点;§5.4/启动流程图 game_download→game_zip;验收清单同步。
- 框架设计指南 §8.2/§8.3/落地映射表、Plan WBS T-M2-05/06 描述同步。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
lanterngamescn
2026-06-26 17:57:05 +08:00
co-authored by Claude Opus 4.8
parent 799e78d8af
commit 0fcee6de1e
3 changed files with 56 additions and 42 deletions
+3 -3
View File
@@ -50,8 +50,8 @@
- ☑ T-M2-03 解压:Unzipper(zlib.decompressFile)。**偏差**:下载/解压用原生异步 API 即满足"UI 不阻塞"
独立 TaskScheduler(TaskPool) 推迟到 M5 真有 CPU 密集任务(MD5)时再加,避免投机性死代码
- ☑ T-M2-04 权限/上传:PermissionGuard(用时申请,沙箱文件免存储权限)、LocalUploadServer(**已落地**@ohos.net.socket 本机 HTTP server,接 H5 POST 截图→PHOTO_UPLOAD→微信图片分享,见 T-M3-13)
- ☑ T-M2-05 ConfigManager:本地 rawfile/app_config.json + 远程拉取/校验(<30 阻断)/二级 url + 决策
- ☑ T-M2-06 VersionResolver:纯函数两棵树后层覆盖;单测 8 用例全通过,覆盖率 81.8%(≥80%
- ☑ T-M2-05 ConfigManager:本地 rawfile/app_config.json + 远程拉取/校验(<30 阻断) + 决策(按线上真实格式:单 agentlist 树,无二级 url
- ☑ T-M2-06 VersionResolver:纯函数,按线上真实格式 agent→game→channel→market 后层覆盖(game_zip / 数字 id 归一 / gameid 回退 version.xml);单测重写为真实格式 + 线上大厅样例;模拟器端到端验证(下载 261 版大厅渲染
- ☑ T-M2-07 ResourceManager:路径规范、内置包拷贝解压、version.xml 解析、远程 zip 下载/删旧/解压、版本比较
- ☑ T-M2-09 AppDataInjector:加载前写 app_data.js(§6 全局变量同名同义)
- ☑ T-M2-11 StartupOrchestratorINIT→…→ENTER_HALL 状态机,远程失败降级本地、showmessage 阻断
@@ -146,7 +146,7 @@
| ID | 目标 | 产出物 | 依赖 | 验收 | 估时 | 角色 |
|---|---|---|---|---|---|---|
| **T-M2-05** | 本地+远程配置 | `ConfigManager`:内置 `rawfile/app_config.json`(§4.2 全键);远程配置请求(`http://gameconfig 去-换/ .txt?a=ts`,禁缓存);`showmessage` 阻断、<30 错误文案 | T-M2-02 | 配置键齐全;远程 JSON 正确解析、阻断逻辑生效 | 2 | 台 |
| **T-M2-06** | 分层覆盖 | `VersionResolver``agentlist`/`gamelist` 两棵树 + 二级 `url` 二次请求 + agent→channel→market→game **后层覆盖**(纯函数) | T-M2-05 | 单测:多层样例覆盖结果正确(《契约规范》§4.4) | 2 | 台 |
| **T-M2-06** | 分层覆盖 | `VersionResolver`线上真实格式 单 `agentlist` 树 + **agent→game→channel→market 后层覆盖**`game_zip` / 数字 id 归一 / gameid 回退 version.xml纯函数) | T-M2-05 | 单测:多层样例覆盖结果正确(《契约规范》§4.4) | 2 | 台 |
| **T-M2-07** | 资源管理 | `ResourceManager`:路径规范、内置包拷贝+解压、`version.xml` 解析(@ohos.xml)、远程 zip 下载/删旧/解压、版本比较 | T-M2-03/06 | 首启拷贝、版本更新下载解压到正确目录(§5) | 2 | 台 |
| **T-M2-08 ⚠** | **阻塞性验证 V2** | 真机验证 `file://` 大厅页 XHR/fetch 取本地资源;结论报告 | T-M2-07 + T-M2-10 | V2 通过;否则启用 §7.3 自定义协议方案并更新设计 | 1 | 台/桥 |
| **T-M2-09** | app_data 注入 | `AppDataInjector`:加载前写 `<urlpath>/gamehall/app_data.js`(§6 全局变量同名同义) | T-M2-07 | H5 加载时能读到 `app_*` 变量;**时序在加载前**(§7.1 铁律) | 1 | 台 |