docs(protocol): 04 回填 player_login 真机联调实测(含 agentname/agentmode/gameversion)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 20:38:10 +08:00
co-authored by Claude Opus 4.8
parent 883335f656
commit ae150affba
+12
View File
@@ -196,6 +196,18 @@ else { this.initialBean = _data.initialBean; } // 临时填充:保留原
> `openid/nickname/avatar/sex/city/province/unionid/tel` 仅在 `GameData.sysConfig.deviceLogin` 为真时被读取并通过 `SetWxInfo` 写入 C_Player(`07_Desk.js:215`–`230`)。非设备登录时这些信息由微信授权链路另行获取。
> **✅ 真机联调实测确认(2026-06-28,YouleNexus + 本地测试服)**:成功登录回包(单层 `{app,route,rpc,data}`,见 [01 §3.2](01-传输层与架构.md))`data` 实测为:
> ```json
> {"state":0,"playerid":430511,"agentid":"…","channelid":"…","nickname":"…","avatar":"…","openid":"…","sex":0,"unionid":"…","roomcard":3,"bean":0,"score":0,"invitecode":null,"advanced":0,"taskstate":1,"ip":"127.0.0.1","bankpower":1,"bank":0,"sign":null,"tel":null,"initCard":"3","initBean":"0","bankpwd":0,
> "agentname":"进贤","agentmode":2,"gameversion":41}
> ```
> 上表 A 组字段均得到印证。另含**文档此前未列**的三个字段(旧客户端 `Desk.login` 未读、属代理/版本信息):
> - `agentname` string —— 代理商名称(实测"进贤")。
> - `agentmode` int —— 代理模式(实测 2)。
> - `gameversion` int —— 服务器侧游戏版本(实测 41)。
>
> 同时确认 **请求 `player_login.data.version` 字段须为数字 versionCode**(实测发 `10000` 通过;发字符串 `"1.1"` 被 `kick_server`「检查到新版本」拒绝),与源码 `data.version=GameData.versionCode` 一致。
### B. 房间恢复(在房 / 断线重连时才下发)
仅当 `_msg.data.roomcode` 存在时进入此分支(`07_Desk.js:282`),代表玩家原本就在房间内。