完善多赛道联调与全局产品架构

This commit is contained in:
2026-04-02 18:11:43 +08:00
parent 6964e26ec9
commit 0e28f70bad
45 changed files with 4819 additions and 282 deletions

View File

@@ -1,6 +1,6 @@
# Backend TodoList
> 文档版本v1.0
> 最后更新2026-04-02 08:28:05
> 文档版本v1.2
> 最后更新2026-04-02 11:03:02
## 1. 目标
@@ -37,6 +37,8 @@
- `evt_demo_001` 的 release manifest 现已可正常加载
- 小程序已能进入地图
- `launch` 关键字段在当前阶段不再单边漂移
- `cancelled / failed / finished` 已从 ongoing 口径里收稳
- 模拟定位 / 调试日志问题已回到小程序与模拟器侧,不再属于 backend 当前阻塞
前端当前需要配合的事项:
@@ -160,27 +162,36 @@ backend 现在需要做的是:
## 4. P1 应尽快做
## 4.1 给首页 / play / result 的 ongoing 语义再做一次回归确认
## 4.1 多赛道 Variant 第一阶段最小契约
当前前端已经开始走
当前前端已给出
- 首页聚合
- `event play`
- `launch`
- `session start / finish`
- 本地故障恢复
- [多赛道 Variant 五层设计草案](D:/dev/cmr-mini/doc/gameplay/多赛道Variant五层设计草案.md)
- [多赛道 Variant 前后端最小契约](D:/dev/cmr-mini/doc/gameplay/多赛道Variant前后端最小契约.md)
backend 建议再回归确认这几个接口对“进行中 session”的口径一致
backend 当前建议第一阶段只做最小闭环
- `/me/entry-home`
- `/events/{eventPublicID}/play`
- `/sessions/{sessionPublicID}/result`
- `play.assignmentMode`
- `play.courseVariants[]`
- `launch.variant.*`
- `session / result / ongoing / recent``variantId / variantName / routeCode`
重点确认
当前目标
1. `cancelled` 后不再继续出现在 ongoing 入口
2. `failed` 后不再继续出现在 ongoing 入口
3. `finished` 后结果页与首页摘要字段一致
1. 一个 session 最终只绑定一个 `variantId`
2. `launch` 返回最终绑定结果
3. 恢复链不重新分配 variant
4. 结果页、ongoing、历史结果都能追溯 variant
备注:
- 当前只先定最小契约,不先做完整后台 variant 编排模型
- 当前第一阶段最小后端链路已补入:
- `play.assignmentMode`
- `play.courseVariants[]`
- `launch.variant.*`
- `session / result / ongoing / recent``variantId / variantName / routeCode`
- 下一步应由前端按该契约联调,不再继续扩后台 variant 模型
## 4.2 增加用户身体资料读取接口
@@ -318,18 +329,18 @@ backend 后面如果要接业务结果页,最好提前定:
## 7. 我建议的最近动作
backend 现在最值得先做的,不是接口,而是先确认下面 3 条:
backend 现在最值得先做的,不是继续铺更多页面接口,而是先推进下面 3 条:
1. `finished / failed / cancelled` 三态语义
2. 放弃恢复是否写 `cancelled`
3. `start / finish` 是否按幂等处理
1. 与前端确认多赛道第一阶段最小契约
2. 已按最小契约扩完 `play -> launch -> session/result`
3. 再补用户身体资料接口和 workbench 恢复场景按钮
3 条一旦确定,前后端联调会顺很多
样不会打断当前主链,同时能把下一阶段多赛道联调接上
## 8. 一句话结论
当前 backend 最重要的任务不是“再加更多接口”,而是:
> 先把 session 运行态语义、放弃恢复语义和 ongoing session 口径定稳,再继续扩后台配置系统
> 在不破坏当前稳定主链的前提下,先把多赛道 Variant 第一阶段最小契约定稳,再继续向配置与后台模型延伸