53 KiB
阶段4B3调用事实与分期附件
日期:2026-09-24。配套分期与4B3A方案。
本附件是语法调用事实和阶段归属,不是4B3B完成的回调隔离合同。 所有B/C行当前均禁止凭此编码;它们既不进入A白名单,也不获得KV运行资格。A只新增四个尚无业务调用者的静态入口。
1. 可复现盘点和限制
使用本地.NET 9.0.310自带Roslyn,读取Client/Assets/Scripts全部2101个.cs文件,仅解析语法,不编译或执行游戏。五种条件符号合并去重:Editor Standalone、Editor Android+AGG、Player Android+AGG、Player iOS+AGG、Player Standalone。223个位置/81文件:外部facade 212、facade内部8、SDK3。原文本234行/84文件还包含注释、声明及B2配置引用,统计口径不同。
B3DesignAudit/calls.json逐项含源行、所在类型/方法/属性、完整参数、方法体、局部await行、编译条件、按方法名匹配的上游位置。source-hashes.json封存2101个源文件hash。工具源码也纳入受审基线,运行仅产生设计分析数据。
重要限制:CallerNameCandidates是名称候选,可能把不同类型的Save/Load混在一起;数量0也不能证明无UnityEvent/方法组/反射调用。AwaitLines只观察包含本调用的方法;空列表不是整条链同步的证据。未枚举的自定义编译符号和包内/持久化UnityEvent另需B审查。此处不输出未经语义验证的“全部上游已覆盖”结论。
可复现命令(项目内NuGet配置,无新包):dotnet run --project CodexOutput/upserver/B3DesignAudit/B3DesignAudit.csproj -- C:/projects/ft C:/projects/ft/CodexOutput/upserver/B3DesignAudit。送审后复跑需另给输出目录,不覆盖受审快照。
2. 已人工核对的调用链与设计约束
| 位置 | 已确认链/副作用 | 捕获和取消的待审合同 |
|---|---|---|
| C050 SavePlayerData | 17个按名候选,方法自身先Publish(this),再改NewPlayerDataDic并从Fish/Achievement/Box/Event读取;remote参数可传递 | 必须从最早内存变更者起捕获,不能到此方法末端才验epoch;需要保护整个跨模块序列化对象集合 |
| C038/C223 RewardTurntableRoll→ConsumeOnPlayfab | Panel:530传false;方法先Publish、扣券、更新过渡数据与红点,后localOnly保存;随后立即远端bool | B只隔离归属;4C设计未知结果与防重入;不能把两次保存当事务 |
| C051 OpenAppraisePopupPanel | FishingRewardPanel:963调用,await ShowUI后改IsOpenAppraise并存档 | 从打开UI前捕获,await后先检查;关闭旧面板和取消等待仍不能替代epoch检查 |
| C063~067 OnBuy/Replenishment→BuySuccess | OnBuy含SDK/支付await;Replenishment亦进入BuySuccess及奖励/事件 | 支付开始时绑定账号及业务单据,不能补单回调取当前账号;B处理归属,支付恢复语义另审 |
| C151/152 OnBuySuccess | LuckyADTaskPopupPanel:87将方法组交给Item.Init;即使方法内无await也有延后来源 | 在Item回调注册处捕获;面板退出退订/失效;进入回调即检查,早于领奖/计数 |
| C171 ClubSingin | 自身已有API身份/版本捕获与await后检查,随后signTime、保存、聊天及奖励 | 复用现有API防护并证明与KV Owner/epoch绑定;避免削弱既有ClubService边界 |
| C176 OnReceiveLinkAward;C182 GetSurveyCheckAnswer | 先AddItem/Publish后标记领取并保存;Survey catch会吞掉异常继续由调用者操作 | 防止“只看保存结果”方案;失败恢复/奖励契约单独裁决,不能写失败后重发奖励 |
| C001~003 EventDataRepository | ActivityManager:34注册单例;Activity.Data/AEventDataManager有Repository.Load??new T、Save后Publish、RefreshData中AutoSaveOnCreate | 仓库与上游默认值链一起改才有效;账号关闭必须使旧事件与实例归属失效 |
| C127~129 game.AEventDataManager | 构造时Subscribe(TargetEvent),Dispose释放;GetCacheData从全局facade读、缺档new T | 注册订阅时绑定账号归属,旧事件入队仍应拒绝;继承类和公开Data可变引用须另外追踪 |
| C213 OnLinkSns | 四个按钮方法await OnLinkSns后仍改按钮/发奖;OnLinkSns内部还有账号切换UI await | 外层及内层同一操作归属;不能仅在UpdateUserDataValue前检查;finally关闭等待UI也须限制原面板实例 |
| C190 GetPlayLv | 请求PlayFabId=参数playFabId,Keys=[Lv],写PlayLvs[playFabId]缓存 | 属他人PF资料;不接本人KV。个人身份切换及缓存清理另审 |
| C177/178 ShowNotice | 属性get惰性读缓存,setter会写存档 | 账号换代必须清旧缓存或绑定新实例;无await也不能默认为账号无关设置 |
3. 逐调用位置与拟归属
以下“局部await”列只描述所在方法语法。每行的上下文原文与上游候选保存在同ID JSON。key为源码表达式,不把泛型名/变量/插值key误记为一个固定键。
| ID | 源文件:行(相对Client/Assets/Scripts) | 所在方法/属性 | 调用 / key表达式 | 局部await | 拟归属 | 处理约束 |
|---|---|---|---|---|---|---|
| B3-C001 | Activity/Data/EventDataRepository.cs:26 | EventDataRepository.Save | UpdateUserDataValue / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C002 | Activity/Data/EventDataRepository.cs:38 | EventDataRepository.Load | GetLocalData / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C003 | Activity/Data/EventDataRepository.cs:55 | EventDataRepository.Exists | GetLocalData / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C004 | Activity/Services/EventTokenService.cs:78 | EventTokenService.LoadFromPlayFab | GetLocalData / TransitionDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C005 | Activity/Services/EventTokenService.cs:109 | EventTokenService.SaveToPlayFab | UpdateUserDataValue / TransitionDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C006 | Aquarium/DataCenter/AquariumManager.cs:29 | AquariumManager.GetAquariumManagerData | GetLocalData / AquariumEventDataNewKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C007 | Aquarium/DataCenter/AquariumManager.cs:614 | AquariumManager.UpdateUserData | UpdateUserDataValue / AquariumEventDataNewKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C008 | Camp/CampDataMM.cs:145 | CampDataMM.SetIsFix | UpdateUserDataValue / "IsFix" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C009 | Camp/CampDataMM.cs:251 | CampDataMM.OnChangeCamp | UpdateUserDataValue / "CampDataDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C010 | Camp/CampDataMM.cs:279 | CampDataMM.UpdateCurrentData | UpdateUserDataValue / "IsOpenSkyscraper" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C011 | Camp/CampDataMM.cs:356 | CampDataMM.CompleteInit | UpdateUserDataValue / "IsOpenSkyscraper" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C012 | Core/PlayFabMgr.cs:86 | PlayFabMgr.CompareDatas | UpdateUserDataValue / key | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C013 | Core/PlayFabMgr.cs:97 | PlayFabMgr.CompareDatas | UpdateUserDataValue / key | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C014 | Core/PlayFabMgr.cs:126 | PlayFabMgr.Awake | UpdateUserDataValue / tokenSource.Token | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C015 | Core/PlayFabMgr.cs:146 | PlayFabMgr.OnApplicationPause | SyncData / — | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C016 | Core/PlayFabMgr.cs:151 | PlayFabMgr.OnApplicationPause | UpdateUserDataValue / tokenSource.Token | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C017 | Core/PlayFabMgr.cs:160 | PlayFabMgr.OnApplicationQuit | SyncData / — | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C018 | Core/PlayFabMgr.cs:169 | PlayFabMgr.OnDestroy | SyncData / — | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C019 | Core/PlayFabMgr.cs:179 | PlayFabMgr.UpdateUserDataValue | SyncData / — | 180 | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C020 | Core/PlayFabMgr.cs:252 | PlayFabMgr.SyncData | UpdateUserData / 见JSON完整请求 | 无(仅局部) | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C021 | Core/PlayFabMgr.cs:303 | PlayFabMgr.SyncDataImmidiate | UpdateUserData / 见JSON完整请求 | 311 | A保留旧区;C另审生命周期 | PF原流程;本次不改 |
| B3-C022 | DataCenter/BargainPackData.cs:181 | BargainPackData.SaveData | UpdateUserDataValue / "GeneralEventPackData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C023 | DataCenter/BattlePassData.cs:117 | BattlePassData.SaveBattlePassRecordTask | UpdateUserDataValue / "BattlePassRecordTask" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C024 | DataCenter/BuffDataCenter.cs:205 | BuffDataCenter.CheckMapBuff | UpdateUserDataValue / "BuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C025 | DataCenter/BuffDataCenter.cs:294 | BuffDataCenter.CheckTargetBuff | UpdateUserDataValue / "TargetBuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C026 | DataCenter/BuffDataCenter.cs:299 | BuffDataCenter.CheckTargetBuff | UpdateUserDataValue / "TargetBuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C027 | DataCenter/BuffDataCenter.cs:310 | BuffDataCenter.ClearTargetBuff | UpdateUserDataValue / "TargetBuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C028 | DataCenter/BuffDataCenter.cs:348 | BuffDataCenter.EndCollectionTargetWeight | UpdateUserDataValue / "TargetBuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C029 | DataCenter/BuffDataCenter.cs:458 | BuffDataCenter.AddGlobalBuff | UpdateUserDataValue / "GlobalBuffDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C030 | DataCenter/BuffDataCenter.cs:562 | BuffDataCenter.GetWeelyBuff | UpdateUserDataValue / "FishDailyBuff" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C031 | DataCenter/DataCenter.FishingEventData.cs:581 | FishingEventData.SetEvent | UpdateUserDataValue / "FixedTimeEventDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C032 | DataCenter/DataCenter.FishingEventData.cs:849 | FishingEventData.Condition_NoRechargeSeconds | GetLocalData / "LastPaymentTime" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C033 | DataCenter/DataCenter.FishingEventData.cs:869 | FishingEventData.Condition_NoRechargeDay | GetLocalData / "LastPaymentTime" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C034 | DataCenter/DataCenter.FishingEventData.cs:1055 | FishingEventData.SetEvent7 | GetLocalData / EventBreakPfData.PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C035 | DataCenter/DataCenter.FishingEventData.cs:1077 | FishingEventData.SetEvent7 | GetLocalData / EventCanPlayfabData.PlayFabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C036 | DataCenter/DataCenter.FishingEventData.cs:1153 | FishingEventData.SetEvent8 | GetLocalData / EventLuckMagicPlayfabData.Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C037 | DataCenter/DataCenter.FishingEventData.cs:1342 | FishingEventData.AddTurntableCoupon | UpdateUserDataValue / "TurntableRoll" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C038 | DataCenter/DataCenter.FishingEventData.cs:1361 | FishingEventData.RewardTurntableRoll | UpdateUserDataValue / "TurntableRoll" | 无(仅局部) | 4C消费合同;B先审归属 | 消费/等待;不得KV启用 |
| B3-C039 | DataCenter/DataCenter.FishingEventData.cs:1446 | FishingEventData.SetLimitedTimeEventDic | UpdateUserDataValue / "LimitedTimeEventDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C040 | DataCenter/DataCenter.FishingEventData.cs:2244 | FishingEventData.UpdateTurnTableData | UpdateUserDataValue / "WheelLevelCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C041 | DataCenter/DataCenter.FishingEventData.cs:2245 | FishingEventData.UpdateTurnTableData | UpdateUserDataValue / "WheelLevelFreeCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C042 | DataCenter/DataCenter.FishingEventData.cs:2266 | FishingEventData.AddIncreaseScore | UpdateUserDataValue / "WheelOperateCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C043 | DataCenter/DataCenter.FishingEventData.cs:2269 | FishingEventData.AddIncreaseScore | UpdateUserDataValue / "AllWheelOperateCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C044 | DataCenter/DataCenter.FishingEventData.cs:2286 | FishingEventData.IncreaseScore | UpdateUserDataValue / "WheelLevelCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C045 | DataCenter/DataCenter.FishingEventData.cs:2308 | FishingEventData.AddFreecount | UpdateUserDataValue / "WheelLevelFreeCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C046 | DataCenter/DataCenter.FishingEventData.cs:2328 | FishingEventData.IncreaseWheelLevel | UpdateUserDataValue / "WheelLevelCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C047 | DataCenter/DataCenter.GuideData.cs:685 | GuideDataCenter.Save | UpdateUserDataValue / "GuideSaveDataNew" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C048 | DataCenter/DataCenter.PlayerData.cs:339 | PlayerData.AddNewRod | UpdateUserDataValue / "NewRodList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C049 | DataCenter/DataCenter.PlayerData.cs:370 | PlayerData.RewardNewRod | UpdateUserDataValue / "NewRodList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C050 | DataCenter/DataCenter.PlayerData.cs:1182 | PlayerData.SavePlayerData | UpdateUserDataValue / "NewPlayerDataDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C051 | DataCenter/DataCenter.PlayerData.cs:1457 | PlayerData.OpenAppraisePopupPanel | UpdateUserDataValue / "IsOpenAppraise" | 1455 | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C052 | DataCenter/DataCenter.PlayerFishData.cs:429 | PlayerFishData.AddNewRod | UpdateUserDataValue / "RodData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C053 | DataCenter/DataCenter.PlayerFishData.cs:530 | PlayerFishData.RodLevelUp | UpdateUserDataValue / "RodLevelData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C054 | DataCenter/DataCenter.PlayerFishData.cs:589 | PlayerFishData.AddRodPiece | UpdateUserDataValue / "RodData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C055 | DataCenter/DataCenter.PlayerFishData.cs:619 | PlayerFishData.GMSetLvAll | UpdateUserDataValue / "RodData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C056 | DataCenter/DataCenter.PlayerFishData.cs:645 | PlayerFishData.GMSetStarAll | UpdateUserDataValue / "RodData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C057 | DataCenter/DataCenter.PlayerFishData.cs:1216 | PlayerFishData.MapNewUpdateUserDataValue | UpdateUserDataValue / $"Map_5_{mapID}" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C058 | DataCenter/DataCenter.PlayerFishData.cs:1349 | PlayerFishData.SetFishSwimToMap | UpdateUserDataValue / "FishSwimToMapCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C059 | DataCenter/DataCenter.PlayerFishData.cs:1352 | PlayerFishData.SetFishSwimToMap | UpdateUserDataValue / "FishSwimToMap" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C060 | DataCenter/DataCenter.PlayerFishData.cs:1363 | PlayerFishData.SetFishSwimToMapCount | UpdateUserDataValue / "FishSwimToMapCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C061 | DataCenter/DataCenter.PlayerFishData.cs:1433 | PlayerFishData.GetMapProgressReward | UpdateUserDataValue / "MapProgress" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C062 | DataCenter/DataCenter.PlayerShopData.cs:253 | PlayerShopData.AddVoucher | UpdateUserDataValue / "Voucher" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C063 | DataCenter/DataCenter.PlayerShopData.cs:372 | PlayerShopData.OnBuy | UpdateUserDataValue / "Voucher" | 427,445,457,466 | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C064 | DataCenter/DataCenter.PlayerShopData.cs:375 | PlayerShopData.OnBuy | UpdateUserDataValue / "LastPaymentTime" | 427,445,457,466 | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C065 | DataCenter/DataCenter.PlayerShopData.cs:432 | PlayerShopData.OnBuy | UpdateUserDataValue / "LastPaymentTime" | 427,445,457,466 | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C066 | DataCenter/DataCenter.PlayerShopData.cs:607 | PlayerShopData.Replenishment | UpdateUserDataValue / "LastPaymentTime" | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C067 | DataCenter/DataCenter.PlayerShopData.cs:631 | PlayerShopData.BuySuccess | UpdateUserDataValue / "BuyData" | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C068 | DataCenter/DataCenter.PlayerShopData.cs:702 | PlayerShopData.InitShopPackData | UpdateUserDataValue / "ShopPackBuyCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C069 | DataCenter/DataCenter.PlayerShopData.cs:732 | PlayerShopData.AddShopPackDailyBuyCount | UpdateUserDataValue / "ShopPackBuyCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C070 | DataCenter/DataCenter.PlayerShopData.cs:789 | PlayerShopData.AddShopGiftBuyCount | UpdateUserDataValue / "ShopGiftBuyCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C071 | DataCenter/DataCenter.PlayerShopData.cs:858 | PlayerShopData.AddChainPack | UpdateUserDataValue / "ChainPackDataNew" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C072 | DataCenter/DataCenter.PlayerShopData.cs:900 | PlayerShopData.AddOpenChainGifIndex | UpdateUserDataValue / "ChainPackDataNew" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C073 | DataCenter/DataCenter.PlayerShopData.cs:930 | PlayerShopData.AddAllPackCount | UpdateUserDataValue / "ShopAllPackBuyCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C074 | DataCenter/DataCenter.PlayerShopData.cs:968 | PlayerShopData.AddAdticket | UpdateUserDataValue / "AdvertAllCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C075 | DataCenter/DataCenter.PlayerShopData.cs:994 | PlayerShopData.AddAdvertCount | UpdateUserDataValue / "AdvertAllCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C076 | DataCenter/DataCenter.PlayerShopData.cs:1009 | PlayerShopData.ClearAdvertCount | UpdateUserDataValue / "AdvertAllCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C077 | DataCenter/DataCenter.PlayerShopData.cs:1053 | PlayerShopData.SetVIPPackNext | UpdateUserDataValue / "VIPAdPackData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C078 | DataCenter/DataCenter.PlayerShopData.cs:1085 | PlayerShopData.OpenAdPack | UpdateUserDataValue / "VIPAdPackData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C079 | DataCenter/DataCenter.PlayerShopData.cs:1142 | PlayerShopData.UpdateTurntableAd | UpdateUserDataValue / "TurntableAdData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C080 | DataCenter/DataCenter.PlayerShopData.cs:1236 | PlayerShopData.SetItemShopSlotBought | UpdateUserDataValue / "DiamondShopItemRecords" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C081 | DataCenter/DataCenter.PlayerShopData.cs:1251 | PlayerShopData.RefreshDiamondShop | UpdateUserDataValue / "DiamondShopRefreshCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C082 | DataCenter/DataCenter.PlayerShopData.cs:1291 | PlayerShopData.AutoRefreshDiamonShop | UpdateUserDataValue / "DiamondShopRefreshCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C083 | DataCenter/DataCenter.PlayerShopData.cs:1292 | PlayerShopData.AutoRefreshDiamonShop | UpdateUserDataValue / "DiamondShopRefreshTime" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C084 | DataCenter/DataCenter.PlayerShopData.cs:1367 | PlayerShopData.RefreshItemShop | UpdateUserDataValue / "DiamondShopItemRecords" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C085 | DataCenter/DataCenter.SignupData.cs:105 | SigninData.SetDailySignEvent | UpdateUserDataValue / "MonthlySignEvent" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C086 | DataCenter/DataCenter.SignupData.cs:157 | SigninData.OnDailySign | UpdateUserDataValue / "MonthlySignEvent" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C087 | DataCenter/DataCenter.SmallGame.cs:79 | SmallGameData.SaveHeistGameCount | UpdateUserDataValue / "HeistGameCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C088 | DataCenter/DataCenter.SmallGame.cs:88 | SmallGameData.SaveBombGameCount | UpdateUserDataValue / "BombGameCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C089 | DataCenter/DataCenter.SmallGame.cs:97 | SmallGameData.SaveFishHuntGameCount | UpdateUserDataValue / "FishHuntGameCount" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C090 | DataCenter/DataCenter.TriggerPackData.cs:223 | TriggerPackData.TriggerAdsPack | UpdateUserDataValue / "FixedTimeShopDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C091 | DataCenter/DataCenter.TriggerPackData.cs:254 | TriggerPackData.TriggerAdsPack | UpdateUserDataValue / "TriggerPackDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C092 | DataCenter/DataCenter.TriggerPackData.cs:290 | TriggerPackData.RefreshTriggerPackData | UpdateUserDataValue / "FixedTimeShopDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C093 | DataCenter/DataCenter.TriggerPackData.cs:309 | TriggerPackData.RefreshTriggerPackData | UpdateUserDataValue / "TriggerPackDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C094 | DataCenter/DataCenter.TriggerPackData.cs:340 | TriggerPackData.AddTriggerPackData | UpdateUserDataValue / "FixedTimeShopDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C095 | DataCenter/DataCenter.TriggerPackData.cs:373 | TriggerPackData.ConditionTypeAdd | UpdateUserDataValue / "FixedTimeShopDic" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C096 | DataCenter/DataCenter.TriggerPackData.cs:475 | TriggerPackData.InitGiftVIPDData | UpdateUserDataValue / "GiftVIPDData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C097 | DataCenter/DataCenter.TriggerPackData.cs:519 | TriggerPackData.SetVIPLevel | UpdateUserDataValue / "GiftVIPDData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C098 | DataCenter/DataCenter.TriggerPackData.cs:576 | TriggerPackData.AddTriggerPack | UpdateUserDataValue / "TriggerPackDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C099 | DataCenter/DataCenter.TriggerPackData.cs:589 | TriggerPackData.AddTriggerPackCount | UpdateUserDataValue / "TriggerPackDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C100 | DataCenter/DataCenter.TriggerPackData.cs:644 | TriggerPackData.GetCurTriggerPackEndTime | UpdateUserDataValue / "TriggerPackDataList" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C101 | DataCenter/EventPackData.cs:103 | EventPackData.SaveEventPackData | UpdateUserDataValue / "EventPackData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C102 | DataCenter/EventPartnerGatherManager.cs:867 | EventPartnerGatherManager.SaveData | UpdateUserDataValue / SaveKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C103 | DataCenter/EventPinballDataManager.cs:378 | EventPinballDataManager.SyncData | UpdateUserDataValue / EventPinballConfig.SAVE_DATA_KEY | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C104 | DataCenter/EventPotionDataManager.cs:575 | EventPotionDataManager.SyncData | UpdateUserDataValue / EventPotionConfig.SAVE_DATA_KEY | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C105 | DataCenter/EventScratchTicketDataManager.cs:597 | EventScratchTicketDataManager.SyncData | UpdateUserDataValue / EventScratchTicketConfig.SAVE_DATA_KEY | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C106 | DataCenter/FishingChallengeManager.cs:1084 | FishingChallengeManager.DoSave | UpdateUserDataValue / SaveKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C107 | DataCenter/FishingEvent_PVPData.cs:101 | FishingEventData.SoloCheckClaimReward | GetLocalData / FishingDuelManager.SoloDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C108 | DataCenter/FishingEvent_PVPData.cs:123 | FishingEventData.ClaimReward | UpdateUserDataValue / FishingDuelManager.SoloDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C109 | DataCenter/FishingEvent_PVPData.cs:136 | FishingEventData.InitSoloData | GetLocalData / FishingDuelManager.SoloDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C110 | DataCenter/FishingEvent_PVPData.cs:265 | FishingEventData.AddPVPToken | UpdateUserDataValue / "PVPToken" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C111 | DataCenter/FishingEvent_PVPData.cs:275 | FishingEventData.SaveDuelData | UpdateUserDataValue / FishingDuelManager.SoloDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C112 | DataCenter/FishingEventData_OneOne.cs:22 | FishingEventData.SetPack1A1 | GetLocalData / Pack1A1DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C113 | DataCenter/FishingEventData_OneOne.cs:45 | FishingEventData.SetPack1A1 | UpdateUserDataValue / Pack1A1DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C114 | DataCenter/FishingEventData_OneOne.cs:61 | FishingEventData.SetPack1A1Index | UpdateUserDataValue / Pack1A1DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C115 | DataCenter/FishingEventData_OneTwo.cs:53 | FishingEventData.SetPack1A2 | GetLocalData / Pack1A2DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C116 | DataCenter/FishingEventData_OneTwo.cs:77 | FishingEventData.SetPack1A2 | UpdateUserDataValue / Pack1A2DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C117 | DataCenter/FishingEventData_OneTwo.cs:112 | FishingEventData.SetPack1A2Index | UpdateUserDataValue / Pack1A2DataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C118 | DataCenter/OfferChainsChestManager.cs:280 | OfferChainsChestManager.SaveData | UpdateUserDataValue / SaveKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C119 | DataCenter/OfferDiscoPartyManager.cs:294 | OfferDiscoPartyManager.SaveData | UpdateUserDataValue / SaveKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C120 | DataCenter/PiggyBankPackData.cs:196 | PiggyBankPackData.SaveData | UpdateUserDataValue / "PiggyBankPackData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C121 | DataCenter/PlayerFishDataRod.cs:77 | PlayerFishData.SaveInitRodAccessoriesData | UpdateUserDataValue / InitRodAccessoriesDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C122 | DataCenter/PlayerFishDataRod.cs:275 | PlayerFishData.AscendRod | UpdateUserDataValue / "RodData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C123 | DataCenter/PlayerFishDataRod.cs:357 | PlayerFishData.SaveHonorLevelData | UpdateUserDataValue / HonorLevelDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C124 | DataCenter/TotalRechargeManager.cs:25 | TotalRechargeManager.GetEventData | GetLocalData / TotalRechargeDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C125 | DataCenter/TotalRechargeManager.cs:178 | TotalRechargeManager.SaveTotalRechargeData | UpdateUserDataValue / TotalRechargeDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C126 | DebugFunc.cs:723 | DebugFunc.ClearLastPaymentTime | UpdateUserDataValue / "LastPaymentTime" | 无(仅局部) | B调试入口边界 | 默认禁止KV调试写;不默授权限 |
| B3-C127 | Event/AEventDataManager.cs:57 | AEventDataManager.SaveData | UpdateUserDataValue / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C128 | Event/AEventDataManager.cs:65 | AEventDataManager.SaveData | UpdateUserDataValue / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C129 | Event/AEventDataManager.cs:85 | AEventDataManager.GetCacheData | GetLocalData / typeof(T).Name | 无(仅局部) | B仓库与事件上游详审 | 泛型/继承;捕获异常默认值须拆开 |
| B3-C130 | EventBingo/EventBingoData.cs:476 | EventBingoPlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C131 | EventBingo/EventBingoData.cs:481 | EventBingoPlayfabData.Load | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C132 | EventBreak/EventBreakData.cs:241 | EventBreakPfData.Save | UpdateUserDataValue / PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C133 | EventCan/EventCanData.cs:436 | EventCanPlayfabData.Save | UpdateUserDataValue / PlayFabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C134 | EventCubeMelt/Data/EventCubeMeltManager.cs:140 | EventCubeMeltManager.SaveData | UpdateUserDataValue / SaveKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C135 | EventGatherCore/EventGatherCoreData.cs:315 | EventGatherCorePlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C136 | EventGatherCore/EventGatherCoreData.cs:320 | EventGatherCorePlayfabData.Load | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C137 | EventLuckGame/EventLuckyGameModel.cs:60 | EventLuckyGameModel.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C138 | EventLuckGame/EventLuckyGameModel.cs:166 | EventLuckyGameModel.OnEvent | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C139 | EventOfferJourney/EventOfferJourneyData.cs:322 | EventOfferJourneyPlayfabData.Load | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C140 | EventOfferJourney/EventOfferJourneyData.cs:329 | EventOfferJourneyPlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C141 | EventOfferJourney/EventOfferJourneyLvlTriggerData.cs:198 | EventOfferJourneyLvlTriggerPlayfabData.Load | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C142 | EventOfferJourney/EventOfferJourneyLvlTriggerData.cs:205 | EventOfferJourneyLvlTriggerPlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C143 | EventStrikeLucky/EventLuckMagicData.cs:671 | EventLuckMagicPlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C144 | EventWelcomeBack/EventWelcomeBackManager.cs:31 | EventWelcomeBackManager.LoadData | GetLocalData / DataKey_WelcomeBack | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C145 | EventWelcomeBack/EventWelcomeBackManager.cs:231 | EventWelcomeBackManager.SaveData | UpdateUserDataValue / DataKey_WelcomeBack | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C146 | GampPlay/FishingB/FishingBehaviorB.cs:786 | FishingBehaviorB.ConsumeBaitOnPlayfab | SyncDataImmidiate / "NewPlayerDataDic" | 786 | 4C消费合同;B先审归属 | 消费/等待;不得KV启用 |
| B3-C147 | InfiniteBuilding/InfiniteBuildingData.cs:67 | InfiniteBuildingData.UploadData | UpdateUserDataValue / "InfiniteBuildingData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C148 | LuckyTask/UI/LuckyADTaskPopupPanel.cs:123 | LuckyADTaskPopupPanel.SetADItemData | GetLocalData / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C149 | LuckyTask/UI/LuckyADTaskPopupPanel.cs:137 | LuckyADTaskPopupPanel.SetADItemData | UpdateUserDataValue / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C150 | LuckyTask/UI/LuckyADTaskPopupPanel.cs:143 | LuckyADTaskPopupPanel.SetADItemData | UpdateUserDataValue / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C151 | LuckyTask/UI/LuckyADTaskPopupPanel.cs:183 | LuckyADTaskPopupPanel.OnBuySuccess | GetLocalData / LuckyTaskData.ADTaskADKey | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C152 | LuckyTask/UI/LuckyADTaskPopupPanel.cs:198 | LuckyADTaskPopupPanel.OnBuySuccess | UpdateUserDataValue / LuckyTaskData.ADTaskADKey | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C153 | LuckyTask/UI/LuckyTaskBtn.cs:64 | LuckyTaskBtn.SetRedPointState | GetLocalData / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C154 | LuckyTask/UI/LuckyTaskPanel.cs:16 | LuckyTaskPanel.SetItem | GetLocalData / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C155 | LuckyTask/UI/LuckyTaskPanel.cs:25 | LuckyTaskPanel.SetItem | UpdateUserDataValue / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C156 | LuckyTask/UI/LuckyTaskPanel.cs:31 | LuckyTaskPanel.SetItem | UpdateUserDataValue / LuckyTaskData.ADTaskADKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C157 | MatchGame/MatchGameManager.cs:62 | EventMatchGameManager.GetEventData | GetLocalData / EventMatchGameDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C158 | MatchGame/MatchGameManager.cs:494 | EventMatchGameManager.SaveData | UpdateUserDataValue / EventMatchGameDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C159 | MiniBP/MiniBattlePassDataProvider.cs:144 | MiniBattlePassDataProvider.GetMiniBattlePassRecord | GetLocalData / newDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C160 | MiniBP/MiniBattlePassDataProvider.cs:171 | MiniBattlePassDataProvider.SetMiniBattlePassRecord | UpdateUserDataValue / newDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C161 | SandDig/model/DiggingGameModel.cs:81 | DiggingGameModel.ActivityOpen | GetLocalData / DigCountKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C162 | SandDig/model/DiggingGameModel.cs:82 | DiggingGameModel.ActivityOpen | GetLocalData / DigGridDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C163 | SandDig/model/DiggingGameModel.cs:108 | DiggingGameModel.InitServerData | GetLocalData / DigCountKey | 111 | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C164 | SandDig/model/DiggingGameModel.cs:109 | DiggingGameModel.InitServerData | GetLocalData / DigGridDataKey | 111 | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C165 | SandDig/model/DiggingGameModel.cs:463 | DiggingGameModel.SaveDigCount | UpdateUserDataValue / DigCountKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C166 | SandDig/model/DiggingGameModel.cs:496 | DiggingGameModel.SaveData | UpdateUserDataValue / DigGridDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C167 | SandDig/model/DiggingGameModel.cs:512 | DiggingGameModel.SaveNull | UpdateUserDataValue / DigGridDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C168 | Services/AggUserService.cs:248 | AggUserService.InitData | UpdateUserDataValue / channel | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C169 | Services/ClubService.cs:140 | ClubService.SaveLureDonateData | UpdateUserDataValue / "LureDonateData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C170 | Services/ClubService.cs:159 | ClubService.SetOpenClubRed | UpdateUserDataValue / "IsOpenClubRed" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C171 | Services/ClubService.cs:626 | ClubService.ClubSingin | UpdateUserDataValue / "ClubSignin" | 620 | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C172 | Services/DeferredRewardStashService.cs:193 | DeferredRewardStashService.UploadData | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C173 | Services/DeferredRewardStashService.cs:199 | DeferredRewardStashService.LoadData | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C174 | Services/FootPrintService.cs:43 | FootPrintService.UploadData | UpdateUserDataValue / "FootPrint" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C175 | Services/FriendService.cs:48 | FriendService.SetLinkAwardData | GetLocalData / InviteLinkRewardCountKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C176 | Services/FriendService.cs:96 | FriendService.OnReceiveLinkAward | UpdateUserDataValue / InviteLinkRewardCountKey | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C177 | Services/SettingService.cs:108 | DefaultSettingService.ShowNotice | GetLocalData / "ShowNotice" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C178 | Services/SettingService.cs:116 | DefaultSettingService.ShowNotice | UpdateUserDataValue / "ShowNotice" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C179 | Services/SurveyService.cs:35 | SurveyService.SurveyService | GetLocalData / SurveyData | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C180 | Services/SurveyService.cs:40 | SurveyService.SurveyService | GetLocalData / SurveyReadSidData | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C181 | Services/SurveyService.cs:112 | SurveyService.GetSurveyAnswer | UpdateUserDataValue / SurveyReadSidData | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C182 | Services/SurveyService.cs:136 | SurveyService.GetSurveyCheckAnswer | UpdateUserDataValue / SurveyData | 无(仅局部) | B归属;奖励/支付结果另裁决 | 先变内存/奖励风险;禁自动重试 |
| B3-C183 | Services/UserService.cs:218 | PlayFabUserService.InitTapJoy | GetLocalData / "TapJoy_Diamond" | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C184 | Services/UserService.cs:316 | PlayFabUserService.SetMMTestValue | UpdateUserDataValue / MMTestKey | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C185 | Services/UserService.cs:325 | PlayFabUserService.GMMMT | UpdateUserDataValue / MMTestKey | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C186 | Services/UserService.cs:604 | PlayFabUserService.AvatarToPF | UpdateUserDataValue / "EAccoutUrl" | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C187 | Services/UserService.cs:610 | PlayFabUserService.InitData | CompareDatas / datas | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C188 | Services/UserService.cs:624 | PlayFabUserService.InitData | UpdateUserDataValue / MMTestKey | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C189 | Services/UserService.cs:648 | PlayFabUserService.InitData | UpdateUserDataValue / MMTestKey | 无(仅局部) | B归属+C初始化发布 | 登录/渠道/GM;不复用PF初始化 |
| B3-C190 | Services/UserService.cs:794 | PlayFabUserService.GetPlayLv | GetUserDataAsync / 见JSON完整请求 | 794 | 身份/外围专项保留PF | 读取他人Lv;不转本人KV |
| B3-C191 | UI/Advert/AdvertPanel.cs:97 | AdvertPanel.Condition_NoRechargeSeconds | GetLocalData / "LastPaymentTime" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C192 | UI/AdWheel/AdWheelManager.cs:100 | AdWheelManager.GetCachedData | GetLocalData / nameof(AdWheelData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C193 | UI/AdWheel/AdWheelManager.cs:120 | AdWheelManager.SaveData | UpdateUserDataValue / nameof(AdWheelData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C194 | UI/DeBugPanel.cs:575 | DeBugPanel.GMShootFishRefresh | UpdateUserDataValue / AquariumManager.AquariumEventDataNewKey | 无(仅局部) | B调试入口边界 | 默认禁止KV调试写;不默授权限 |
| B3-C195 | UI/JigsawPuzzle/JigsawPuzzleManager.cs:80 | JigsawPuzzleManager.GetCacheData | GetLocalData / nameof(JigsawPuzzleData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C196 | UI/JigsawPuzzle/JigsawPuzzleManager.cs:94 | JigsawPuzzleManager.SaveData | UpdateUserDataValue / nameof(JigsawPuzzleData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C197 | UI/OfferStoryChain/OfferStoryChainManager.cs:89 | Manager.Load | GetLocalData / PlayFabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C198 | UI/OfferStoryChain/OfferStoryChainManager.cs:124 | Manager.Save | UpdateUserDataValue / PlayFabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C199 | UI/OfferSweep/OfferSweepManager.cs:46 | OfferSweepManager.GetCachedData | GetLocalData / nameof(OfferSweepPackData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C200 | UI/OfferSweep/OfferSweepManager.cs:102 | OfferSweepManager.SaveData | UpdateUserDataValue / nameof(OfferSweepPackData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C201 | UI/OfferTreasureAscent/OfferTreasureAscentManager.cs:81 | Manager.Save | UpdateUserDataValue / PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C202 | UI/OfferTreasureAscent/OfferTreasureAscentManager.cs:88 | Manager.Load | GetLocalData / PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C203 | UI/PartnerFishBowl/EventPartnerData.cs:204 | EventPartnerData.LoadDataAsync | GetLocalData / EventPartnerPlayfabData.Key | 208 | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C204 | UI/PartnerFishBowl/EventPartnerData.cs:1377 | EventPartnerPlayfabData.Save | UpdateUserDataValue / "EventPartnerData" | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C205 | UI/PartnerFishBowl/EventPartnerEntryButton.cs:110 | EventPartnerEntryButton.LoadData | GetLocalData / EventPartnerPlayfabData.Key | 114 | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C206 | UI/PartnerStatue/EventPartnerStatuePlayfabData.cs:99 | EventPartnerStatuePlayfabData.Load | GetLocalData / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C207 | UI/PartnerStatue/EventPartnerStatuePlayfabData.cs:106 | EventPartnerStatuePlayfabData.Save | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C208 | UI/PartnerStatue/EventPartnerStatueTokenExchangeData.cs:192 | EventPartnerStatueTokenExchangeData.SaveData | UpdateUserDataValue / PlayfabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C209 | UI/PartnerStatue/EventPartnerStatueTokenExchangeData.cs:197 | EventPartnerStatueTokenExchangeData.LoadData | GetLocalData / PlayfabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C210 | UI/PinataPack/EventPinataPackDataManager.cs:110 | EventPinataPackDataManager.SaveData | UpdateUserDataValue / nameof(EventPinataPackData) | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C211 | UI/PinballUncountable/PinballUncountableManager.cs:55 | Manager.Load | GetLocalData / _playfabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C212 | UI/PinballUncountable/PinballUncountableManager.cs:261 | Manager.SavePlayfab | UpdateUserDataValue / _playfabKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C213 | UI/Setting/BindAccountPopupPanel.cs:209 | BindAccountPopupPanel.OnLinkSns | UpdateUserDataValue / accountType.ToString() | 205,216,225 | B渠道回调+身份专项 | await后UI/奖励也须旧epoch拒绝 |
| B3-C214 | UI/Setting/PlayerHeadPopupPanel.cs:201 | PlayerHeadPopupPanel.OnBtnFacebook | UpdateUserDataValue / EAccoutType.hwFacebook.ToString() | 198 | B渠道回调+身份专项 | await后UI/奖励也须旧epoch拒绝 |
| B3-C215 | UI/ShootingRange/BaseEventData.cs:15 | BaseEventData.UploadData | UpdateUserDataValue / _key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C216 | UI/ShootingRange/ShootingRangeData.cs:222 | EventShootingRangeData.UploadData | UpdateUserDataValue / Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C217 | UI/Shop/BlackFridayCouponData.cs:73 | BlackFridayCouponData.UploadData | UpdateUserDataValue / PlayFabDataKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C218 | UI/Shop/ChainPackWithProgressData.cs:30 | ChainPackWithProgressMigrationData.UpdateData | UpdateUserDataValue / ThanksGivingPackData.Key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C219 | UI/Shop/ThanksGivingPackData.cs:152 | ThanksGivingPackData.UploadData | UpdateUserDataValue / key | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C220 | UI/Social/Friend/FishingFriendAddPanel.cs:660 | FishingFriendAddPanel.ShowGiftIcon | GetLocalData / FriendService.InviteLinkRewardCountKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C221 | UI/SocialRush/SocialRushArchitecture.cs:69 | SocialRushArchitecture.SavePlayfab | UpdateUserDataValue / PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C222 | UI/SocialRush/SocialRushArchitecture.cs:76 | SocialRushArchitecture.LoadPlayfab | GetLocalData / PfKey | 无(仅局部) | B逐业务完整详审 | 同步末端不等于上游无延后回调 |
| B3-C223 | UI/Turntable/FishingTurntablePanel.cs:582 | FishingTurntablePanel.ConsumeOnPlayfab | SyncDataImmidiate / "TurntableRoll" | 582 | 4C消费合同;B先审归属 | 消费/等待;不得KV启用 |
4. B3B完整合同的进入条件
本轮不把B3B未知项隐藏到实施阶段。B方案送审前,每个拟启用的业务入口必须给出已验证的上游调用/事件注册位置、身份捕获点、首个字段/集合修改点、取消/退订点、共享对象生命周期、localOnly/奖励副作用、错误处置以及对应验收用例。整个B单元的启用白名单必须闭合;任何新增文件先入方案,不能从本81文件统计推导允许批量改动。
在此之前,旧业务路径维持原PF;公共kv登录仍BackendNotEnabled。主方案A验收不以该待完成工作为已解决。外部应对“可先实施A”单独裁决,若不同意则退回分期。