Skip to main content

SDK-003:实现并验收玩家资料改名与头像闭环

Producer-facing 结果​

玩家可以从主界面进入个人信息,查看角色基础资料,并按 SDK-001 已审核 contract 完成首次免费或后续付费改名,以及从已解锁英雄头像中修改当前头像;所有成功、失败、锁定和回滚状态均可验收。

输入与依赖​

  • Depends on:SDK-001
  • Source doc:features/account-server-login.md
  • Primary route:frontend / project2-frontend-codex
  • Conditional route:backend / project2-backend-codex
  • 参考图状态均为 仅参考。实现前必须有任务相关 ui-handoff,或有 Producer-approved rationale 证明无需 prefab/art 变更。

预期 workflow DAG​

  1. PIP-001:Hub 复核改名、头像、钻石、英雄头像和 UI handoff 输入,冻结单一“玩家资料可编辑”结果。
  2. BE-001:Backend principal 实现或核对名称、消耗、敏感词、重复名、头像拥有状态、幂等与持久化的权威校验。
  3. FRO-001:Frontend principal 实现个人信息、改名和头像页面/弹窗的 Command、Model、UI、prefab/view binding 与错误反馈。
  4. IT-001:核对钻石、英雄解锁、proto/error/language contract 和前后端状态一致性。
  5. QA-001:执行 backend tests、Unity compile/tests、prefab audit、状态矩阵 visual QA 与截图/recording review。

In Scope​

  • ACCOUNT-SERVER-LOGIN-R-006 至 ACCOUNT-SERVER-LOGIN-R-012。
  • 个人信息展示、首次免费与后续付费改名、名称输入校验、失败原因、头像已解锁/未解锁/当前选中状态。
  • 钻石消耗、英雄头像解锁和资料持久化的跨系统 contract 消费。

Out of Scope / Must Not​

  • SDK 授权、服务器准入、角色创建主链、英雄解锁规则本身、钻石经济规则本身、生产数据修改。
  • UI 直接组包、发请求或修改核心 Model;玩家意图必须遵守 repo-local Command/Model/UI 边界。
  • 未经 contract 或 Producer确认擅自选择敏感词库、重复名作用域、字符长度算法、改名价格或默认头像 ID。
  • 参考图不得自动视为最终视觉;没有 Unity-rendered evidence 时不得把 UI delivery 标记为 review-ready。

验收​

  • 个人信息正确展示当前头像、名称、战斗力和关卡进度,入口和返回链路可用。
  • 首次免费、后续付费、钻石不足、非法字符、长度、重复名、敏感词、重复提交、成功和服务端失败均有明确状态与玩家反馈。
  • 默认头像、已解锁可选、未解锁灰态/锁头、当前头像勾选、提交中、成功与失败回滚均可验证。
  • 重登、断线重连和刷新后名称、头像和钻石状态与服务端一致。
  • MR evidence 包含 Backend tests、Unity compile/tests、boundary lint、asset/prefab audit、状态矩阵截图或 recording、visual QA 与 residual risk。

验证​

go test ./service/role/handler/... ./service/role/model/...
python3 tools/project2_ui_boundary_lint.py --changed-only --pretty
python3 tools/project2_asset_guard.py --changed-only --pretty
Unity compile, EditMode or PlayMode tests, prefab audit and state-matrix visual QA through Unity MCP

Frontend principal 应按 repo-local UI delivery policy选择 UI delivery、client integration 与 frontend QA internal routing。Unity MCP 不可用、Editor 未就绪或无法生成状态证据时,应返回 blocker 并给出恢复步骤,不得用纯文件 diff 代替 prefab/visual QA。