BackGameDataHandler:补 SDK 接入 TODO 清单(防止未来漏清理)

记录 Phase 4.E 微信 / Phase 5 定位 / Phase 3.B-D 录音上传 / Phase 8 Agora
真实接入时必须在此处补的对应清理钩子(msext 在 backgameData / cleanUpAction
里逐项清理;我们当前 stub 状态无需要清的状态,但落地任一 SDK 后必须回到此处补 1 行)。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
joywayer
2026-06-22 21:23:56 +08:00
co-authored by Claude Opus 4.7
parent c77037f407
commit 5b67e414b3
@@ -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