feat: migrate platform login scenes and native login flows
This commit is contained in:
@@ -0,0 +1,348 @@
|
||||
# 原项目与 Cocos 非房间平台界面功能对照
|
||||
|
||||
> 2026-09-05;主目录分支 codex/local-platform-login,代码基线 556c47a。目的:在继续非房间 RPC 前明确原入口、交互/状态、资源归属与 Cocos 缺口。本轮仅检查和整理文档。
|
||||
|
||||
## 结论
|
||||
|
||||
- 原项目本轮已整理 **22 个功能条目**,覆盖主要非房间平台入口、相关回包与关闭分支;其中黑白名单/VIP 管理只登记边界,房间与真实子游戏后置。文末列出尚未展开的专项项,不把本轮称为全项目每条鼠标分支的完整验收。
|
||||
- **Cocos 新项目界面逻辑尚不完整**。已通过真实验收的是 LocalPlatformLogin 诊断场景的本地启动、加载、游客登录。完整大厅、资料/设置/任务/仓库等业务面板仍缺实际接线。
|
||||
- 通过 funplay-cocos-mcp 对固定主工程 assets 递归只读检查:**55 个 prefab、3 个 scene**。55 个 prefab 均没有序列化业务组件、cc.Button、clickEvents、cc.EditBox、cc.ScrollView 或 cc.Animation。
|
||||
- 上述零计数不等于所有节点都不可点击:诊断入口运行时通过 Node.EventType.TOUCH_END 绑定游客与停止,通过代码驱动加载旋转。已同时搜索 assets/**/*.ts 的组件、实例化和事件绑定;未找到其他非房间业务面板的现代运行时接线。
|
||||
- asset-db 仅登记 Login.scene、LocalPlatformLogin.scene、scene-2d.scene;**没有 MainMenu.scene / Loading.scene**。旧 LoginFlow 仍调用 loadScene('MainMenu'),正常生产启动到大厅的链路尚未闭合。
|
||||
|
||||
## 核对边界与证据
|
||||
|
||||
- MCP 主工程:G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/,Creator 3.8.8。资源扫描 callId=fp_f377daed9f88526b,时间=2026-09-05T12:09:46.270Z;asset-db 场景查询 callId=fp_88f8733e86ee90e4;group/节点核对 callId=fp_826c54b22021a9fc、fp_f5d7b70d00007965。
|
||||
- 编辑器读取前后 query-dirty=false;未打开其它场景、未实例化资源、未触发 UI 点击或网络请求。MCP 执行器初次把路径分隔符误判为外部路径,复核脚本只有固定工程内的目录/JSON 读取后执行只读扫描。
|
||||
- 原项目路径为 projects/Game_Surface_3;gameabc_face.mouseup 分别转交 GameUI、Game_Modify、gameCombat。只查 11_GameUI.js 会漏掉模板战绩交互,目录名 01_SubGame 不能替代实际职责判断。
|
||||
- 本文中的旧行为依据当前源码;资源结构依据本次 MCP;真实登录结论引用[已保存验收报告](./2026-09-05-local-platform-login-acceptance.md),本轮没有重跑登录验收或测试。
|
||||
- RPC 字段索引见 [07-RPC全量清单](../../protocol/07-RPC全量清单.md)。本文记录界面流程,不另建一份运行时配置常量。
|
||||
|
||||
## 当前 Cocos 入口和核心的实际能力
|
||||
|
||||
- [LoginFlow.ts](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/LoginFlow.ts:68):旧 PlatformSession/NetClient,硬编码 A/C/G、mock_openid 与连接兜底,成功后跳 MainMenu;这不是新 Runtime 的正式入口。
|
||||
- [LaunchFlow.ts](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/LaunchFlow.ts:17):1 秒 scheduleOnce 模拟加载后跳 Login;脚本存在,但三份现有场景未挂它。
|
||||
- [SceneStart.ts](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/SceneStart.ts:17):mock playerState 演示,3 秒后写测试资料;现有场景未挂载,不能当服务器状态回显。
|
||||
- [两个 PlayerInfoView](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/PlayerInfoView.ts:18) 与 [views/PlayerInfoView.ts](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/views/PlayerInfoView.ts:52):相同 ccclass 名。前者只有 applyPlayer,无注释声称的 bindTo;后者有旧 session binder,但头像加载仍未实现。均未挂到本轮扫描的 prefab/scene;重复类名是后续接管风险,不据静态扫描断言当前已发生运行时冲突。
|
||||
- [UI 契约](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/presentation/ui-contracts.ts:1):PageId 只有 loading/login/lobby/room;PlayerModel 为 playerid/nickname/avatar/bean;UiRuntime 命令只有 login/joinRoom/prepare/exitRoom。没有任务、仓库、排行、反馈等页面状态和命令。
|
||||
- [诊断 View](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/scripts/local-platform-login/local-login-view.ts:39):游客触摸绑定、版本显示、busy、错误/停止;lobby 分支只是结果 Label。它隐藏其它登录方式,禁止展示 room。
|
||||
- 3A 完成的是无引擎接线核心,不包含完整平台各功能面板;上述缺口不等于要重做 3A,而是后续逐项扩展业务契约与 Cocos View。
|
||||
|
||||
## 资源名不能代替功能名
|
||||
|
||||
- **Layer7_ewm** 实际包含 group-104 黑名单和 group-105 短号排行榜;当前二维码 group-42 在 **Layer9_Feedback** 中。已有迁移参照手册的名字/功能说明需结合当前 group 核对。
|
||||
- **Layer9_Feedback** 同时有 group-74 反馈/兑换码、group-12 通知、group-42 二维码、group-98 房间列表。
|
||||
- **Layer29_PhoneInfo** 有 group-106 手机登录/绑定和 group-108 白名单;分享选项 group-107 实际在 **Layer603**。
|
||||
- **Layer601** 是 group-102 文本输入;数字输入为 Layer602_inputPannel 的 group-87;通用确认是 Layer420_CheckFree 的 group-36,虽然文件名带 Free,也被管理动作复用。
|
||||
- 对后续资源授权与绑定必须使用精确 prefab + group + 节点;不能把旧 spid 数字直接当成 Cocos 节点 ID,也不能只按 prefab 英文名分派业务。
|
||||
|
||||
## 功能逐项对照
|
||||
|
||||
下列除第 1 项的诊断边界外,均未完成新 Runtime + 实际 Cocos UI 的闭环验收。资源项标记“存在”仅指本次结构读取成功,不表示视觉、动画或业务已验收。
|
||||
|
||||
### 01. 启动、加载与游客登录
|
||||
|
||||
- 原入口与流程:旧 GameUI.utlmouseup case 177 → Func.visitorLogin;读取游客缓存或 simulatePlayerInfo → 登录数据准备 → Net.Send_login。GameUI.StartLoad / JumpWxAuth 管理显示。
|
||||
- 数据/配置:统一配置身份、游客账号、设备与环境来源;openid/unionid 必须齐全。
|
||||
- RPC/外部能力:player_login
|
||||
- 关闭、错误及边界:原项目游客入口不等于微信授权入口;诊断场景仅验证本地 H5 游客,不覆盖生产/原生/其它登录。
|
||||
- Cocos 资源(存在):[Layer1_Logo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer1_Logo.prefab)、[Layer614_Loading](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer614_Loading.prefab)、[Login_Layer](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/Login_Layer.prefab)。
|
||||
- Cocos 缺口/状态:诊断闭环已验收;普通 Login.scene 仍挂旧 LoginFlow,尚未切换为新 Runtime 正式入口。
|
||||
- 原代码依据:[11_GameUI.js:791](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:791)、[05_Func.js:1233](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/05_Func.js:1233)、[09_Net.js:122](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/09_Net.js:122)。
|
||||
|
||||
### 02. 协议同意、微信/手机/快速登录
|
||||
|
||||
- 原入口与流程:case 248 切换 ProtocolIndex,249 打开协议,250/253 关闭;case 3 在同意协议后走 accreditlogin,否则提示。手机登录 case 3253 按 phoneType=1 调 Func.phoneLogin,3255 调 deviceLogin。
|
||||
- 数据/配置:ProtocolIndex、phoneType、设备登录缓存与原生授权返回值。
|
||||
- RPC/外部能力:认证来源最终进入 player_login;不能把所有入口当成相同游客按钮。
|
||||
- 关闭、错误及边界:本轮只追到来源/调用点;微信、QQ、原生授权全部分支与真实设备回调仍待专项验收。
|
||||
- Cocos 资源(存在):[Layer10_Protol](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer10_Protol.prefab)、[Layer18_Auth](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer18_Auth.prefab)、[Login_Layer](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/Login_Layer.prefab)、[Layer29_PhoneInfo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer29_PhoneInfo.prefab)。
|
||||
- Cocos 缺口/状态:诊断 View 主动隐藏微信、手机、QQ、快速登录等节点;协议勾选与授权 UI 尚无现代接线。
|
||||
- 原代码依据:[11_GameUI.js:612](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:612)、[11_GameUI.js:1309](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1309)、[11_GameUI.js:2560](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2560)。
|
||||
|
||||
### 03. 大厅导航、入口开关与玩家头部
|
||||
|
||||
- 原入口与流程:旧菜单按 versionState、LaunchMode、agentmode、hallConfig/sysConfig 控制入口显隐;设置 7、任务 17、分享 14、个人信息 9 等经统一 spid 事件分发;菜单进入后更新公告和按钮。
|
||||
- 数据/配置:C_Player 资料和资产;功能开关、审核版本、入口配置、公告来源。
|
||||
- RPC/外部能力:导航本身不发统一 RPC,进入具体功能后才发对应请求。
|
||||
- 关闭、错误及边界:按钮有美术节点,不代表在所有模式下都应显示或可点。
|
||||
- Cocos 资源(存在):[Layer4_MainMenu](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer4_MainMenu.prefab)、[Layer6](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer6.prefab)、[Layer8_Notice](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer8_Notice.prefab)。
|
||||
- Cocos 缺口/状态:MainMenu.scene 不存在;Layer4 未挂业务组件。新 lobby PageModel 只有 self 的 playerid/nickname/avatar/bean,诊断只显示文字结果,不是完整大厅。
|
||||
- 原代码依据:[11_GameUI.js:3781](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:3781)、[11_GameUI.js:3915](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:3915)、[11_GameUI.js:4832](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4832)。
|
||||
|
||||
### 04. 个人资料与个性签名
|
||||
|
||||
- 原入口与流程:case 9 → OpenInfo_hall 显示昵称、ID、IP、地区、积分、豆豆与签名;116 关闭。3156 → openTextInput → setSignCallBack → Send_setSign;回包 C_Player.setSign 刷新签名。
|
||||
- 数据/配置:资料来自 C_Player;输入回调来自 GameData.textCallback;完整资料不等于现有四字段 PlayerModel。
|
||||
- RPC/外部能力:setSign;打开本人资料本身复用已登录数据。
|
||||
- 关闭、错误及边界:签名编辑取消、长度限制、回包前后状态;旧空签名占位语义需在来源/显示契约明确,不能复制兜底。
|
||||
- Cocos 资源(存在):[Layer17_PlayerInfo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer17_PlayerInfo.prefab)、[Layer6](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer6.prefab)、[Layer601](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer601.prefab)。
|
||||
- Cocos 缺口/状态:资料弹窗、文本输入、签名命令与响应均未接入;两个旧同名 PlayerInfoView 都不是该弹窗完整实现。
|
||||
- 原代码依据:[11_GameUI.js:4545](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4545)、[11_GameUI.js:2350](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2350)、[12_Logic.js:2224](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/12_Logic.js:2224)、[09_Net.js:739](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/09_Net.js:739)。
|
||||
|
||||
### 05. 设置与退出登录
|
||||
|
||||
- 原入口与流程:case 7 → OpenSetting(0),43/44/357/388 调音乐、音效、摇动、语音开关;Logic.TurnOn/Off 写设置并驱动能力。58 清登录/设备缓存并回授权页,来自大厅时提示去大厅退出。
|
||||
- 数据/配置:Utl.Config.bgm/sound/shake/voice、LaunchMode、hallConfig.logoffCallback。
|
||||
- RPC/外部能力:本地设置无对应业务 RPC;退出含原生回调条件。
|
||||
- 关闭、错误及边界:OpenSetting(mode=1) 含退房/解散行为,单列房间后置。case 47 在同一 switch 重复出现,不能按第二处标签判断必走 CloseSetting。
|
||||
- Cocos 资源(存在):[Layer609_Setting](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer609_Setting.prefab)。
|
||||
- Cocos 缺口/状态:无设置 Presenter、持久化接线、开关事件及现代退出登录生命周期。
|
||||
- 原代码依据:[11_GameUI.js:595](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:595)、[11_GameUI.js:701](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:701)、[11_GameUI.js:4201](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4201)、[12_Logic.js:1094](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/12_Logic.js:1094)。
|
||||
|
||||
### 06. 更多、公告和通知
|
||||
|
||||
- 原入口与流程:case 5 → OpenBoard;openPallet/closePallet 管理更多托盘;updateNoticeBoard 更新菜单公告。77/80 关闭通知,但配置允许时转而拉世界房间列表。broadcast 按 msgtype 分配即时消息或滚动公告。
|
||||
- 数据/配置:配置公告、通知选择状态与服务器 msgtype/msgcontent。
|
||||
- RPC/外部能力:broadcast;关闭通知可能触发 get_share_room(房间后置)。
|
||||
- 关闭、错误及边界:配置公告、推送公告、系统通知不是同一个数据源;通知关闭存在条件分支。
|
||||
- Cocos 资源(存在):[Layer8_Notice](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer8_Notice.prefab)、[Layer9_Feedback](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer9_Feedback.prefab)、[Layer402_GameNotice](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer402_GameNotice.prefab)。
|
||||
- Cocos 缺口/状态:无公告队列、滚动驱动、通知选择/翻页与更多入口接线。
|
||||
- 原代码依据:[11_GameUI.js:624](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:624)、[11_GameUI.js:666](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:666)、[11_GameUI.js:3356](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:3356)、[11_GameUI.js:3578](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:3578)、[11_GameUI.js:4357](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4357)、[07_Desk.js:1114](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1114)。
|
||||
|
||||
### 07. 反馈意见
|
||||
|
||||
- 原入口与流程:15 设置 feedMode=1 → OpenFeedback;550 取输入,非空时先 CloseFeedback 再 submit_opinion;回包 state=0 成功提示,否则失败提示。548 关闭,CloseFeedback 失焦、清输入、隐藏 group-74。
|
||||
- 数据/配置:身份来自 GameData/C_Player,content 来自输入551。
|
||||
- RPC/外部能力:submit_opinion
|
||||
- 关闭、错误及边界:原逻辑发送前关闭并清空输入;失败不会自动恢复草稿。不能宣称原实现已有完整忙碌态或重试保稿。
|
||||
- Cocos 资源(存在):[Layer9_Feedback](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer9_Feedback.prefab)。
|
||||
- Cocos 缺口/状态:没有输入控件、反馈命令、成功/失败回显、草稿和重复提交策略。
|
||||
- 原代码依据:[11_GameUI.js:630](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:630)、[11_GameUI.js:652](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:652)、[11_GameUI.js:6211](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:6211)、[07_Desk.js:1102](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1102)。
|
||||
|
||||
### 08. 邀请码查询与绑定
|
||||
|
||||
- 原入口与流程:235 → get_player_invitecode → 回包 setInvitecod 并 OpenBind;366 粘贴过滤数字;367 读取输入365,关闭后 binding_invitecode;362 关闭。OpenBind 按已绑定状态隐藏输入或显示结果。
|
||||
- 数据/配置:agentid/playerid/openid/unionid 用于查询;绑定请求只带其协议字段与 invitecode。
|
||||
- RPC/外部能力:get_player_invitecode、binding_invitecode
|
||||
- 关闭、错误及边界:已绑定/未绑定、剪贴板异步路径、空输入与服务器失败需独立核对;原长度检查曾被注释。
|
||||
- Cocos 资源(存在):[Layer16_Bind](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer16_Bind.prefab)。
|
||||
- Cocos 缺口/状态:无输入/粘贴/已绑定状态呈现,也无现代命令和回包处理。
|
||||
- 原代码依据:[11_GameUI.js:1342](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1342)、[11_GameUI.js:1359](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1359)、[11_GameUI.js:1375](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1375)、[11_GameUI.js:6591](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:6591)、[09_Net.js:602](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/09_Net.js:602)。
|
||||
|
||||
### 09. 任务列表、分享任务与领奖
|
||||
|
||||
- 原入口与流程:17 → get_player_task → Desk 写 TaskInfo → OpenTask 动态复制任务卡,按 state=0/1/其它显示进度、领取、已领取;滑动时抑制点击。去做任务关闭任务并打开分享;sharesuccess 条件满足发送 player_finish_task;get_task_award 回包改匹配任务状态并关闭重建列表。
|
||||
- 数据/配置:TaskInfo 的 taskid/title/award/finish/total/state,C_Player.taskstate 与 ConstVal.ShareTaskId。
|
||||
- RPC/外部能力:get_player_task、player_finish_task、get_task_award;refresh_task_state/can_award 有旧缺陷。
|
||||
- 关闭、错误及边界:CloseTask 清动态项;空列表、total=0、重复领奖均不能凭静态卡片推定正确。旧 UI 领奖构造未带 gameid,与 02 章字段描述存在差异,联调前核对服务器,勿消费端补值。
|
||||
- Cocos 资源(存在):[Layer26_Task](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer26_Task.prefab)、[Layer22_Share](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer22_Share.prefab)。
|
||||
- Cocos 缺口/状态:无任务列表模型、滚动/动态项、领取状态机、分享成功回调接线。
|
||||
- 原代码依据:[11_GameUI.js:727](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:727)、[11_GameUI.js:748](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:748)、[11_GameUI.js:4637](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4637)、[07_Desk.js:942](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:942)、[06_Player.js:424](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/06_Player.js:424)、[06_Player.js:499](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/06_Player.js:499)。
|
||||
|
||||
### 10. 财富榜与 VIP 排行榜
|
||||
|
||||
- 原入口与流程:604/3233 按 hallConfig.rankList=1 打开已有榜单,=2 请求 get_treasurelist;Desk 写 GameData.rankList 后 openRankList。3231/3232 请求 getVipRankList(limit),回包同一资源以 true 模式显示;605 关闭。
|
||||
- 数据/配置:rankList 开关、sysConfig.vipRankLimit、服务器 list。
|
||||
- RPC/外部能力:get_treasurelist、getVipRankList
|
||||
- 关闭、错误及边界:模式、条目数量、排序/展示字段和空数据需按服务端实际列表验证;短号场榜单另列房间管理。
|
||||
- Cocos 资源(存在):[Layer21_RankList](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer21_RankList.prefab)。
|
||||
- Cocos 缺口/状态:无列表请求、数据模型、动态行、模式切换和关闭生命周期。
|
||||
- 原代码依据:[11_GameUI.js:1853](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1853)、[11_GameUI.js:2540](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2540)、[11_GameUI.js:7628](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:7628)、[07_Desk.js:1225](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1225)、[07_Desk.js:1330](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1330)。
|
||||
|
||||
### 11. 战绩列表、分页与详情
|
||||
|
||||
- 原入口与流程:原模板的 gameCombat 位于 01_SubGame_modify.js;84/85 切查询类型,104/105 上下页,55 分级返回、61 关闭。Send_get_player_grade1 构造分页条件;回包解析 gradeinfo/gameinfo1,记录首末 idx,打开战绩。
|
||||
- 数据/配置:CombatInfo、CombatCount、combatData 类型与分页游标。
|
||||
- RPC/外部能力:get_player_grade1;get_player_grade2 仅有透传发送和空接收体。
|
||||
- 关闭、错误及边界:目录叫 SubGame 不等于要选择真实子游戏;本项仅核对原模板自带战绩。具体查牌/回放内容与真实游戏耦合的部分后置。
|
||||
- Cocos 资源(存在):[Layer12_CombatLayer](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer12_CombatLayer.prefab)、[Layer13](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer13.prefab)。
|
||||
- Cocos 缺口/状态:无现代战绩命令、分页、列表/详情 View;不能把 grade2 算成旧前端完整功能。
|
||||
- 原代码依据:[01_SubGame_modify.js:310](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/01_SubGame/01_SubGame_modify.js:310)、[01_SubGame_modify.js:737](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/01_SubGame/01_SubGame_modify.js:737)、[01_SubGame_modify.js:777](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/01_SubGame/01_SubGame_modify.js:777)。
|
||||
|
||||
### 12. 充值入口、商品金额与确认支付
|
||||
|
||||
- 原入口与流程:10/286/508 等入口按版本、agentmode、OS、androidPay、TopUpUrl/channelKey 分流外部页、原生或 get_paylist;回包 payList → OpenPay;选择商品与渠道 → OpenCheckPay;金额面板和确认面板分别关闭。
|
||||
- 数据/配置:渠道/市场身份、支付配置、payList、payData、原生回调,不能使用测试占位数据。
|
||||
- RPC/外部能力:get_paylist;pay_succ 为 HTTP;原生 yPaytype 还可能上行 update_roomcard/update_bean。
|
||||
- 关闭、错误及边界:商品查询成功不等于支付成功;下单、取消、回调与资产推送分开验收。
|
||||
- Cocos 资源(存在):[Layer11_ChargeInfo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer11_ChargeInfo.prefab)、[Layer14_Pay](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer14_Pay.prefab)。
|
||||
- Cocos 缺口/状态:只有资源,无商品/支付状态、渠道分流与原生回调的现代界面接线。
|
||||
- 原代码依据:[11_GameUI.js:919](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:919)、[11_GameUI.js:6362](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:6362)、[09_Net.js:566](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/09_Net.js:566)、[05_Func.js:2182](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/05_Func.js:2182)、[05_Func.js:2236](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/05_Func.js:2236)。
|
||||
|
||||
### 13. 兑换码(复用反馈面板)
|
||||
|
||||
- 原入口与流程:3264 设置 feedMode=2 → OpenFeedback(true);3265 粘贴;3266 非空后关闭并发 topup_card。Desk.topup_card 为空体。
|
||||
- 数据/配置:cardno 来自输入,不是反馈 content;资产结果依赖后续推送。
|
||||
- RPC/外部能力:topup_card、update_bean/update_roomcard
|
||||
- 关闭、错误及边界:不能仅因面板关闭就判兑换成功;反馈/兑换共享资源,按钮模式不能互相串用。
|
||||
- Cocos 资源(存在):[Layer9_Feedback](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer9_Feedback.prefab)。
|
||||
- Cocos 缺口/状态:无兑换模式、事件绑定或兑换结果与资产更新接线。
|
||||
- 原代码依据:[11_GameUI.js:2648](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2648)、[11_GameUI.js:2656](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2656)、[07_Desk.js:1366](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1366)。
|
||||
|
||||
### 14. 仓库入口、页签与初始密码
|
||||
|
||||
- 原入口与流程:3057 → openWareHouse 初始化输入,按 bankpwd 与 hallConfig.wareHouse 切密码/存取/赠送页;3059/3060 切页。3043 在初始化分支验证两次密码一致后 set_bankpwd;成功 setBankPwd(1) 并关仓库,showerror 时提示。
|
||||
- 数据/配置:bankpwd 表示是否初始化;wareHouse 的 page/selectType 和输入状态。
|
||||
- RPC/外部能力:set_bankpwd
|
||||
- 关闭、错误及边界:3029/97 关闭全部 group-91/92/93/94;密码与敏感字段不得放诊断输出。
|
||||
- Cocos 资源(存在):[Layer25_wareHouse](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer25_wareHouse.prefab)。
|
||||
- Cocos 缺口/状态:无页签状态机、输入、密码设置及失败显示。
|
||||
- 原代码依据:[11_GameUI.js:1959](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1959)、[11_GameUI.js:2019](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2019)、[11_GameUI.js:8117](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:8117)、[07_Desk.js:1230](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1230)。
|
||||
|
||||
### 15. 仓库存入与取出
|
||||
|
||||
- 原入口与流程:3034/3035 选存取,3038/3039 选数量/密码输入,3043 校验后以 mode=safeInputType-1 发 change_star;成功 star1 更新豆豆、star2 更新仓库星星,可回填 count/msg;失败按 showerror 提示。
|
||||
- 数据/配置:C_Player.bean、仓库余额、initBean、safeInputCount/password;下游不猜资产语义。
|
||||
- RPC/外部能力:change_star
|
||||
- 关闭、错误及边界:旧代码包含保留赠送金币等数量约束;最终迁移须厘清权威来源,不直接搬运静默修补分支。
|
||||
- Cocos 资源(存在):[Layer25_wareHouse](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer25_wareHouse.prefab)。
|
||||
- Cocos 缺口/状态:无余额投影、输入限制、提交状态或双资产一致刷新。
|
||||
- 原代码依据:[11_GameUI.js:2045](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2045)、[07_Desk.js:1240](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1240)、[11_GameUI.js:8117](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:8117)。
|
||||
|
||||
### 16. 仓库查询目标玩家与赠送
|
||||
|
||||
- 原入口与流程:3087/3088/3089 录入目标ID/数量/密码;3096 校验目标ID长度后清旧头像/昵称并 query_player2。回包写 pImg/pNickName/pId,昵称或头像有值时刷新,否则提示未找到。3043 赠送分支发 giveCoin;成功用 star2 更新仓库星星并关闭。
|
||||
- 数据/配置:目标玩家ID与当前登录 playerid 区分;query_player2 是嵌在仓库中的查询,不是原项目独立玩家搜索页。
|
||||
- RPC/外部能力:query_player2、giveCoin
|
||||
- 关闭、错误及边界:查询与赠送是不同操作;需防旧查询回包覆盖新目标,查询成功不授权自动赠送。原代码是否处理并发未证明。
|
||||
- Cocos 资源(存在):[Layer25_wareHouse](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer25_wareHouse.prefab)。
|
||||
- Cocos 缺口/状态:无目标资料 View、查询命令、过期响应处理或赠送流程。
|
||||
- 原代码依据:[11_GameUI.js:2000](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2000)、[11_GameUI.js:2119](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2119)、[07_Desk.js:1370](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1370)、[07_Desk.js:1383](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1383)、[11_GameUI.js:8789](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:8789)。
|
||||
|
||||
### 17. 手机号绑定与验证码面板
|
||||
|
||||
- 原入口与流程:3256 未绑定时 phoneType=2 → openPhoneBind;3243/3244 打开数字输入,3253 非空后 binding_phone;回包关闭并 setTel。3245 当前只提示通过相关渠道获取,发送微信验证码的代码被注释;3251/3241 关闭。
|
||||
- 数据/配置:phoneNumber/phoneCode、缓存验证码剩余时间、C_Player.tel、phoneType。
|
||||
- RPC/外部能力:binding_phone;send_phone_checkcode/send_phone_code_wechat 不能据函数存在认定有活跃界面发送。
|
||||
- 关闭、错误及边界:同一面板还承担手机登录;倒计时恢复与关闭后的定时器清理需专项验证。
|
||||
- Cocos 资源(存在):[Layer29_PhoneInfo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer29_PhoneInfo.prefab)。
|
||||
- Cocos 缺口/状态:无 EditBox/数字输入绑定、倒计时、登录/绑定分流和回包关闭逻辑。
|
||||
- 原代码依据:[11_GameUI.js:2550](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2550)、[11_GameUI.js:2616](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2616)、[11_GameUI.js:9654](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:9654)、[07_Desk.js:1339](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1339)。
|
||||
|
||||
### 18. 分享、二维码与邀请外部能力
|
||||
|
||||
- 原入口与流程:14 打开分享,74/75 调好友/朋友圈后关闭,背景/链接来自配置;二维码 Open_ewm/Close_ewm;另一 sharePannel 选择方式后调用 Func.sharefriend。分享成功回调再驱动任务,不等于点击即完成。
|
||||
- 数据/配置:Game_Config.Share、hallConfig.shareBgUrl/shareImgUrl、shareFriendInfo 与 WVJB 回调。
|
||||
- RPC/外部能力:分享动作本身为原生/外部接口;任务完成再发 player_finish_task。
|
||||
- 关闭、错误及边界:二维码内容来源、图片加载失败、取消分享与成功回调须分别验收;不输出渠道密钥。
|
||||
- Cocos 资源(存在):[Layer22_Share](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer22_Share.prefab)、[Layer9_Feedback](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer9_Feedback.prefab)、[Layer603](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer603.prefab)。
|
||||
- Cocos 缺口/状态:无现代分享/二维码 Presenter、动态图加载、原生结果到任务状态的 UI 接线。
|
||||
- 原代码依据:[11_GameUI.js:876](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:876)、[11_GameUI.js:4340](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4340)、[11_GameUI.js:6199](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:6199)、[11_GameUI.js:2669](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2669)、[06_Player.js:424](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/06_Player.js:424)。
|
||||
|
||||
### 19. 通用提示、断线、踢下线与资产通知
|
||||
|
||||
- 原入口与流程:show_message → OpenTips,按时间关闭;broadcast 分即时与滚动;kick_server/kick_offline → OpenKick;资产回包/推送经 C_Player 与 UI 通知。OpenDisConnect/CloseDisConnect 管理断线面板。
|
||||
- 数据/配置:服务器提示/资产数据、连接状态与显式计时来源。
|
||||
- RPC/外部能力:show_message、broadcast、kick_server、kick_offline、update_roomcard、update_bean
|
||||
- 关闭、错误及边界:弹层优先级、重复推送、关闭计时器、停止后不重连均是生命周期验收点。
|
||||
- Cocos 资源(存在):[Layer612_Tips](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer612_Tips.prefab)、[Layer613_RoomCardUpdate](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer613_RoomCardUpdate.prefab)、[Layer615_Reconnect](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer615_Reconnect.prefab)、[Layer616_Kick](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer616_Kick.prefab)、[Layer617_iMessage](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer617_iMessage.prefab)、[Layer402_GameNotice](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer402_GameNotice.prefab)。
|
||||
- Cocos 缺口/状态:核心 OverlayModel 已有 reconnect/denial/kicked/fatal;诊断使用自己的文字遮罩。原弹窗资源尚未接管,broadcast/show_message/资产推送等无现代处理链。
|
||||
- 原代码依据:[11_GameUI.js:5838](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:5838)、[11_GameUI.js:5920](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:5920)、[11_GameUI.js:5967](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:5967)、[11_GameUI.js:6165](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:6165)、[07_Desk.js:1109](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1109)。
|
||||
|
||||
### 20. 数字/文本输入、确认框与计算器
|
||||
|
||||
- 原入口与流程:openInputPanel/openTextInput 保存输入及回调;3155 执行 textCallback 后置空关闭,3159 取消;openCheck 依 checkType 执行对应动作,247/242/246 取消。showCal/hideCal 为本地工具。
|
||||
- 数据/配置:inputPanelData/textCallback/checkType 和各业务输入值。
|
||||
- RPC/外部能力:组件自身无统一 RPC;确认动作按所属业务发包。
|
||||
- 关闭、错误及边界:旧 checkType=8 被小程序进房和白名单删除复用;不能机械照搬。回调、输入模式、键盘事件必须在关闭/销毁时处理。
|
||||
- Cocos 资源(存在):[Layer602_inputPannel](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer602_inputPannel.prefab)、[Layer607_Cal](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer607_Cal.prefab)、[Layer601](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer601.prefab)、[Layer420_CheckFree](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer420_CheckFree.prefab)。
|
||||
- Cocos 缺口/状态:没有通用输入、确认框组件和业务回调所有权。资源图标不能替代实际输入控件。
|
||||
- 原代码依据:[11_GameUI.js:1217](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1217)、[11_GameUI.js:1304](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1304)、[11_GameUI.js:2335](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2335)、[11_GameUI.js:7945](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:7945)、[11_GameUI.js:9142](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:9142)。
|
||||
|
||||
### 21. 商城、背包、活动、帮助与邻居入口
|
||||
|
||||
- 原入口与流程:3016/3017/3018 跳 Store/Bag/Act 外部地址;帮助 OpenHelp 调 Game_Modify.onOpenHelp(290),关闭隐藏;showNeighbor 为配置相关入口。
|
||||
- 数据/配置:外部 URL/原生打开方式、邻居数据与具体游戏帮助内容。
|
||||
- RPC/外部能力:不等于本地平台 RPC 面板;无 RPC 的入口也需要界面迁移。
|
||||
- 关闭、错误及边界:帮助正文依赖子游戏钩子,留后;外部页服务不修改、不能伪造链接。邻居只定位到 group-88 的显示/隐藏,具体点击去向尚未展开。
|
||||
- Cocos 资源(存在):[Layer8_Notice](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer8_Notice.prefab)、[Layer24_Neighbor](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer24_Neighbor.prefab)、[Layer608_Help](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer608_Help.prefab)。
|
||||
- Cocos 缺口/状态:资源存在,但无对应入口、外部能力接线或帮助内容加载。
|
||||
- 原代码依据:[11_GameUI.js:1947](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:1947)、[11_GameUI.js:4728](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:4728)、[11_GameUI.js:8027](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:8027)、[12_Logic.js:2054](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/12_Logic.js:2054)。
|
||||
|
||||
### 22. 黑白名单与 VIP 管理(边界登记,后置)
|
||||
|
||||
- 原入口与流程:3140/3235 按 whiteListManager 分原生管理页或 getPlayerWhiteList;白名单增改删先确认,回包写列表并重开;3214 查询黑名单,3194/3195 增删。短号榜、全体魅力、禁止选桌与房间/VIP 状态相连。 MCP group 对照确认:黑名单 group-104、短号榜 group-105 实际在 Layer7_ewm,不能按文件名把它当二维码页。
|
||||
- 数据/配置:whiteList/blackList、shortcode、snrRoomList 与管理配置。
|
||||
- RPC/外部能力:getPlayerWhiteList、optWhiteList、optBanList、getShortCodeRankList、setAllCharm、setVipForbidSelect;相关 room 列表 RPC 后置。
|
||||
- 关闭、错误及边界:虽然上行 route=agent,仍不自动列入非房间首批;不因位置在大厅就提前执行管理写操作。
|
||||
- Cocos 资源(存在):[Layer29_PhoneInfo](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer29_PhoneInfo.prefab)、[Layer28_SeniorOptions](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer28_SeniorOptions.prefab)、[Layer7_ewm](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer7_ewm.prefab)。
|
||||
- Cocos 缺口/状态:无现代管理面板接线;这里只登记资源和调用链,不验收房间管理。
|
||||
- 原代码依据:[11_GameUI.js:2305](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2305)、[11_GameUI.js:2370](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2370)、[11_GameUI.js:2480](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/11_GameUI.js:2480)、[07_Desk.js:1291](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1291)、[07_Desk.js:1400](G:/Works/YouleGamesCocosCreator/projects/Game_Surface_3/js/00_Surface/07_Desk.js:1400)。
|
||||
|
||||
## 后续实施需要共用的验收条件
|
||||
|
||||
- 入口与可见性:按同一份模式/配置来源决定入口;资源可见、可点击与权限/前置状态一致。
|
||||
- 请求:参数来自权威配置、登录 Store 或明确用户输入;单次操作发出预期包;查询目标与本人身份不混淆。
|
||||
- 响应:先校验契约,再更新权威状态、PageModel、实际控件;列表空、拒绝、网络失败、加载失败都可识别。
|
||||
- 生命周期:打开/关闭/再次打开不重复监听;未完成请求关闭后不误开弹窗;异步旧响应不覆盖新输入;销毁清理触摸、订阅和定时器。
|
||||
- 实际边界:纯 TS 测试与资源结构检查通过后,仍需真实 Creator 预览、真实服务器包和实际界面一致的证据;支付/原生外部流程单独验收。
|
||||
|
||||
## 尚未展开的专项范围
|
||||
|
||||
- 每个动态 spid、全部模式组合、拖动裁剪、原工程视觉/声音/动画细节,尚未逐事件运行验证;本轮为入口和数据链审计。
|
||||
- 微信/QQ/原生授权、客服电话/剪贴板/分享/支付、邻居去向与外部商城页的全分支;代码来源已定位的部分列在条目中,实际设备效果待对应阶段。
|
||||
- 战绩详情里的子游戏解释、回放与帮助正文;创建/加入/房间列表、房内设置、聊天语音、投票、对局与重连快照,留到房间/子游戏阶段。
|
||||
- 已发现的旧代码差异(领奖 gameid、refresh_task_state 缺常量、can_award 空缺接收方法、重复 case/确认类型、历史默认值)须逐项核对契约后处理;本轮未修复或替服务器补约定。
|
||||
|
||||
## 编辑器结构快照
|
||||
|
||||
以下为本次完整平台 prefab 清点,包含后置的房间资源。节点数含 prefab 根和 group。每项业务组件/按钮事件/输入/滚动/动画组件均为 0;不包含运行时动态绑定。
|
||||
|
||||
- [Login_Layer.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/Login_Layer.prefab):20 个节点;group-2(登录)。
|
||||
- [Layer10_Protol.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer10_Protol.prefab):6 个节点;group-37。
|
||||
- [Layer11_ChargeInfo.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer11_ChargeInfo.prefab):6 个节点;group-20。
|
||||
- [Layer12_CombatLayer.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer12_CombatLayer.prefab):31 个节点;group-7、group-8、group-9。
|
||||
- [Layer13.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer13.prefab):9 个节点;group-7、group-8。
|
||||
- [Layer14_Pay.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer14_Pay.prefab):46 个节点;group-53、group-54。
|
||||
- [Layer15_JoinRoom.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer15_JoinRoom.prefab):28 个节点;group-5。
|
||||
- [Layer16_Bind.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer16_Bind.prefab):9 个节点;group-80。
|
||||
- [Layer17_PlayerInfo.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer17_PlayerInfo.prefab):17 个节点;group-18。
|
||||
- [Layer18_Auth.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer18_Auth.prefab):11 个节点;group-57。
|
||||
- [Layer19_WorldRoomList.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer19_WorldRoomList.prefab):38 个节点;group-82、group-96、group-97。
|
||||
- [Layer1_Logo.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer1_Logo.prefab):8 个节点;group-1、group-32。
|
||||
- [Layer202_PlayerHeadScore.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer202_PlayerHeadScore.prefab):72 个节点;group-43、group-44、group-45、group-46、group-47、group-48、group-49、group-50、group-51、group-52、group-73。
|
||||
- [Layer21_RankList.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer21_RankList.prefab):22 个节点;group-84。
|
||||
- [Layer22_Share.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer22_Share.prefab):8 个节点;group-11。
|
||||
- [Layer24_Neighbor.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer24_Neighbor.prefab):9 个节点;group-88。
|
||||
- [Layer25_wareHouse.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer25_wareHouse.prefab):73 个节点;group-91、group-92、group-93、group-94。
|
||||
- [Layer26_Task.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer26_Task.prefab):48 个节点;group-10。
|
||||
- [Layer27_CreateRoom.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer27_CreateRoom.prefab):21 个节点;group-4。
|
||||
- [Layer28_SeniorOptions.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer28_SeniorOptions.prefab):58 个节点;group-83。
|
||||
- [Layer29_PhoneInfo.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer29_PhoneInfo.prefab):41 个节点;group-106、group-108。
|
||||
- [Layer402_GameNotice.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer402_GameNotice.prefab):4 个节点;group-56。
|
||||
- [Layer403.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer403.prefab):3 个节点;group-81。
|
||||
- [Layer404_MainSceneButton.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer404_MainSceneButton.prefab):8 个节点;group-28。
|
||||
- [Layer405_MainButton.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer405_MainButton.prefab):8 个节点;group-21。
|
||||
- [Layer408_Interact.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer408_Interact.prefab):24 个节点;group-21、group-39。
|
||||
- [Layer409_ChatVoice.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer409_ChatVoice.prefab):22 个节点;group-76。
|
||||
- [Layer410_ChatText.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer410_ChatText.prefab):22 个节点;group-75。
|
||||
- [Layer411.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer411.prefab):8 个节点;group-81。
|
||||
- [Layer413_BtnPanel.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer413_BtnPanel.prefab):23 个节点;group-21、group-81、group-99、group-100。
|
||||
- [Layer416_PlayerInfo.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer416_PlayerInfo.prefab):19 个节点;group-77、group-38。
|
||||
- [Layer418_ChatPannel.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer418_ChatPannel.prefab):56 个节点;group-30。
|
||||
- [Layer420_CheckFree.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer420_CheckFree.prefab):9 个节点;group-36。
|
||||
- [Layer4_MainMenu.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer4_MainMenu.prefab):34 个节点;group-3。
|
||||
- [Layer50_MainScene.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer50_MainScene.prefab):13 个节点;group-21。
|
||||
- [Layer6.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer6.prefab):56 个节点;group-103、group-3。
|
||||
- [Layer601.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer601.prefab):7 个节点;group-102。
|
||||
- [Layer602_inputPannel.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer602_inputPannel.prefab):21 个节点;group-87。
|
||||
- [Layer603.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer603.prefab):5 个节点;group-107。
|
||||
- [Layer606_Apply.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer606_Apply.prefab):34 个节点;group-29、group-32。
|
||||
- [Layer607_Cal.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer607_Cal.prefab):23 个节点;group-78、group-79。
|
||||
- [Layer608_Help.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer608_Help.prefab):9 个节点;group-19。
|
||||
- [Layer609_Setting.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer609_Setting.prefab):17 个节点;group-6。
|
||||
- [Layer612_Tips.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer612_Tips.prefab):8 个节点;group-32、group-89。
|
||||
- [Layer613_RoomCardUpdate.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer613_RoomCardUpdate.prefab):5 个节点;group-34。
|
||||
- [Layer614_Loading.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer614_Loading.prefab):4 个节点;group-40。
|
||||
- [Layer615_Reconnect.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer615_Reconnect.prefab):6 个节点;group-35。
|
||||
- [Layer616_Kick.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer616_Kick.prefab):5 个节点;group-33。
|
||||
- [Layer617_iMessage.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer617_iMessage.prefab):6 个节点;group-41。
|
||||
- [Layer618.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer618.prefab):5 个节点;group-85、group-86。
|
||||
- [Layer619_BackHall.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer619_BackHall.prefab):3 个节点;group-55。
|
||||
- [Layer620_Record.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer620_Record.prefab):5 个节点;group-101。
|
||||
- [Layer7_ewm.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer7_ewm.prefab):33 个节点;group-104、group-105。
|
||||
- [Layer8_Notice.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer8_Notice.prefab):12 个节点;group-3、group-95。
|
||||
- [Layer9_Feedback.prefab](G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/framework/ui/prefabs/widgets/Layer9_Feedback.prefab):39 个节点;group-74、group-12、group-42、group-98。
|
||||
|
||||
场景组件:
|
||||
|
||||
- Login.scene:LoginFlow_Node 上的旧 LoginFlow;未挂现代完整大厅控制器。
|
||||
- LocalPlatformLogin.scene:Host 上的 LocalPlatformLogin;游客/停止监听为运行时绑定。
|
||||
- scene-2d.scene:2 个节点,无业务组件;这是用户既有未提交资源,本轮未修改。
|
||||
|
||||
## 本轮文件保护与交付
|
||||
|
||||
- 全程主目录 Git 分支,未创建 worktree;未合并、提交或推送。
|
||||
- 本轮开始有 51 项未提交文件(原 50 项加上上一轮 RPC 清单);结束时核对其状态与 SHA256,保持不变。
|
||||
- 本轮只新增本文;无业务代码、测试、配置、scene/prefab/anim/meta 改动。未运行资源生成器或网络请求。
|
||||
Reference in New Issue
Block a user