From 8fc37b0827b6c63121f956a2502a1c601ae7ef93 Mon Sep 17 00:00:00 2001 From: joywayer Date: Tue, 23 Jun 2026 01:59:01 +0800 Subject: [PATCH] =?UTF-8?q?Plan=20=C2=A78=20=E8=BF=9B=E5=BA=A6=E8=A1=A5?= =?UTF-8?q?=E6=BC=8F=EF=BC=9APhase=202=20/=204.11-4.12=20/=207.6-7.7=20?= =?UTF-8?q?=E5=85=A8=E5=8B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 2 大厅简单 handler 实际在 Phase 1 / 4.B 顺带都已落地(13 个文件全 存在于 Source/Bridge/Handlers/ + Source/Resource/),只是 §8 进度表 长期未同步。一次性补勾,并附实际实现文件路径方便检索。 Phase 4.11 / 4.12(截图 / 远端图分享)由 commit 8e4c36d 落地,§5 已勾, §8 这里也勾上。 Phase 7.6 finishweb / 7.7 browser overlay 实际在 OverlayViewController 首版(commit 0427bb9)就已实现 handleMessage 三分支,与 7.5 同时落地, 但 §8 当时只勾了 7.1-7.5,遗漏 7.6/7.7。 Co-Authored-By: Claude Opus 4.7 --- docs/Development-Plan.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/Development-Plan.md b/docs/Development-Plan.md index 41b71de..5abf9c2 100644 --- a/docs/Development-Plan.md +++ b/docs/Development-Plan.md @@ -525,8 +525,8 @@ Contract Design Plan(本文档) - [x] **4.8** `Source/Share/SharePlatform.swift` 协议 + `WechatShare` / `QQShare` / `DouyinShare`(闲聊不接,参 ADR-006) - [x] **4.9** `Source/Share/ShareCenter.swift`:sharefriend=1 弹 SharePanel;=2 直接微信朋友圈(msext gameController.m:585 等价) - [x] **4.10** `FriendsShareHandler.swift` → ShareCenter.dispatch → 反向 callback `sharesuccess({success:"2", type:<原 sharefriend>})` -- [ ] **4.11** 截图分享(type=2):`captureScreenshot` → WXImageObject + thumbImage 0.4x(msext gameController.m:637-658 等价)— Phase 4.F -- [ ] **4.12** 远程图片分享(type=其它):`downloadRemote` → WXImageObject + thumbImage 0.4x — Phase 4.F +- [x] **4.11** 截图分享 type=2(commit 8e4c36d):captureScreenshot → JPEG 0.6 + ImageProvider.scaledThumb 0.4x → WeChatManager.shareImage(WXImageObject + setThumbImage) +- [x] **4.12** 远程图片分享 type=其它(commit 8e4c36d):downloadRemote → JPEG 0.9 + scaledThumb 0.4x → shareImage 同一路径 #### 验收 @@ -897,19 +897,19 @@ H5 调 `OpenurlTitleData` 打开弹层 WebView,弹层内 H5 用 `window.settin - [ ] 1.17 Demo H5 联调 + 真机验证升级路径 ### Phase 2 大厅简单 handler + 反向 callback -- [ ] 2.1 剪贴板 -- [ ] 2.2 振动扩展 -- [ ] 2.3 摇一摇开关 -- [ ] 2.4 voicePlaying -- [ ] 2.5 getphoneInfo -- [ ] 2.6 browser -- [ ] 2.7 opensaoma 空注册 -- [ ] 2.8 DeviceInfo -- [ ] 2.9 BatteryMonitor -- [ ] 2.10 NetworkMonitor -- [ ] 2.11 AppLifecycleObserver -- [ ] 2.12 ShakeDetector -- [ ] 2.13 ExternalSubscriptions +- [x] 2.1 剪贴板(ClipboardHandler.swift) +- [x] 2.2 振动扩展(VibratorHandler.swift,Phase 1.15 顺带做完) +- [x] 2.3 摇一摇开关(ShakeHandler.swift + ShakeDetector) +- [x] 2.4 voicePlaying(VoicePlayingHandler.swift,全局开关由 RemoteAudioHandler 读) +- [x] 2.5 getphoneInfo(DeviceInfoHandler.swift,注意契约小写 i) +- [x] 2.6 browser(BrowserHandler.swift,UIApplication.open) +- [x] 2.7 opensaoma 空注册(OpenSaomaHandler.swift,cb-only stub 维持契约) +- [x] 2.8 DeviceInfo(DeviceInfoHandler.swift 与 2.5 合并实现) +- [x] 2.9 BatteryMonitor(Source/Resource/BatteryMonitor.swift,UIDevice batteryStateDidChange) +- [x] 2.10 NetworkMonitor(Source/Resource/NetworkMonitor.swift,NWPathMonitor) +- [x] 2.11 AppLifecycleObserver(Source/Resource/AppLifecycleObserver.swift,appservice "1"/"2") +- [x] 2.12 ShakeDetector(与 2.3 合并:UIResponder motionEnded → ShakeHandler) +- [x] 2.13 ExternalSubscriptions(WebContainerViewController + SubGameViewController 各自挂载/卸载) ### Phase 3 音频体系 - [x] 3.1 AudioPlayer(Source/Audio/AudioPlayer.swift,srcIsloop / stopBackground / volume 全路径) @@ -959,8 +959,8 @@ H5 调 `OpenurlTitleData` 打开弹层 WebView,弹层内 H5 用 `window.settin - [x] 7.4 OpenurlTitleData handler("title " 末尾空格 + 3s 节流由 Coordinator 守门) - [x] 7.5 Overlay backgameData(→ popOverlay 发 .subGameDidReturn → 父层 getWebdata) - [x] 额外 SubGameViewController 也订阅 .subGameDidReturn(覆盖 overlay→sub-game 返回) -- [ ] 7.6 Overlay finishweb -- [ ] 7.7 Overlay browser +- [x] 7.6 Overlay finishweb(OverlayViewController.handleMessage `.finishweb` → popOverlay nil) +- [x] 7.7 Overlay browser(OverlayViewController.handleMessage `.browser` → UIApplication.open,URL 容错带 percent encoding) ### Phase 8 视频房间 stub - [ ] 8.1 VideoRoom 协议