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

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

125
f2b.md
View File

@@ -1,6 +1,6 @@
# F2B 协作清单
> 文档版本v1.0
> 最后更新2026-04-02 08:28:05
> 文档版本v1.3
> 最后更新2026-04-02 15:19:37
说明:
@@ -14,34 +14,33 @@
## 待确认
### F2B-004
### F2B-007
- 时间2026-04-01
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- 前端当前依赖以下 launch 字段
- `resolvedRelease.manifestUrl`
- `resolvedRelease.releaseId`
- `business.sessionId`
- `business.sessionToken`
- `business.sessionTokenExpiresAt`
- 前端已完成多赛道第一阶段接入
- 活动页、准备页可展示 `assignmentMode / courseVariants`
- `assignmentMode=manual` 时,准备页会让用户选择赛道
- 前端会把选中的 `variantId` 带入 `POST /events/{eventPublicID}/launch`
- 需要对方确认什么:
- backend 后续如需调整这些字段名或层级,需先在 `b2f.md` 明确通知
- backend 提供一个可联调的 `manual` 多赛道活动或 demo 数据
- 该活动需确保 `play.courseVariants[]``launch.variant.*` 可稳定返回
- 状态:待确认
### F2B-005
### F2B-008
- 时间2026-04-01
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- ongoing session 目前会影响:
- 前端已开始在首页 ongoing/recent、单局结果页、历史结果页展示 `variantName / routeCode`
- 当前需要确认从 `launch` 选定的 `variantId` 是否会稳定回流到:
- `/me/entry-home`
- `/events/{eventPublicID}/play`
- `/sessions/{sessionPublicID}/result`
- `/me/results`
- 需要对方确认什么:
- `cancelled` 后不再作为 ongoing 返回
- `failed` 后不再作为 ongoing 返回
- `finished` 后结果摘要与首页摘要口径一致
- 请 backend 确认以上摘要链是否已完成 variant 回写
- 如还未全部完成,请给出可联调时间点或先可用的接口范围
- 状态:待确认
---
@@ -108,6 +107,58 @@
-
- 状态:已确认
### F2B-C006
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认多赛道第一阶段最小契约,且相关字段已可从以下接口返回:
- `/events/{eventPublicID}/play`
- `/events/{eventPublicID}/launch`
- `/me/entry-home`
- `/sessions/{sessionPublicID}`
- `/sessions/{sessionPublicID}/result`
- `/me/results`
- `/me/sessions`
- 正式口径为:
- `play.assignmentMode`
- `play.courseVariants[]`
- `launch.variant.id/name/routeCode/assignmentMode`
- `session / ongoing / recent / result` 摘要中带 `variantId/variantName/routeCode`
- 需要对方确认什么:
-
- 状态:已确认
### F2B-C007
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认 launch 关键字段为正式契约:
- `resolvedRelease.manifestUrl`
- `resolvedRelease.releaseId`
- `business.sessionId`
- `business.sessionToken`
- `business.sessionTokenExpiresAt`
- 如后续字段名或层级需调整backend 将先在 `b2f.md` 通知
- 需要对方确认什么:
-
- 状态:已确认
### F2B-C008
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认 ongoing / recent / result 摘要口径:
- `launched``running` 作为 ongoing
- `finished``failed``cancelled` 不再作为 ongoing
- `/me/results` 只返回终态对局
- 前端后续按这套摘要口径做显示与回归
- 需要对方确认什么:
-
- 状态:已确认
---
## 阻塞
@@ -169,6 +220,20 @@
-
- 状态:已完成
### F2B-D004
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- 前端已完成多赛道第一阶段接入:
- `backendApi / launchAdapter / GameLaunchEnvelope` 已接入 `variant` 字段
- 故障恢复会随 `launchEnvelope` 保留 `variant` 信息
- 活动页、准备页、首页、单局结果页、历史结果页开始展示赛道版本信息
- `manual` 模式下准备页已支持选择赛道并把 `variantId` 带入 launch
- 需要对方确认什么:
-
- 状态:已完成
---
## 下一步
@@ -194,4 +259,28 @@
- 后续是否提供用户身体数据接口
- 状态:后续事项
### F2B-N003
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认多赛道第一阶段最小契约
- 前端已完成第一阶段基础接入,下一步将转入多赛道专项联调与展示补强
- 需要对方确认什么:
-
- 状态:前端执行中
### F2B-N004
- 时间2026-04-02
- 提出方:前端
- 当前事实:
- 多赛道下一步最值钱的是专项联调,而不是继续扩页面
- 当前优先链路为:
- `manual` 赛道选择 -> `launch.variant`
- `launch.variant` -> `ongoing / result / results`
- 需要对方确认什么:
-
- 状态:等待 backend 提供联调数据