 joywayerandClaude Opus 4.7
|
6c943e2924
|
Phase 1.15:VibratorHandler 单次振动 handler
新增 ylgamehall/Source/Bridge/Handlers/VibratorHandler.swift:
- 无状态 public enum VibratorHandler,static func register(on:)
- 入参忽略(参考原 msext RootVC.m:1816-1818:time 参数实际不读取)
- 副作用:AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
- responseCallback:.string("vibrator"),与契约 §3.1 [10]一致
- 模拟器无振动硬件、调用静默忽略;真机才能感知
WebContainerViewController.viewDidLoad 新增 registerBridgeHandlers()
单一聚合点,Phase 2+ 在此追加更多 handler,便于发现 / 调试。
repeatvibrator / canclevibrator 严格守住 Plan §5 Phase 2.2 范围,不
提前实现。
BuildProject 通过
Plan 进度已勾选(§5 Phase 1.15 + §8)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 04:02:33 +08:00 |
|
 joywayerandClaude Opus 4.7
|
0ecfa4fb69
|
修复 SplashImage 方向:素材逆时针旋转 90° 改为真正横屏
源素材 docs/res/Res/Default-568h@2x~iphone.png 是 CgBI PNG,物理 640×1136
但画面内容是"横躺"在竖向容器里 —— msext 旧 LaunchImage 系统依赖 device
orientation 自动旋转,现代 LaunchScreen.storyboard 没有这个魔法,直接显示
会看到躺倒的画面(用户反馈:启动图的横竖方向错误)。
处理:
- 用 sips -r -90 -s format png 一次性把素材逆时针旋转 90° 输出为标准
PNG(顺便去掉 CgBI 优化标志),物理像素 1136×640,覆盖到
ylgamehall/Assets.xcassets/SplashImage.imageset/SplashImage@2x.png
- LaunchScreen.storyboard 中 <image> 的 width/height 从 640/1136 改为
1136/640;UIImageView 的 contentMode 从 scaleAspectFill 改为
scaleAspectFit。aspectFit 在比 16:9 更宽的现代横屏 iPhone(如 16 Pro
≈2.17:1)上左右补黑边(黑底无视觉违和),保画面完整不裁切 logo
- WebContainer 的 SplashOverlay 用同款 scaleAspectFit,避免启动 → 容器
视觉过渡时出现裁切方式跳变
- BuildProject 通过
Plan 进度已勾选(§5 Phase 1.14.b + §8 同步修订)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 03:10:53 +08:00 |
|
 joywayerandClaude Opus 4.7
|
f795957eb1
|
Phase 1.14.e:webView didFinish 后 0.3s 淡出 splash
把 WKNavigationDelegate.didFinish 里的 splash.isHidden = true 换成
UIView.animate(withDuration: 0.3) 渐变 alpha=0 + completion 内
removeFromSuperview,避免渲染瞬间硬切,也让 view 层级在大厅起来后
完全干净(无空持有的 splash 占位)。
BuildProject 通过
Plan 进度已勾选(§5 Phase 1.14.e + §8)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 02:51:25 +08:00 |
|
 joywayerandClaude Opus 4.7
|
f247b81d6d
|
Phase 1.14.d:WebContainerViewController(16:9 letterbox + Splash + 启动流水线)
新增 ylgamehall/Source/WebView/WebContainerViewController.swift:
- 持有 BridgedWebView(间接持 BridgeBus)+ 文件内私有 SplashOverlay
- 16:9 letterbox 布局:required(aspect 16:9 + width/height ≤ superview)
+ low(width/height = superview) + center{X,Y} 居中。屏幕比 < 16:9 → 上下
黑边,> 16:9 → 左右黑边。Auto Layout 自动选短边贴边、长边居中
- SplashOverlay:SplashImage(scaleAspectFill) + UIProgressView + UILabel;
update(text:progress:) 切换状态机
- runBootPipeline 串:ensureReady → "拉取配置中..." → RemoteConfigClient.fetch
→ 分支(.shortText / .parsed → showmessage / IPA 升级 / LobbyZipUpgrader
with onProgress hop 到 MainActor) → "加载大厅..." → loadFileURL(lobbyIndex,
allowingReadAccessTo: lobbyRoot)
- 三种 alert:showBlockingAlert(短文本/showmessage,永停)/
showIPAUpgradeAlert(确定→openURL,永停)/ showFatalAlert(重试→重跑 pipeline)
- WKNavigationDelegate.didFinish 暂用 splash.isHidden = true(1.14.e 改为
0.3s 淡出动画)
- 横屏锁定 + statusBar 显示(与 RootViewController 一致)
不接 SceneDelegate,1.16 才换 rootViewController;本次仅落地容器代码。
BuildProject 通过
Plan 进度已勾选(§5 Phase 1.14.d + §8)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-06-22 02:50:16 +08:00 |
|