diff --git a/ylgamehall/Source/Bridge/Handlers/BackGameDataHandler.swift b/ylgamehall/Source/Bridge/Handlers/BackGameDataHandler.swift index e0099f8..b87738d 100644 --- a/ylgamehall/Source/Bridge/Handlers/BackGameDataHandler.swift +++ b/ylgamehall/Source/Bridge/Handlers/BackGameDataHandler.swift @@ -16,6 +16,27 @@ // H5 大厅页若误调 backgameData 会落空(bridge 无对应 handler → JS 端的 callback 直接卡), // msext 同款行为 — 这是契约边界,不在原生侧兜底。 // +// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +// ⚠️ 接入新 SDK 时必须回到此处补对应清理钩子(msext 在 backgameData / cleanUpAction +// 里逐项清理;我们当前是 stub,所以暂无需要清的状态。一旦真实接入下列任一 SDK, +// 在 MainActor.run 块里加对应清理一行): +// +// - Phase 4.E 微信 SDK:`WXApi.delegate = nil` +// (msext gameController.m:699;防止 pop 后微信回调指向已销毁的 SubGameVC) +// +// - Phase 5 高德定位:`LocationService.shared.stop()` + delegate nil +// (msext gameController.m:2473-2478 cleanUpAction;防止后台定位继续耗电 + +// 回调指向悬空对象) +// +// - Phase 3.B/C/D 录音 / 七牛上传:`Recorder.shared.cancel()` + +// `Uploader.shared.cancelInFlight()` +// (msext 通过 ChatVoiceRecorderVC 生命周期间接清理;我们的实现不会跟 VC 绑死, +// 必须显式 cancel 否则上传任务在 pop 后继续写网络) +// +// - Phase 8 Agora(若未来重启视频):`agoraKit.leaveChannel(...)` +// (目前 VideoRoomHandlers 是 stub 无需清理) +// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +// import Foundation