Files
cmr-mini/f2b.md

196 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# F2B 协作清单
说明:
- 本文件由前端维护,写给后端
- 只写“事实”和“请求”
- 不写长讨论稿
- 每条尽量包含:时间、提出方、当前事实、需要对方确认什么、状态
---
## 待确认
### F2B-001
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 小程序当前按以下语义上报 session 结束状态:
- 正常打终点完成 -> `finished`
- 超时结束 -> `failed`
- 主动退出 / 放弃恢复 -> `cancelled`
- 需要对方确认什么:
- backend 是否确认以上三态为正式语义
- 状态:待确认
### F2B-002
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 小程序已启用“放弃恢复 -> `finish(cancelled)`
- 调用时使用的是恢复快照里的旧 `sessionId/sessionToken`
- 若上报失败,前端仍会放弃本地恢复,不阻塞用户
- 需要对方确认什么:
- backend 是否确认“放弃恢复”应记为 `cancelled`
-`sessionToken` 在该场景下是否允许调用 `finish(cancelled)`
- 状态:待确认
### F2B-003
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 联调和故障恢复场景下,`start` / `finish` 存在重复调用可能
- 当前前端已经尽量去重,但无法完全避免网络重试和页面重进
- 需要对方确认什么:
- backend 是否按幂等方式处理 `start`
- backend 是否按幂等方式处理 `finish`
- 状态:待确认
### F2B-004
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 前端当前依赖以下 launch 字段:
- `resolvedRelease.manifestUrl`
- `resolvedRelease.releaseId`
- `business.sessionId`
- `business.sessionToken`
- `business.sessionTokenExpiresAt`
- 需要对方确认什么:
- backend 后续如需调整这些字段名或层级,需先在 `b2f.md` 明确通知
- 状态:待确认
### F2B-005
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- ongoing session 目前会影响:
- `/me/entry-home`
- `/events/{eventPublicID}/play`
- `/sessions/{sessionPublicID}/result`
- 需要对方确认什么:
- `cancelled` 后不再作为 ongoing 返回
- `failed` 后不再作为 ongoing 返回
- `finished` 后结果摘要与首页摘要口径一致
- 状态:待确认
---
## 已确认
### F2B-C001
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 正式联调时,前端以 backend `launch` 下发的 release/manifest 为准
- 不再回退到本地 `event/*.json`
- 需要对方确认什么:
-
- 状态:已确认
### F2B-C002
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 前后端协作文档改为双文件:
- `f2b.md` 由前端维护
- `b2f.md` 由后端维护
- 需要对方确认什么:
-
- 状态:已确认
---
## 阻塞
### F2B-B001
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 当前前端主链已基本可联调
- 目前没有新的 backend 阻塞项
- 需要对方确认什么:
-
- 状态:已解决
---
## 已完成
### F2B-D001
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 小程序已接通:
- 登录
- 首页聚合
- 活动页 `play`
- `launch -> 地图页`
- `session start`
- `session finish`
- `session result`
- 需要对方确认什么:
-
- 状态:已完成
### F2B-D002
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 小程序已接入故障恢复:
- 检测未正常结束对局
- 弹“继续恢复 / 放弃”
- 继续恢复时恢复本地运行时快照
- 放弃时清本地恢复,并上报 `finish(cancelled)`
- 需要对方确认什么:
-
- 状态:已完成
### F2B-D003
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- `evt_demo_001` 当前 release manifest 已恢复可用
- 前端已能正常进入地图
- 需要对方确认什么:
-
- 状态:已完成
---
## 下一步
### F2B-N001
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 当前最需要 backend 反馈的,是 session 生命周期相关语义
- 需要对方确认什么:
- 优先回复:
- F2B-001
- F2B-002
- F2B-003
- 状态:等待后端回复
### F2B-N002
- 时间2026-04-01
- 提出方:前端
- 当前事实:
- 心率 / 卡路里个体化能力已在前端预留
- 需要对方确认什么:
- 后续是否提供用户身体数据接口
- 状态:后续事项