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
|
6bec98d584
|
review: M3+M4 成果审查后的质量加固
八角度审查 15 Provider+微信/七牛+双容器+导航。桥核心/契约骨架基本无误;修确凿问题:
正确性/健壮性
- ShakeProvider:stop()/onDestroy 取消未决 shakeEnd 计时并复位 pending(修停止后仍触发出站、重启后首摇被吞、计时器泄漏)
- VibrateProvider:startRepeat 先 stopRepeat(修重复 repeatvibrator('1') 叠加出无法取消的孤儿计时链)
- PhotoProvider:JSON.parse 后 Array.isArray 守卫(修 H5 传非数组致 .map 抛错、出站永不下发使 H5 挂死);去不可达 .catch
- GenericWebContainer:getWebdata 直调改用 JSON.stringify 生成 JS 字符串实参(修 data 含换行/行分隔符断行致注入语法错误)
- LocationProvider:单次请求前先停连续监听(修连续后切单次仍持续推送);去 push() 中 !continuousOn→stopContinuous 死代码
加固/清理
- BridgeGameContainer:抽 firstReadyPush() 幂等助手(appservice/setPostUrl/pendingWebdata);保持 100% 触发时序
(注明为何用 100% 而非更早 onPageEnd:确保 H5 已注册 handler);aboutToDisappear 置空 hostCtx/config/resource
研判驳回(与原 Android 一致/契约默认/自愈):getphonestate CallState 值映射、通用容器 orientation 默认横屏、setMuted prepared 自愈、exitDialog backgameData() 无参通知。
延期(随微信集成):WeChatApi 单例陈旧回调/instanceof(容器重建后回调打旧 bridge;微信运行期本就待开放平台注册)。
记录待重构:AbstractProvider 基类 + parseJson 助手(去 15 Provider 重复 bridge/ctx/解析样板)、AVPlayer 复用、openBrowser/orientation 抽公共。
devecocli build 通过;单测通过;模拟器复测桥往返/appservice/setPostUrl 无回归。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 21:30:06 +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 |
|