lanterngamescn
|
02d0ae0856
|
fix: 桌面显示名 EntryAbility_label 改为 进贤聚友棋牌(原为模板占位 label)
|
2026-06-27 14:39:10 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
2702b619a7
|
启动改为:纯白启动窗 → 全屏 splash 启动图
- startWindowIcon 改为透明图 start_window_blank.png(108×108),系统启动窗仅剩白底 → 纯白屏
(顺带消除 startWindowIcon 超 144px 限制的构建警告)。
- SplashPage 恢复用全屏启动图 launch_image(ImageFit.Cover)+ navy 阶段文案 + 金色进度条。
- 删除不再引用的 startIcon.png。
时序:纯白启动窗 → 淡入全屏启动图(大 logo)+进度。系统窗无 logo,不存在两套资源比例不一致问题。
模拟器验证:首屏纯白,随后全屏启动图 + "准备游戏资源/正在下载更新NN%"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 20:46:08 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
fbad796ab3
|
清理:删除已无人引用的 launch_image,闪屏资源统一为单一 startIcon
系统启动窗(startWindowIcon)与 SplashPage 现已统一引用同一个 $media:startIcon,
横图 launch_image 因系统启动窗无法铺全屏图而被淘汰、已无任何引用,删除以保证
"一套闪屏资源"单一来源,避免再次出现两套资源比例漂移。devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 20:33:57 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
ccf5a2acec
|
启动闪屏体验修复:品牌启动窗 + 阶段中文文案 + 白底可见的进度条
针对"首屏白底系统窗、闪屏文字不可见、缺阶段提示"修复:
- startWindowIcon(startIcon.png) 由 DevEco 默认蓝色图标换成与闪屏一致的品牌 logo
(白底+金色游戏手柄+快乐游戏健康生活),系统启动窗与 SplashPage 无缝衔接,消除白屏突兀感。
- SplashPage:
- 修复白色文字在白底闪屏上不可见的问题,改用品牌 navy 文字 + 金色进度条/加载圈。
- 各启动阶段展示中文文案:读取本地配置/检测网络权限/获取配置文件/检测升级版本/
准备游戏资源/正在下载更新NN%/即将进入大厅;下载阶段进度条实时推进。
模拟器验证:系统启动窗=白底金 logo;SplashPage 0.4s 显示"准备游戏资源35%",
下载期显示"正在下载更新69%"金色进度条。
注:网络/震动/传感器为 normal 级权限,安装即授予、无运行期弹窗(HarmonyOS 正常行为,非缺陷);
定位为 user_grant,按设计在 H5 首次调用定位能力时才弹窗,启动期不申请。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 18:07:35 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
4b671c7437
|
素材接入:分享面板图标 + 启动闪屏 + App 图标(从 docs/Res 拷入)
- 分享图标:shareWechat/QQ/Douyin@3x → entry media,SharePanel 颜色块占位替换为
真实图标 Image($r('app.media.share_*'))
- 启动闪屏:LaunchImage(2436x1125 横屏) → launch_image,SplashPage 改为全屏背景图
+ 底部叠加启动进度/公告(白字)
- App 图标:AppIcon 替换 AppScope/entry 的 layered_image foreground 前景层
docs/Res 为只读原始素材库,按需拷入;显示效果待真机/模拟器确认
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 12:24:42 +08:00 |
|
lanterngamescn
|
9be1a23635
|
review: M5 双 Web 审查后的质量加固(两轮真机验证)
八角度审查双 Web 批次。修确凿问题:
铁律风险(最高)
- network_config:base-config cleartextTrafficPermitted 由 false 改 true。我之前的"白名单收紧"比平台默认更严,
会拦掉 H5 可能访问的任意第三方明文 http 与本地 127.0.0.1 上传 → 违反 H5 零改动。改回允许明文(对齐原 Android)
正确性
- 子游戏 controller 不再复用:每次进子游戏 new WebviewController()(存 slotS.controller),消除"复用同一 controller
时 onControllerAttached 不再触发致第二个子游戏建不出桥"的竞态。真机两轮验证 subB 桥正常 ✓
- BridgeController.dispose 置 active=false:显式抑制 dispose 后能力延迟异步 callHandler(不靠 adapter emitter-off 偶然安全)
- WebSlot.resumeLoaded 补发 setPostUrl:覆盖"非激活期渲染崩溃重载后 onFirstProgress 被闸门抑制丢失上传地址"。真机验证返回必带 setPostUrl ✓
- onRenderExited 不可见时延迟重载:非激活槽崩溃标记 needReload,激活时再 reload(官方建议可见后重载);activate 返回是否重载,resumeLoaded 据此避免重复推送
- 容器 aboutToDisappear:先退订 cancels 再 dispose 槽,关闭销毁期事件又建槽窗口
- LocationProvider:权限对话框 await 后加 disposed 守卫(防 onDestroy 后再注册监听泄漏+打已弃桥)
- AudioProvider:createAVPlayer.then 加 disposed 守卫(创建期已销毁则直接 release,防孤儿播放器泄漏)
- NetworkProvider.onForeground:重订阅后补播当前网络(覆盖非激活期网络变化,避免 H5 状态陈旧)
研判驳回:network_config 需 metadata 关联(官方文档证实 profile 路径自动识别);app 前后台只发 activeSlot(非激活大厅已收 appservice'2',正确)。
延期:WeChatApi 单例陈旧回调(随微信集成)。
devecocli build + scripts/test.sh 通过;模拟器两轮(大厅↔subA↔大厅↔subB↔大厅)无回归。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 00:13:44 +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
|
9dc3e2ddf7
|
M3(批4): 图片/摇一摇/扫码/相机/定位 Provider
T-M3-07 PhotoProvider:getphoto 批量下载到资源根 photos/(file:// 白名单内) → 出站 getphoto[{pid,photourl}],复用 Downloader 并行
T-M3-08 ShakeProvider:startshake/SwitchShake/stopshake,@ohos.sensor 加速度合力阈值检测+节流,~1s 后出站 shakeEnd(空串),反馈震动
T-M3-11 ScanProvider:opensaoma → @kit.ScanKit 默认界面扫码(免权限) → 出站 getsaomaData(originalValue)
T-M3-12 CameraProvider:opencamera → @kit.CameraKit cameraPicker.pick(免权限) → 出站 getcameraaAddress(resultUri)
T-M3-09 LocationProvider:startlocation(连续/单次,用时申请权限)/getlocationinfo(同步) → geoLocationManager 定位+逆地理编码 →
出站 getlocationinfo(MaplocationInfo;错误码 0/-1未就绪/-2权限拒绝)
module.json5 增 ACCELEROMETER/LOCATION/APPROXIMATELY_LOCATION;组装根装配 5 者
devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 19:59:04 +08:00 |
|
lanterngamescn
|
d2da223c8d
|
M2(领域层): ConfigManager/VersionResolver/ResourceManager/AppDataInjector/StartupOrchestrator
T-M2-05 ConfigManager:本地 rawfile/app_config.json(§4.2 实测值)、远程 URL 拼装('-'→'/'+.txt+?a=ts 禁缓存)、
长度<30 走 showmessage 阻断、二级 url 二次请求(语义待真机校验)、产出版本决策
T-M2-06 VersionResolver:纯函数,agentlist/gamelist 两棵树 + agent→channel→market→game 后层覆盖 +
两树取更高 version(§4.4)。单测 8 用例全通过,覆盖率 81.8%(≥80%)
T-M2-07 ResourceManager:沙箱路径规范、内置包拷贝解压、version.xml 解析(@ohos.xml)、远程 zip 下载/删旧/解压、版本比较
T-M2-09 AppDataInjector:加载前写 <gameDir>/app_data.js(§6 全局变量同名同义,JSON.stringify 安全字面量)
T-M2-11 StartupOrchestrator:INIT→…→ENTER_HALL 状态机,远程失败降级本地、showmessage 阻断、weburl 空/非空入口规则
配套:module.json5 声明 ohos.permission.INTERNET + reason_internet 字符串
devecocli build 通过;scripts/test.sh 单测全通过(修复 PermissionRequestResult 顶层导入)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 18:29:45 +08:00 |
|
joywayer
|
561af47817
|
first commit
|
2026-06-25 06:25:30 +08:00 |
|