11 KiB
11 KiB
F2B 协作清单
文档版本:v1.9 最后更新:2026-04-03 16:45:26
说明:
- 本文件由前端维护,写给后端
- 只写“事实”和“请求”
- 不写长讨论稿
- 每条尽量包含:时间、提出方、当前事实、需要对方确认什么、状态
待确认
F2B-011
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- 使用 backend 一键测试环境联调
evt_demo_variant_manual_001时,活动页 / 准备页返回:primaryAction = continuereason = user has an ongoing session for this event
- 但前端本地当前没有可恢复快照,且本轮联调主观确认“已经没有需要恢复的游戏”
- 当前看起来像是 backend 仍认定该用户在该活动下存在 ongoing session
- 使用 backend 一键测试环境联调
- 需要对方确认什么:
- 请 backend 核对该用户在
evt_demo_variant_manual_001下是否仍有launched / runningsession 未清掉 - 如这是预期行为,请说明推荐的标准清理路径;如不是预期,请修正 ongoing 判定或测试环境回收逻辑
- 请 backend 核对该用户在
- 状态:待确认
已确认
F2B-C001
- 时间:2026-04-01
- 提出方:前端
- 当前事实:
- 正式联调时,前端以 backend
launch下发的 release/manifest 为准 - 不再回退到本地
event/*.json
- 正式联调时,前端以 backend
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C002
- 时间:2026-04-01
- 提出方:前端
- 当前事实:
- 前后端协作文档改为双文件:
f2b.md由前端维护b2f.md由后端维护
- 前后端协作文档改为双文件:
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C003
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认 session 三态正式语义:
- 正常完成 ->
finished - 超时或规则失败 ->
failed - 主动退出 / 放弃恢复 ->
cancelled
- 正常完成 ->
- 前端已按这套语义继续联调
- backend 已确认 session 三态正式语义:
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C004
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认“放弃恢复”官方语义为
finish(cancelled) - 旧
sessionToken在该场景下允许继续调用 - 前端当前已正式启用该链路
- backend 已确认“放弃恢复”官方语义为
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C005
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认
start / finish按幂等处理 - 前端可继续按当前补报 / 重试逻辑联调
- backend 已确认
- 需要对方确认什么:
- 无
- 状态:已确认
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.assignmentModeplay.courseVariants[]launch.variant.id/name/routeCode/assignmentModesession / ongoing / recent / result摘要中带variantId/variantName/routeCode
- backend 已确认多赛道第一阶段最小契约,且相关字段已可从以下接口返回:
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C007
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认 launch 关键字段为正式契约:
resolvedRelease.manifestUrlresolvedRelease.releaseIdbusiness.sessionIdbusiness.sessionTokenbusiness.sessionTokenExpiresAt
- 如后续字段名或层级需调整,backend 将先在
b2f.md通知
- backend 已确认 launch 关键字段为正式契约:
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C008
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认 ongoing / recent / result 摘要口径:
launched、running作为 ongoingfinished、failed、cancelled不再作为 ongoing/me/results只返回终态对局
- 前端后续按这套摘要口径做显示与回归
- backend 已确认 ongoing / recent / result 摘要口径:
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C009
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- backend 已提供可联调的
manual多赛道 demo 活动:evt_demo_variant_manual_001
- backend 已确认
launch选定的variantId会稳定回流到:/me/entry-home/sessions/{sessionPublicID}/result/me/results
- backend 已提供可联调的
- 需要对方确认什么:
- 无
- 状态:已确认
F2B-C010
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- backend 已透出活动运营域第二阶段摘要字段:
currentPresentationcurrentContentBundlelaunch.presentationlaunch.contentBundle
- 前端当前按总控口径,仅做类型 / adapter / 活动页与准备页轻摘要接线,不扩新页面链
- backend 已透出活动运营域第二阶段摘要字段:
- 需要对方确认什么:
- 无
- 状态:已确认
阻塞
F2B-B001
- 时间:2026-04-01
- 提出方:前端
- 当前事实:
- 当前前端主链已基本可联调
- 目前没有新的 backend 阻塞项
- 需要对方确认什么:
- 无
- 状态:已解决
已完成
F2B-D001
- 时间:2026-04-01
- 提出方:前端
- 当前事实:
- 小程序已接通:
- 登录
- 首页聚合
- 活动页
play launch -> 地图页session startsession finishsession 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-D006
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- 已按 backend
B2F-028的排查口径补充前端诊断链,当前地图信息面板/赛后结果里可直接查看:launch.config.configUrllaunch.resolvedRelease.manifestUrllaunch.config.releaseIdlaunch.resolvedRelease.releaseId- 最终加载后的:
Schema版本场地类型(playfield.kind)模式编码(game.mode)
- 当前只补了诊断与观测,没有改动正式 launch 主链
- 已按 backend
- 需要对方确认什么:
- 无
- 状态:已完成
F2B-D007
- 时间:2026-04-03 16:26:37
- 提出方:前端
- 当前事实:
- 已按
B2F-030接入 backendPOST /dev/client-logs - 当前关键阶段会主动上报最小调试日志:
entry-homeevent-playevent-preparelaunch-diagnosticruntime-compilersession-recovery
- 当前主日志字段已按 backend 建议最小口径回传:
sourcelevelcategorymessageeventIdreleaseIdsessionIdmanifestUrlroutedetails.phasedetails.schemaVersiondetails.playfield.kinddetails.game.mode
- 模拟器日志不再作为当前联调主诊断口,保留地图内调试面板作为本地辅助能力
- 已按
- 需要对方确认什么:
- 无
- 状态:已完成
F2B-D008
- 时间:2026-04-03 16:45:26
- 提出方:前端
- 当前事实:
- backend 已通过
B2F-031明确确认:积分赛误进顺序赛的根因不是前端解析,而是首页卡片入口配置错误 - 具体根因为:
- 首页卡片查询此前只取
home_primary - 积分赛 demo 卡此前被种到
home_secondary - 前端首页因此根本拿不到
evt_demo_score_o_001
- 首页卡片查询此前只取
- backend 已修复积分赛卡片入口配置
- 前端当前无需再为该问题修改玩法解析或 manifest 消费逻辑
- backend 已通过
- 需要对方确认什么:
- 无
- 状态:已完成
F2B-D009
- 时间:2026-04-03 16:45:26
- 提出方:前端
- 当前事实:
- 已按
B2F-032优化前端结构化调试日志口径:- 非多赛道玩法时,不再上报空字符串形式的
assignmentMode - 非手选赛道时,不再把空
variantId伪装成已选赛道 - 所有 client log 现在都会附带前端本地递增
details.seq launchVariantId与runtimeCourseVariantId已明确区分
- 非多赛道玩法时,不再上报空字符串形式的
- 已按
- 需要对方确认什么:
- 无
- 状态:已完成
下一步
F2B-N001
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- session 生命周期关键语义已由 backend 确认
- 当前前端下一轮重点应转向主链回归与结果展示对齐
- 需要对方确认什么:
- 无
- 状态:前端执行中
F2B-N002
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- 心率 / 卡路里个体化能力已在前端预留
- 需要对方确认什么:
- 后续是否提供用户身体数据接口
- 状态:后续事项
F2B-N003
- 时间:2026-04-02
- 提出方:前端
- 当前事实:
- backend 已确认多赛道第一阶段最小契约
- 前端已完成第一阶段基础接入,下一步将转入多赛道专项联调与展示补强
- 需要对方确认什么:
- 无
- 状态:前端执行中
F2B-N004
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- 当前主链已进入“稳住 + 联调修复”阶段
- 活动运营域摘要第一刀已接通,但前端不会主动扩复杂运营样式
- 需要对方确认什么:
- 无
- 状态:前端执行中
F2B-N005
- 时间:2026-04-03
- 提出方:前端
- 当前事实:
- 当前已具备积分赛 demo 发布链诊断信息,下一步将按 backend 一键测试环境回归
evt_demo_score_o_001 - 如仍表现为顺序赛,前端将回传 launch/config/runtime 三段事实,不再只报“现象”
- 当前已具备积分赛 demo 发布链诊断信息,下一步将按 backend 一键测试环境回归
- 需要对方确认什么:
- 无
- 状态:前端执行中