f2b.md 7.9 KB

F2B 协作清单

文档版本:v1.5 最后更新:2026-04-03 20:02:00

说明:

  • 本文件由前端维护,写给后端
  • 只写“事实”和“请求”
  • 不写长讨论稿
  • 每条尽量包含:时间、提出方、当前事实、需要对方确认什么、状态

待确认

F2B-011

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • 使用 backend 一键测试环境联调 evt_demo_variant_manual_001 时,活动页 / 准备页返回:
    • primaryAction = continue
    • reason = user has an ongoing session for this event
    • 但前端本地当前没有可恢复快照,且本轮联调主观确认“已经没有需要恢复的游戏”
    • 当前看起来像是 backend 仍认定该用户在该活动下存在 ongoing session
  • 需要对方确认什么:
    • 请 backend 核对该用户在 evt_demo_variant_manual_001 下是否仍有 launched / running session 未清掉
    • 如这是预期行为,请说明推荐的标准清理路径;如不是预期,请修正 ongoing 判定或测试环境回收逻辑
  • 状态:待确认

已确认

F2B-C001

  • 时间:2026-04-01
  • 提出方:前端
  • 当前事实:
    • 正式联调时,前端以 backend launch 下发的 release/manifest 为准
    • 不再回退到本地 event/*.json
  • 需要对方确认什么:
  • 状态:已确认

F2B-C002

  • 时间:2026-04-01
  • 提出方:前端
  • 当前事实:
    • 前后端协作文档改为双文件:
    • f2b.md 由前端维护
    • b2f.md 由后端维护
  • 需要对方确认什么:
  • 状态:已确认

F2B-C003

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • backend 已确认 session 三态正式语义:
    • 正常完成 -> finished
    • 超时或规则失败 -> failed
    • 主动退出 / 放弃恢复 -> cancelled
    • 前端已按这套语义继续联调
  • 需要对方确认什么:
  • 状态:已确认

F2B-C004

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • backend 已确认“放弃恢复”官方语义为 finish(cancelled)
    • sessionToken 在该场景下允许继续调用
    • 前端当前已正式启用该链路
  • 需要对方确认什么:
  • 状态:已确认

F2B-C005

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • backend 已确认 start / finish 按幂等处理
    • 前端可继续按当前补报 / 重试逻辑联调
  • 需要对方确认什么:
  • 状态:已确认

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 摘要口径:
    • launchedrunning 作为 ongoing
    • finishedfailedcancelled 不再作为 ongoing
    • /me/results 只返回终态对局
    • 前端后续按这套摘要口径做显示与回归
  • 需要对方确认什么:
  • 状态:已确认

F2B-C009

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • backend 已提供可联调的 manual 多赛道 demo 活动:
    • evt_demo_variant_manual_001
    • backend 已确认 launch 选定的 variantId 会稳定回流到:
    • /me/entry-home
    • /sessions/{sessionPublicID}/result
    • /me/results
  • 需要对方确认什么:
  • 状态:已确认

F2B-C010

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • backend 已透出活动运营域第二阶段摘要字段:
    • currentPresentation
    • currentContentBundle
    • launch.presentation
    • launch.contentBundle
    • 前端当前按总控口径,仅做类型 / adapter / 活动页与准备页轻摘要接线,不扩新页面链
  • 需要对方确认什么:
  • 状态:已确认

阻塞

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-D004

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • 前端已完成多赛道第一阶段接入:
    • backendApi / launchAdapter / GameLaunchEnvelope 已接入 variant 字段
    • 故障恢复会随 launchEnvelope 保留 variant 信息
    • 活动页、准备页、首页、单局结果页、历史结果页开始展示赛道版本信息
    • manual 模式下准备页已支持选择赛道并把 variantId 带入 launch
  • 需要对方确认什么:
  • 状态:已完成

F2B-D005

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • 前端已完成活动运营域摘要第一刀的轻接线:
    • 活动页开始展示 currentPresentation / currentContentBundle
    • 准备页开始展示活动运营摘要
    • launch.presentation / launch.contentBundle 已进入 GameLaunchEnvelope
    • 会话快照会随 launchEnvelope 一起保留这批摘要
  • 需要对方确认什么:
  • 状态:已完成

下一步

F2B-N001

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • session 生命周期关键语义已由 backend 确认
    • 当前前端下一轮重点应转向主链回归与结果展示对齐
  • 需要对方确认什么:
  • 状态:前端执行中

F2B-N002

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • 心率 / 卡路里个体化能力已在前端预留
  • 需要对方确认什么:
    • 后续是否提供用户身体数据接口
  • 状态:后续事项

F2B-N003

  • 时间:2026-04-02
  • 提出方:前端
  • 当前事实:
    • backend 已确认多赛道第一阶段最小契约
    • 前端已完成第一阶段基础接入,下一步将转入多赛道专项联调与展示补强
  • 需要对方确认什么:
  • 状态:前端执行中

F2B-N004

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • 当前主链已进入“稳住 + 联调修复”阶段
    • 活动运营域摘要第一刀已接通,但前端不会主动扩复杂运营样式
  • 需要对方确认什么:
  • 状态:前端执行中