f2b.md 8.6 KB

F2B 协作清单

文档版本:v2.5 最后更新:2026-04-07 21:24:00 历史归档: f2b.archive.md

说明:

  • 本文件由前端维护,写给后端
  • 主文件只保留当前仍有意义的信息
  • 已完成的大段历史已转入归档

待确认

F2B-019

  • 时间:2026-04-07 21:24:00
  • 提出方:前端
  • 当前事实:
    • 游客模式第一刀前端已接到:
    • 地图列表
    • 地图详情
    • 公共活动详情
    • 公共准备页
    • 公共 launch
    • 前端直接实测 backend 公共接口结果如下:
    • GET /public/experience-maps -> 200
    • GET /public/events/evt_demo_001/play -> 200
    • POST /public/events/evt_demo_001/launch -> 500 internal_error
    • 这说明游客模式“看地图/看活动/看准备页”已经通,但“真正进入地图”当前被 backend 公共 launch 卡住。
    • 当前 guest mode 只有默认体验活动可进:
    • evt_demo_score_o_001 -> 403 event_not_public
    • evt_demo_variant_manual_001 -> 403 event_not_public
  • 需要对方确认什么:
    • 请 backend 优先检查 POST /public/events/{eventPublicID}/launch 的服务端错误原因。
    • 建议先用 evt_demo_001 作为游客模式第一刀的联调基线,修通后再扩别的 demo。
  • 状态:待确认

F2B-018

  • 时间:2026-04-07 16:25:00
  • 提出方:前端
  • 当前事实:
    • 地图体验第一刀前端已完成:
    • 首页 地图体验 入口
    • 地图列表页
    • 地图详情页
    • 默认体验活动卡片跳活动详情页
    • 当前这条链仍依赖登录态,因为 backend 现有接口:
    • GET /experience-maps
    • GET /experience-maps/{mapAssetPublicID}
    • GET /events/{eventPublicID}
    • GET /events/{eventPublicID}/play
    • POST /events/{eventPublicID}/launch 都走登录态 access token
    • backend 当前已经补齐这组接口。
  • 需要对方确认什么:
  • 状态:已确认

F2B-017

  • 时间:2026-04-07 14:40:00
  • 提出方:前端
  • 当前事实:
    • 前端已新增产品方案文档:
    • 地图列表与默认体验活动方案
    • 当前建议方向是:
    • 增加 地图列表 作为默认体验活动入口层
    • 默认体验活动继续复用现有 Event / Release / Launch / Session
    • 默认体验活动可挂可不挂
    • 默认体验活动可以不出现在正式活动列表
    • 当前前端并不需要 backend 先做完整地图后台,只需要最小关系和最小摘要支持。
  • 需要对方确认什么:
    • 请 backend 先评估并支持以下最小配合项:
    • 地图/地点与默认体验活动的挂接关系
      • 能回答:某张地图下挂了哪些默认体验活动
    • 活动摘要补两个稳定字段:
      • isDefaultExperience
      • showInEventList
    • 地图列表最小字段建议:
      • placeId
      • placeName
      • mapId
      • mapName
      • coverUrl
      • summary
      • defaultExperienceCount
      • defaultExperienceEventIds[]
    • 地图详情最小字段建议:
      • 地点名称
      • 地图名称
      • 地图预览图
      • 默认体验活动列表(最少 eventId / title / subtitle / eventType / status / ctaText
    • 如 backend 对对象关系或字段命名有不同建议,请直接回:
    • 字段名
    • 所属接口
    • 是否建议第一阶段落地
  • 状态:待确认

F2B-016

  • 时间:2026-04-07 14:25:00
  • 提出方:前端
  • 当前事实:
  • 需要对方确认什么:
    • 请 backend 以这三份文档为基线,对齐:
    • 第一阶段后台对象范围
    • 第一阶段应进入后台的配置字段
    • 暂不进后台、继续保留在程序默认值层的字段
    • 如 backend 对某块裁剪有异议,请直接指出:
    • 字段名
    • 希望调整到哪一阶段
    • 原因
  • 状态:待确认

F2B-015

  • 时间:2026-04-07 13:46:00
  • 提出方:前端
  • 当前事实:
    • 准备页地图预览当前已改成:
    • 优先消费 GET /events/{eventPublicID}/play 返回的 preview
    • 按当前所选 variantId 生成预览点位
    • 底图优先仍使用 manifest 对应的正式瓦片源
    • 当前小程序侧现象是:准备页预览仍为空白
    • 前端已补结构化日志,当前会向 backend client-logs 上报:
    • category=event-prepare
    • details.phase=prepare-preview
    • source
    • selectedVariantId
    • backendPreviewVariantCount
    • tileCount
    • controlCount
    • overlayAvailable
    • previewMode
    • 失败时 errorMessage
  • 需要对方确认什么:
    • 请 backend 拉取这批 prepare-preview 日志,并核对:
    • 当前 play.preview.variants 是否真的返回了多条 variant 预览数据
    • 当前所选 selectedVariantId 是否能在 preview.variants[] 中命中
    • 当前 preview viewport / baseTiles 是否与正式发布对象一致
    • 如果 backend 已确认日志中 backendPreviewVariantCount > 0 但前端仍空白,请回传对应日志片段与当前 demo 的 eventId / releaseId
  • 状态:待确认

已确认

F2B-C011

  • 时间:2026-04-03 22:20:00
  • 提出方:前端
  • 当前事实:
    • backend 已通过 B2F-035 收紧 play.canLaunchlaunch
    • 当前规则为:缺 runtime / presentation / content bundle / manifest / 当前发布 release 任一项时,均不可进入游戏
    • 前端已复测通过,当前按 play.canLaunch 作为正式阻断口径
  • 需要对方确认什么:
  • 状态:已确认

F2B-C012

  • 时间:2026-04-03 23:52:00
  • 提出方:前端
  • 当前事实:
    • manual 多赛道准备页不显示选择区的根因已确认是发布 release 缺少:
    • play.assignmentMode
    • play.courseVariants
    • backend 已修复 demo/build/publish 链
    • 前端保留了多赛道空态兜底,但主因不在前端
  • 需要对方确认什么:
  • 状态:已确认

F2B-C013

  • 时间:2026-04-03 23:52:00
  • 提出方:前端
  • 当前事实:
    • 活动卡片列表第一刀所需字段当前已足够
    • 前端已补齐列表与详情页联调日志:
    • cardEventIds
    • clickedEventId
    • detailStatus
    • detailCanLaunch
    • detailCurrentPresentation
    • detailCurrentContentBundle
  • 需要对方确认什么:
  • 状态:已确认

阻塞

  • 当前无

已完成

F2B-D010

  • 时间:2026-04-03 22:12:00
  • 提出方:前端
  • 当前事实:
    • 活动页与准备页已统一使用:
    • 当前发布展示版本
    • 当前发布内容包版本
    • 当两项为空时,前端统一解释为:
    • 当前发布 release 未绑定
    • 或当前尚未发布
  • 需要对方确认什么:
  • 状态:已完成

F2B-D011

  • 时间:2026-04-07 12:06:00
  • 提出方:前端
  • 当前事实:
    • 首页 ongoingSession 已收成正式交互
    • 当前首页仅在 backend 返回 ongoingSession 时显示“进行中的游戏”
    • 支持:
    • 恢复
    • 放弃
    • 放弃 会调用 finish(cancelled),然后清理本地恢复快照并刷新首页
  • 需要对方确认什么:
  • 状态:已完成

尾项

F2B-011

  • 时间:2026-04-03
  • 提出方:前端
  • 当前事实:
    • demo 历史 ongoing session 的回收口径仍是独立尾项
    • 当前不阻塞主线:多赛道、活动列表、运营摘要、runtime 主链均可继续联调
  • 需要对方确认什么:
    • 后续请单独收口 demo 环境下 launched / running session 清理与 ongoing 判定规则
  • 状态:待后续单独处理

下一步

  • 当前前后端继续按 backend 一键测试环境联调
  • 当前前端侧会优先关注:
    • 活动列表第一刀回归
    • 活动详情页/准备页用户化小修
    • 准备页地图预览 V1 稳定性
  • 如后端语义或字段发生变化,再通过 b2f.md / f2b.md 做增量同步