203 lines
4.0 KiB
Markdown
203 lines
4.0 KiB
Markdown
# 后端第一阶段执行清单
|
||
> 文档版本:v1.0
|
||
> 最后更新:2026-04-07 14:15:00
|
||
|
||
本文档是 backend 当前阶段的执行清单版说明,配合以下文档一起使用:
|
||
|
||
- [后端总体架构与当前执行清单](/D:/dev/cmr-mini/doc/backend/后端总体架构与当前执行清单.md)
|
||
- [后台游戏定制支持方案](/D:/dev/cmr-mini/doc/backend/后台游戏定制支持方案.md)
|
||
- [后台生产闭环架构草案](/D:/dev/cmr-mini/doc/backend/后台生产闭环架构草案.md)
|
||
|
||
目标不是再讲架构,而是明确:
|
||
|
||
- 第一阶段先做什么
|
||
- 哪些必须做稳
|
||
- 哪些暂时不要做
|
||
|
||
---
|
||
|
||
## 1. 第一阶段目标
|
||
|
||
backend 第一阶段建议只完成这 4 件事:
|
||
|
||
1. 发布完整性闭环
|
||
2. 多赛道发布链稳定
|
||
3. 准备页地图预览支撑字段稳定
|
||
4. 运维后台第一期最小对象与页面闭环
|
||
|
||
一句话:
|
||
|
||
**先把活动能稳定发布、能稳定进入、能稳定多赛道、能稳定预览做稳。**
|
||
|
||
---
|
||
|
||
## 2. 第一阶段必须做稳的能力
|
||
|
||
### 2.1 发布完整性
|
||
|
||
必须保证以下条件一致:
|
||
|
||
- `play.canLaunch`
|
||
- `launch`
|
||
- 当前发布 release 校验
|
||
|
||
要求:
|
||
|
||
- 缺 `runtime` 不可进入
|
||
- 缺 `presentation` 不可进入
|
||
- 缺 `content bundle` 不可进入
|
||
- 缺 `manifest` 不可进入
|
||
- 缺当前发布 release 不可进入
|
||
|
||
### 2.2 多赛道发布链
|
||
|
||
必须保证:
|
||
|
||
- `assignmentMode` 进入发布物
|
||
- `courseVariants[]` 进入发布物
|
||
- `launch.variant` 与最终 session 一致
|
||
- `preview.variants[]` 与 variant 对齐
|
||
|
||
### 2.3 准备页地图预览支撑字段
|
||
|
||
必须稳定提供:
|
||
|
||
- `preview.mode`
|
||
- `preview.baseTiles`
|
||
- `preview.viewport`
|
||
- `preview.variants[].controls`
|
||
- `preview.selectedVariantId`
|
||
|
||
### 2.4 运维后台第一期对象
|
||
|
||
至少要能稳定管理:
|
||
|
||
- `Event`
|
||
- `EventRelease`
|
||
- `MapRuntimeBinding`
|
||
- `EventPresentation`
|
||
- `ContentBundle`
|
||
|
||
---
|
||
|
||
## 3. 第一阶段建议顺序
|
||
|
||
### 第一步:把发布完整性做稳
|
||
|
||
先做:
|
||
|
||
- `play.canLaunch` 规则统一
|
||
- `launch` 阻断规则统一
|
||
- release 完整性检查
|
||
|
||
### 第二步:把多赛道做稳
|
||
|
||
先做:
|
||
|
||
- 发布物里透出 `assignmentMode`
|
||
- 发布物里透出 `courseVariants[]`
|
||
- `launch.variant`
|
||
- session 最终绑定 variant
|
||
|
||
### 第三步:把准备页预览支撑字段做稳
|
||
|
||
先做:
|
||
|
||
- `play.preview`
|
||
- variant 预览点位
|
||
- 单赛道 / 多赛道都可预览
|
||
|
||
### 第四步:做运维后台第一期最小页
|
||
|
||
先做:
|
||
|
||
- 活动列表
|
||
- 活动详情
|
||
- 运行绑定
|
||
- 展示/内容绑定
|
||
- 发布记录
|
||
|
||
---
|
||
|
||
## 4. 第一阶段对象优先级
|
||
|
||
### P0
|
||
|
||
- `Event`
|
||
- `EventRelease`
|
||
- `MapRuntimeBinding`
|
||
- `EventPresentation`
|
||
- `ContentBundle`
|
||
|
||
### P1
|
||
|
||
- `Place`
|
||
- `MapAsset`
|
||
- `TileRelease`
|
||
- `CourseSource`
|
||
- `CourseSet`
|
||
- `CourseVariant`
|
||
|
||
### P2
|
||
|
||
- `GameTemplate`
|
||
- 高级玩法配置
|
||
- 高级点位覆盖
|
||
- 高级 HUD 配置
|
||
|
||
---
|
||
|
||
## 5. frontend 当前已经稳定消费的链路
|
||
|
||
backend 当前可以默认 frontend 已经稳定消费:
|
||
|
||
- 活动列表卡片最小字段
|
||
- 活动详情 `status / canLaunch / currentPresentation / currentContentBundle`
|
||
- 准备页摘要
|
||
- `launch.runtime`
|
||
- `launch.variant`
|
||
- `launch.presentation`
|
||
- `launch.contentBundle`
|
||
- `ongoingSession`
|
||
- 结果页 / 历史页活动链
|
||
|
||
新增或调整接口时,优先不要打断这些链路。
|
||
|
||
---
|
||
|
||
## 6. 第一阶段暂时不要做什么
|
||
|
||
当前阶段不建议优先做:
|
||
|
||
- 全量 JSON 编辑器
|
||
- 复杂可视化搭建器
|
||
- 全量高级配置开放
|
||
- 复杂审核流
|
||
- 批量运维能力
|
||
- 把 `/dev/workbench` 直接演化成正式后台
|
||
|
||
---
|
||
|
||
## 7. 第一阶段完成标准
|
||
|
||
backend 第一阶段如果满足以下条件,就可以认为是“可进入第二阶段”:
|
||
|
||
1. 活动发布对象完整性稳定
|
||
2. 多赛道活动能稳定发布和进入
|
||
3. 准备页地图预览字段稳定
|
||
4. 运维后台第一期页面可用
|
||
5. 前后端联调不再依赖临时 demo 修补
|
||
|
||
---
|
||
|
||
## 8. 一句话结论
|
||
|
||
backend 第一阶段不是做“大而全后台”,而是做一套**稳定的活动生产与发布最小闭环**。
|
||
|
||
当前最重要的是先做稳:
|
||
|
||
- 发布完整性
|
||
- 多赛道
|
||
- 预览支撑字段
|
||
- 运维后台第一期对象与页面
|