Files
ft/CodexOutput/upserver/仅最小登录-最终验收.md

57 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 仅最小登录:验收证据与结论
## 最新进度:2026-09-22 独立复审与故障验收完成
先读[本轮执行结果](最小登录收尾执行结果-2026-09-22.md)→[修复后独立复审](最小登录独立复审-2026-09-22.md)→[真实网络故障结果](网络故障验收结果-2026-09-22.md)。独立审查发现两处P2,实际Unity另复现Stage停止窗口;按实施前裁决最小修复四文件,58项定向测试及限定独立复审通过。最终Unity快速101→102→101三轮Error=0、核心进度相同、实际Hub Test=OK;已核对加载新程序集。当前Editor最后为PlayMode、101/FishingStage。
HTTP401/真实断流/15秒超时恢复、WebSocket断线自动恢复已在生产源码+实际SignalR DLL外部宿主通过;Unity Restricted不允许独立网络构造测试,故不冒充Unity完整UI/最终平台通过。仍待Unity/最终平台故障补验、主动业务推送、必要人工钓鱼及完整存档核对;真实SDK/真机最后统一打包确认。正式API仍为 **http://s101.local:18080/**。KV/俱乐部扩展/SDK删除暂停;无Git提交/发布。下方更早进度为历史,不覆盖本条。
## 最新结论:第二轮验收收尾(2026-09-21 21:40)
先读[第二轮验收结果](最小登录收尾-第二轮验收结果.md)及[本轮限定自审](最小登录第二轮-限定代码审查.md)。本轮补齐真实Unity登录等待中退出、旧重试按钮、成功延迟中退出;快速101→102→101三轮错误0,Cookie/旧Hub释放通过,最终实际Hub Test=OK。测试发现问题后仅修复SoundService、FishingAct、FishingBehaviorB、FishingStage四文件,实施前均有方案裁决。编译0错误/271警告;新补丁只有主会话自审,尚无新独立复审。
101抽查的等级/金币/钻石/鱼竿前后相同,已打开战令预览及社交页;真实SDK/真机、HTTP故障、真实断网与业务推送、必要钓鱼玩法及完整存档仍待验收。正式API **http://s101.local:18080/**;Editor最后取证为PlayMode、101/FishingStage。下一步补验收条件,发现问题再评审编码;KV/俱乐部扩展/SDK删除暂停。下方较早状态均为历史,不能覆盖本条。
**最新2026-09-21 20:50:** Unity CLI Loop实际验收已推进,正常登录、失败纠错、生产QuitStage同号重登及101→102→101、Cookie与Hub释放通过;实际Hub Test=OK。发现并修复五处运行时缺陷,最终四轮错误日志0,编译0错误/271警告。完整矩阵与待验收项以[最新Unity验收](UnityCliLoop最小登录验收-2026-09-21.md)为准。新补丁只有[主会话限定review](Unity重登修复-限定代码审查.md),不沿用下方旧独立复审扩大结论。下文是本轮Unity实测之前的历史记录。
日期2026-09-21,优先依据《当前阶段范围裁决-仅最小登录.md》。正式地址固定 http://s101.local:18080/;Hub /gamehub。独立限定review及R1复审通过,当前没有剩余已确认代码阻塞;实际Unity/真机验收未完成,不能宣称端到端阶段验收全部通过。
## 最终裁决
本轮可执行的认证会话、失败重试、Cookie隔离、退出/换号、登录界面异步退出、RT模拟生命周期、必要首页保护、源码编译和正式服raw探测已经完成。独立审查者复跑LoginActTests通过并关闭R1,见《仅最小登录-限定代码审查.md》。下一步仅执行下列Unity/真实SDK待验收项;不自动启动俱乐部、KV或SDK删除。工作区仍含原有外围差异,未提交Git或形成已拆分发布包。
## 本轮执行矩阵
| 项目 | 证据/状态 | 边界 |
|---|---|---|
| 正常认证/失败重试 | MinimalLoginTests共32项通过,严格state/协议/HTTP/错误验证 | 实际会话及manager源;游戏主流程的SDK和玩法依赖未完整模拟 |
| 退出再登录/换号/Cookie | 离线101→101→102→101断开/清Cookie/新会话测试通过;正式服同序列4轮均state0/授权Get200 | 认证会话层、非Unity完整退出再进场景;Cookie值不输出 |
| 退出入口 | ExitTests4组通过,实际QuitAct在Hub等待前调用Logout,非注销语义保留 | IUserService/引擎为替身,非真实SDK注销组合回调 |
| 登录界面退出隔离 | LoginActTests提取PF/Agg实际登录、重试、销毁及PF输入方法,正常/重试/重复点击/迟到失败/旧按钮/延迟中退出/销毁/异常传播通过;实际Logout方法令牌轮换及清理顺序通过 | 引擎/SDK和基础阶段为替身,未运行真实场景;测试入口按实际StartAsync初始化关联令牌 |
| SignalR首连/释放 | 实际RTService+替身Hub测试通过(预绑定、唯一订阅、旧回调/RPC丢弃、等待释放) | 修改State不等于真实网络重连 |
| 正式服Hub直连 | 4轮ClientWebSocket直连/gamehub,SignalR握手/Test=OK,无negotiate,主动正常Close | raw客户端,不等于Unity HubConnection端到端 |
| 首页GetSelfClub | HomeLoginTests提取生产方法,先复现空响应清状态,再修改为明确合法响应才更新,回归通过 | 传输/引擎替身;未调用线上GetSelfClub(可能更新签到时间) |
| 已报告礼包/战令异常 | LoginRegression重跑通过,缺配置不重置存档且不写回,有效配置正常刷新 | 提取方法+替身;真实首页/钓鱼待验收 |
| 源码编译 | 从最新工程重生成2079源码及引用,Roslyn退出0 | 不等于Unity导入/打包 |
## 本轮生产差异
本轮修改ClubService.GetSelfClub对空/非法/缺clubInfo响应的保护;限定review发现登录界面退出后的续体缺口后,追加UserService.LoginLifetime及PFLoginAct/AggLoginAct取消、重试防重与输入监听清理。其他生产实现复用,没有重做认证、RT或新增外围业务。既有外围变更保持原状,见《仅最小登录-外围差异清单.md》。
## 明确待验收
- Unity实际首页/钓鱼场景复测原异常,确认无清档或初始化异常。
- Unity游戏主登录正常/失败重试/退出再登录/换号组合路径。
- 真正渠道SDK登录中注销、换号、迟到回调及全局状态。
- Unity实际SignalR业务消息首连、退出、真实断网自动重连。
当前存在两个Unity进程但UnitySkills registry为空,未能确定可操作实例;未执行以上场景,不能用离线/raw结果替代。
## 范围与数据
本轮网络操作仅account/Login、授权playerdata/Get和gamehub/Test,未写KV/会员/资产。游戏仍依赖PlayFab。只读授权Get仅认证探测,不是恢复KV阶段开发。
## 复跑新增测试
```powershell
python CodexOutput/upserver/HomeLoginTests/generate.py
dotnet run --project CodexOutput/upserver/HomeLoginTests/HomeLoginTests.csproj --verbosity quiet
python CodexOutput/upserver/LoginActTests/generate.py
dotnet run --project CodexOutput/upserver/LoginActTests/LoginActTests.csproj --verbosity quiet
```
其余命令见《验证入口.md》及各测试宿主。MinimalLoginTests --live现按101/101/102/101连续探测。