Files
Genarrative/backend-rewrite-tasklist/02_M3_RUNTIME_PROFILE.md
2026-04-22 12:34:49 +08:00

3.6 KiB
Raw Blame History

M3runtime snapshot / settings / profile 任务清单

1. SpacetimeDB 运行时主表

  • 设计 runtime_snapshot
  • 设计 runtime_setting
  • 设计 profile_dashboard_state
  • 设计 profile_wallet_ledger
  • 设计 profile_played_world
  • 设计 profile_save_archive
  • 设计 user_browse_history

2. 兼容快照策略

  • 设计“领域表真相 + 兼容聚合快照”策略
  • 设计 snapshot projection 刷新机制
  • 迁移当前 snapshot hydration / normalize 规则
  • 迁移当前 save archive 聚合逻辑
  • 迁移当前 browse history 去重与排序逻辑

3. Axum facade

  • 兼容 GET /api/runtime/save/snapshot
  • 兼容 PUT /api/runtime/save/snapshot
  • 兼容 DELETE /api/runtime/save/snapshot
  • 兼容 GET /api/runtime/settings
  • 兼容 PUT /api/runtime/settings
  • 兼容 GET /api/runtime/profile/dashboard
  • 兼容 GET /api/profile/dashboard
  • 兼容 GET /api/runtime/profile/wallet-ledger
  • 兼容 GET /api/profile/wallet-ledger
  • 兼容 GET /api/runtime/profile/play-stats
  • 兼容 GET /api/profile/play-stats
  • 兼容 GET /api/runtime/profile/save-archives
  • 兼容 GET /api/profile/save-archives
  • 兼容 POST /api/runtime/profile/save-archives/:worldKey
  • 兼容 POST /api/profile/save-archives/:worldKey
  • 兼容 GET /api/runtime/profile/browse-history
  • 兼容 POST /api/runtime/profile/browse-history
  • 兼容 DELETE /api/runtime/profile/browse-history
  • 兼容 GET /api/profile/browse-history
  • 兼容 POST /api/profile/browse-history
  • 兼容 DELETE /api/profile/browse-history

4. 阶段验收

  • 登录用户可正常保存、读取、删除存档
  • 兼容路径与主路径返回一致
  • profile dashboard / browse history / save archive 行为一致
  • 前端当前恢复流程可在不改 UI 的前提下跑通

5. 本轮进展记录

  • 2026-04-21:已完成 runtime_setting 首版设计与 GET/PUT /api/runtime/settings 的 Rust 主链迁移。
  • 本轮已落地 module-runtimespacetime-modulespacetime-clientapi-server 四层串联,并补齐定向测试。
  • 详细设计与字段冻结见:
  • 2026-04-22:已完成 user_browse_history 表设计冻结、去重与排序规则迁移,以及 /api/runtime/profile/browse-history/api/profile/browse-history 双路径 facade 落地。
  • 2026-04-22:已补 browse history 的 API 入口必填字段校验、批量 shape 兼容与定向测试,详细设计见:
  • 2026-04-22:已冻结 profile_dashboard_stateprofile_wallet_ledgerprofile_played_world 三张 projection 表,以及 dashboard / wallet-ledger / play-stats 的 Axum + SpacetimeDB 读链设计。
  • 2026-04-22:已完成 api-serverruntime_profile facade 编译与定向测试收口,/api/runtime/profile/*/api/profile/* 六条只读路由均已接通。
  • 2026-04-22:已通过 cargo check -p api-server --tests --message-format shortcargo test -p shared-contracts --libcargo test -p api-server runtime_profile::tests:: -- --nocapture 验证本轮 profile projection 读链。
  • 详细设计见: