Skip to main content

SDK-002:实现并验收 SDK 登录、服务器准入与角色初始化闭环

Producer-facing 结果​

新账号和老账号在 SDK-001 已审核 contract 下,能够完成授权、服务器准入、角色创建或登录、快照初始化和长连接建立,并在允许条件下进入完整可交互大厅;失败条件有安全、可恢复且可本地化的反馈。

输入与依赖​

  • Depends on:SDK-001
  • Source doc:features/account-server-login.md
  • Primary route:backend / project2-backend-codex
  • Conditional route:frontend / project2-frontend-codex
  • SDK-001 的 config、proto、error、language 和 analytics contract 必须作为 reviewed input;缺失时 blocked,不得从现有实现猜测。

预期 workflow DAG​

  1. PIP-001:Hub 冻结 execution issue,确认本任务仍是单一“可进入大厅”结果并复核 contract。
  2. BE-001:Backend principal 实现服务端权威会话、准入、角色初始化、快照、长连接与失败处理。
  3. FRO-001:Frontend principal 接入 SDK / token 授权、loading/login 状态、单服直入或已确认的多服流程、初始化与失败恢复。
  4. IT-001:核对 config/proto/error/language 消费、前后端状态语义和 skipped-step rationale。
  5. QA-001:运行 focused tests、backend clean-worktree QA、Unity compile/tests 与登录状态 smoke,形成 Producer review evidence。

In Scope​

  • ACCOUNT-SERVER-LOGIN-R-001 至 ACCOUNT-SERVER-LOGIN-R-005。
  • SDK / token 会话、版本与服务器准入、角色创建或登录、角色快照、长连接、超时、断线与重试。
  • 单服候选规则或 SDK-001 明确确认的多服流程。

Out of Scope / Must Not​

  • 改名、头像、支付账号绑定、客服账号迁移和生产运营配置变更。
  • 在 backend repo 修改 planning proto/config/language 源;在 frontend repo定义服务端准入事实。
  • 修改 production/game-server state、白名单、维护、审核服、开服时间、credential 或 permission。
  • 没有 Producer-approved rationale 时,不得把 UI/prefab/状态截图范围缩成纯 C# service 接线。

验收​

  • 新账号和老账号的成功路径均能进入完整可交互大厅。
  • token 失效、版本不匹配、维护、白名单拒绝、未开服、超时、断线和快照不完整均由服务端权威判断,并在客户端显示可恢复反馈。
  • 重复登录、重复创建角色和重连不会产生重复角色、重复会话或不一致快照。
  • 单服模式无无意义选服 UI;多服模式仅在 SDK-001 已确认后实现并验证。
  • MR evidence 包含 Backend tests/clean-worktree QA、Unity compile/tests、关键状态 smoke 或截图、contract traceability 与 residual risk。

验证​

go test ./...
python3 /Users/wjai/AutoDev/repos/auto-dev-pipeline/scripts/clean_worktree_verify.py --repo /Users/wjai/AutoDev/repos/project2-go --ref <MR_SOURCE_BRANCH_OR_SHA> --must-track go.sum --must-track config.simple.toml --must-not-ignore go.sum -- go test ./...
python3 tools/project2_ui_boundary_lint.py --changed-only --pretty
Unity EditMode or PlayMode tests and login state smoke through Unity MCP or the repo-approved fallback

Backend 可先运行 focused package tests,但进入 review 前必须按 repo policy提供 clean-worktree evidence。Frontend 涉及登录页面、prefab 或可视状态时必须使用 Unity MCP 检查 Editor/Console、编译、状态截图或 recording;MCP 不可用时返回 blocker 或明确降级理由。