对照原 Android 工程 + 线上实测配置,修正 4 处会破坏 H5 适配的根因: 1. 配置树层级改为真实的 agentlist→gamelist→channellist→marketlist (原抄了废弃 Bean1 的 agent→channel→market→game)。 2. 资源下载字段名 game_download → 真实的 game_zip(原永远取空,资源升级永不触发)。 3. marketid/版本为数字,匹配/比较做 string↔number 归一(原 === "3" 永不命中 market 层)。 4. 大厅 app_config.gameid 为空时回退 version.xml 的 <game id>(复刻 versd.getGameid()), 否则大厅永远定位不到自己的 game_zip。 实现: - RemoteConfig/VersionResolver 按真实格式重写,VersionResolver 复刻 chuliversion_1 的 game/channel/market 三层累积 + market 层 app 升级,"0"/空不覆盖。 - ConfigManager 拆分 fetchRemote(IO) / resolveWith(纯函数 + gameid 回退),移除失效的二级 url 编排。 - VersionXml 补解析 <game id>;ResourceManager 增 localGameId()。 - StartupOrchestrator 调整时序:内置资源(version.xml 种子)就绪→取 gameid→解析远程,拉取仍并行。 - 内置 gamehall_builtin.zip 改为真实版本种子(game id=G2hw... version=42),离线首启阻断、联网下载真实大厅。 - app_config.json gameconfig 切生产端点(去 _test),不再使用测试配置。 - VersionResolver 单测重写为真实格式 + 线上大厅样例。 注:远程配置格式属原生内部消费(H5 不可见),按铁律以线上服务器为准对齐。devecocli build 通过。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
501 B
501 B