 lanterngamescnandClaude Opus 4.8
|
d335a589b6
|
修正 app_data.js 三处字段与 Android 不一致(H5 零改动)
§4.2 配置项接口逻辑审计发现 app_data.js 注入有三处偏离原 Android
inith5data(weclomeactivity1/NewwebviewActivity 两处实测一致):
1. app_version:Android 硬编码 `var app_version=1;`(数字常量,"初始化框架
加载方式"标志,非资源版本);原实现误用 res.localVersion()(如 "261" 且成
字符串)。改为固定数字字面量 1。契约文档 §6 此处亦误录为"version.xml 的
version",一并纠正。
2. app_gamename:Android 取 getAllFilename("gamestart")(即 'gamehall');原
实现误用 version.xml 的 <game name>(如"友乐游戏")。改为 config.gamestart。
3. app_getwifisignalLevel:Android 硬编码 `=1`(数字);原实现为字符串 '0'。
改为固定数字字面量 1。
buildValues 签名随之简化为 (config, launchtype),去掉不再需要的 version/
gameName 入参;大厅(StartupOrchestrator '0')、子游戏(BridgeGameContainer '1')
两调用点同步更新。buildJs 对 app_version/app_getwifisignalLevel 输出数字字面量
(无引号),其余字符串字段保持引号,逐字对齐 Android。
其余审计结论一致:11 个本地配置键读取一致(servertype/gameserver 契约标
"无代码读取"已正确省略);桥 handler getmarketname→market、getOther→other、
getothername→按名取配置(lookupConfig 全键 + 未知返回'')均与 Android getAllFilename
对齐。真机回归:大厅 V1.261 正常加载渲染。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-27 09:31:22 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
0fcee6de1e
|
文档同步:远程配置格式按线上真实格式纠正(契约§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>
|
2026-06-26 17:57:05 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
4e2b00b4b7
|
计划进度:LocalUploadServer 落地 + 分享截图上传链路
- T-M2-04 LocalUploadServer 从骨架→已落地(本机 HTTP server)
- T-M3-13 补 H5 主动 POST 截图上传链路(对齐原 OkHttpPhotoServer)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 08:20:02 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
cb3673cb1b
|
计划进度:M3 补全(分享面板/getcompareCode/app_gamename/EchoSample 移除)
- T-M3-13 更新为对齐原工程分享面板(微信SDK + QQ/抖音系统分享)
- 备注更新:getcompareCode 接版本决策、app_gamename 已解析、EchoSample 已移除
- M3 余项:T-M3-17 真机回归、录音 prepareaudio/微信注册 待外部
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 08:01:03 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
cc5db07ddd
|
计划进度:M5 收尾 03/06/07 完成,T-M5-08 延后 M6
- T-M5-03/06/07 标记完成(build 通过;真机量化/回归留真机阶段)
- T-M5-04/05 明细补 ☑(总览已完成,明细表对齐)
- T-M5-08 标 ⏸ 延后 M6(微信/七牛 SDK M6 才真集成);M6 登记承接
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 07:15:00 +08:00 |
|
lanterngamescn
|
c0addf8ec2
|
M5(T-M5-05): 安全加固清单(明文HTTP白名单 + 日志脱敏审计)
- 明文 HTTP 最小授权:新增 resources/base/profile/network_config.json(网络栈自动识别)——
base-config 默认禁明文,domain-config 仅放行 daoqi88.cn(含子域 tsgames/gameaudio)。附录B "明文域名显式放行"
- 日志脱敏审计:grep 确认无 code/token/openid/unionid/AppSecret/AK/SK 明文落日志(命中均为 resultCode/responseCode/stub)
- 已完成项复核:WebDebug 仅 debug(AppEnv.isDebug)、密钥下沉(微信code/七牛tokenProvider)、file 跨域最小授权(仅 filesDir/tsgames)
- 自定义 scheme(gamepaywelcome/gamepaywx…)随支付 M6 落地(现声明未处理 scheme 会致意外唤起,故延期)
WBS:M5 标记 T-M5-01/02/04/05 完成;余 T-M5-03 节流/06 可观测/07 冷启动/08 包体
devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 23:57:16 +08:00 |
|
lanterngamescn
|
cf2eebdad9
|
计划进度:M5 T-M5-01/02 双 Web 架构完成(真机验证)
01_WBS:T-M5-01/02 标记完成(双 Web 槽 + WebSlot 激活协议 + Provider 前后台,真机验证大厅常驻/接口隔离/只一个激活);
M5 进入进行中,余 T-M5-03 节流/04 崩溃兜底/05 安全加固/06 可观测/07 冷启动/08 包体
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 23:37:35 +08:00 |
|
lanterngamescn
|
f190fe69e3
|
M5 设计验证:file:// 存储共享真机验证通过 + 文档定稿
验证(临时 VerifyStoragePage 真机跑后已回退):
- localStorage:两个不同 file:// 路径(lsA/lsB)+setPathAllowingUniversalAccess 跨页共享 ✓(lsB 读到 lsA 写的值)
- cookie:file:// 不支持 WebView cookie;原 Android cookie 全在 native HTTP 层(Volley),WebView 未开 file-scheme cookie,
H5 不用 WebView cookie → 非缺口;http(s) cookie 由 WebCookieManager 应用级全局共享
- 结论:采用 file:// + setPathAllowingUniversalAccess + WebCookieManager(全局),无需自定义协议
文档:
- 框架新增 §7.5 双 Web 大厅/子游戏架构定稿(结构隔离/激活协议四联动/onInactive 不停JS的平台限制与 appservice 正解/存储验证结论/状态机/改造清单)
- 01_WBS:M5 标记"设计就绪",记存储验证通过
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 23:23:10 +08:00 |
|
lanterngamescn
|
d196b13e39
|
设计:确认 M5 大厅/子游戏双 Web 激活模型(用户约束)
用户明确:大厅 Web 常驻、子游戏 Web 进入创建/返回销毁(不保活);同时只一个激活(联网+收发包+界面更新),
非激活端 onInactive 彻底停网络+渲染;仅 大厅↔子游戏、无子游戏→子游戏;两 Web 各自独立桥+能力。
- 框架 §7.1:子游戏切换加"双 Web 激活模型"铁律块;M2/M4 单 WebView loadUrl 标为过渡实现
- 框架 §9:Web 保活/预热行改为双 Web 槽 + onActive/onInactive 模型
- 01_WBS:T-M5-01/02 重写为双 Web 槽(大厅常驻保活 + 子游戏临时 + 仅一个激活 + 各自独立桥),估时上调
- 记入项目记忆 m5-dual-web-activation-model
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 21:49:45 +08:00 |
|
lanterngamescn
|
6bd0cf7488
|
计划进度:M4 完成、NavProvider(T-M3-06)完成
- 01_任务分解WBS:M4 标记完成;T-M3-06 随 M4 完成;M3 进度 16/17(余 T-M3-17 真机回归、录音待服务端)
- 真机冒烟:16 能力含 nav 全注册、桥 appservice/getTime/nativeEcho 往返无回归(无 registration failed/RenderExited)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 21:00:56 +08:00 |
|
lanterngamescn
|
ef04f4e9e1
|
计划进度:M3 批5(音频播放+七牛上传器,15/17)
01_任务分解WBS:T-M3-10 音频播放完成、录音分档(QiniuUploader 就绪);M3 进度 15/17;
余 T-M3-06 NavProvider(并入 M4)、T-M3-17 真机回归
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 20:14:29 +08:00 |
|
lanterngamescn
|
829f267966
|
计划进度:M3 批4 完成(14/17,图片/摇/扫码/相机/定位)+ 真机回归冒烟
- 01_任务分解WBS:T-M3-07/08/09/11/12 标记完成;M3 进度 14/17;
余 T-M3-10 AudioProvider(录音上传需服务端,待单独推进)、T-M3-06 NavProvider(并入 M4)、T-M3-17 真机回归
- 真机冒烟:15 个能力全部注册成功、桥 appservice/setPostUrl/getTime/nativeEcho 往返无回归(无崩溃/RenderExited)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 20:02:54 +08:00 |
|
lanterngamescn
|
841a964693
|
计划进度:M3 批3 完成(10/17,微信分享+登录)
01_任务分解WBS:T-M3-13/14 标记完成;M3 进度更新为 10/17
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 19:43:40 +08:00 |
|
lanterngamescn
|
89af002e95
|
计划进度:M3 进行中(批1+批2 完成,8/17)
01_任务分解WBS:M3 标记进行中,新增 M3 任务明细块(已完成 6 Provider+2 桩,余 摇/定位/音频/扫码/相机/图片/分享/登录/导航/回归)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 19:20:46 +08:00 |
|
lanterngamescn
|
40b8c2e91c
|
计划进度:M2 完成、R-02(V2 file:// 跨域)关闭
- 01_任务分解WBS:M2 标记完成(13 任务),新增 M2 任务明细块与决策/偏差记录
- 03_风险登记册:R-02 关闭(setPathAllowingUniversalAccess 方案 + 真机复测 OK)
- 框架 §7.3:file:// 跨域改为已验证的具体方案(setPathAllowingUniversalAccess),保留 onInterceptRequest 回退
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 18:43:18 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
74b302e131
|
计划进度:M1 完成、R-18 关闭
- 01_WBS:M1 ☑ 完成(8 任务全 ☑,V1 通过、桥核心覆盖 87.3%)
- 03_风险登记册:R-18 关闭(探明 hvigorw 本地单测命令,封装 scripts/test.sh)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 12:27:18 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
38307e8d71
|
计划进度:M1 核心+V1 通过、单测受阻登记 R-18
- 01_WBS 进度总览:M1 近完成,T-M1-01~07 全 ☑、V1 真机通过;T-M1-08 单测代码就位待运行
- 03_风险登记册:新增 R-18(单测运行工具链缺口)+ 受阻任务记录 T-M1-08
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 09:07:49 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
206db9730a
|
M1: 桥引擎核心(T-M1-01~04)
100% 复刻 lzyzsd/JsBridge(对照原 Android com.tagmae.jsbridge 逐字):
- IWebController + WebviewControllerAdapter(emitter UI 线程守卫,§5.5) + FakeWebController(单测用)
- Message(5字段,undefined省略) + MessageCodec(toJson/toArray + dispatchMessage 两次正则转义逐字复刻)
- HandlerRegistry + 空实现 DefaultHandler 兜底(H5 调用永不报错最后防线)
- BridgeController:onLoadIntercept(decode→yy://return/yy://)/callHandler/send/onPageEnd/
flushMessageQueue(_fetchQueue 经 yy://return 回传,非 runJavaScript 返回值)/handleReturnData/
启动队列补发;对能力零感知、纯逻辑可测
- build 编译通过(ArkTS 严格)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:51:11 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
9280c00809
|
计划进度更新机制 + 标记 M0 完成
- CLAUDE.md 工作约定新增「及时更新计划进度」:按 Plan 实施时主动更新
01_任务分解WBS 任务状态,与代码提交同节奏
- 01_任务分解WBS 新增「进度总览」:M0 全部 7 任务标记完成 ☑,M1~M6 未开始;
记录 M0 期间确立的项目决策(包名/横屏/验证策略/devecocli 无 test)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:40:24 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
82459c708c
|
横屏改为 auto_rotation_landscape:横屏两朝向跟随传感器旋转,不进竖屏
- module.json5:landscape → auto_rotation_landscape(横屏正/反向 180° 跟随重力
感应自动旋转,但不进入竖屏),build 校验取值合法、安装启动通过
- 同步契约 §7 与框架 §7.4:'不跟随传感器' 修正为 '横屏两朝向内跟随旋转'
- H5 显式方向控制(含竖屏)仍由 setPreferredOrientation 保留,零改动不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:38:05 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
3a333bfe32
|
docs: 补充横屏项目约束(默认横屏、不支持竖屏自动旋转)
- 契约规范 §7:新增屏幕方向约束——默认横屏、不跟随传感器自动旋转;
但遵守 H5 零改动铁律,保留 orientation/SwitchOverGameData webtype/通用网页
orientation 三处 H5 显式方向控制(含竖屏),与原 Android 一致
- 框架指南 §7.4:实现落地——module.json5 orientation:landscape 默认横屏 +
运行时 window.setPreferredOrientation 按 H5 请求动态切换
- 经核对原 Android:上述三处确为真实竖屏切换(非死代码),故定调为
'默认横屏 + 不破坏 H5 方向控制'
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 08:26:40 +08:00 |
|
joywayer
|
561af47817
|
first commit
|
2026-06-25 06:25:30 +08:00 |
|