8.0 KiB
8.0 KiB
b2f
文档版本:v1.40 最后更新:2026-04-07 16:29:08
说明:
- 本文件由 backend 维护,写给 frontend
- 只保留当前有效事项、联调基线和压缩归档
- 已完成旧项不再逐条长留,只保留必要结论
待确认
B2F-045
- 时间:2026-04-07 16:29:08
- 谁提的:backend
- 当前事实:
- backend 已补游客模式最小公开接口:
GET /public/experience-mapsGET /public/experience-maps/{mapAssetPublicID}GET /public/events/{eventPublicID}GET /public/events/{eventPublicID}/playPOST /public/events/{eventPublicID}/launch
- 当前游客模式语义:
- 只允许默认体验活动
- 只允许基于已发布 release
public launch返回结构与正式 launch 基本同构- 会额外返回:
launch.source = public-default-experiencelaunch.business.isGuest = true
- 当前不开放:
/me/entry-home/me/results- 历史成绩
- 报名态
- 本轮已定位并修复
F2B-019的根因:POST /public/events/{eventPublicID}/launch在创建游客身份时会写入login_identities- 旧库约束不允许
identity_type = 'guest' - 已补 migration:
- backend 已补游客模式最小公开接口:
- 需要对方确认什么:
- frontend 重启 backend 并应用最新 migration 后,重新回归:
POST /public/events/evt_demo_001/launch
- 若仍异常,只回传:
statuserror.codeeventIddeviceKey
- frontend 重启 backend 并应用最新 migration 后,重新回归:
- 是否已解决:是
B2F-044
- 时间:2026-04-07 16:08:20
- 谁提的:backend
- 当前事实:
- backend 已补地图列表与默认活动最小接口:
GET /experience-mapsGET /experience-maps/{mapAssetPublicID}
- 当前地图列表字段:
placeIdplaceNamemapIdmapNamecoverUrlsummarydefaultExperienceCountdefaultExperienceEventIds
- 当前地图详情字段:
tileBaseUrltileMetaUrldefaultExperiences[]
defaultExperiences[]已带:eventIdtitlesubtitleeventTypestatusstatusCodectaTextisDefaultExperienceshowInEventListcurrentPresentationcurrentContentBundle
- backend 已补地图列表与默认活动最小接口:
- 需要对方确认什么:
- frontend 地图列表第一刀可直接按这组字段开始接线。
- 如仍缺字段,只回传“字段名 + 使用位置”。
- 是否已解决:否
B2F-041
- 时间:2026-04-07 13:12:00
- 谁提的:backend
- 当前事实:
- backend 已把准备页地图预览 V1 的只读字段挂到:
GET /events/{eventPublicID}GET /events/{eventPublicID}/play
- 当前字段为:
preview.modepreview.baseTiles.tileBaseUrlpreview.baseTiles.zoompreview.baseTiles.tileSizepreview.viewport.width / height / minLon / minLat / maxLon / maxLatpreview.variants[].controlspreview.variants[].legspreview.selectedVariantId
- 三条标准 demo 当前都已具备 preview 元数据。
- backend 已把准备页地图预览 V1 的只读字段挂到:
- 需要对方确认什么:
- frontend 可按这组字段开始准备页地图预览 V1 接线。
- 当前只做只读预览,不把 preview 当成正式 launch 前置条件。
- 是否已解决:否
B2F-040
- 时间:2026-04-07 10:58:18
- 谁提的:backend
- 当前事实:
- 首页
ongoingSession语义已固定:- 只认
launched - 只认
running
- 只认
- 以下状态都不算进行中:
finishedfailedcancelled
- backend 已支持:
POST /sessions/{sessionPublicID}/finishstatus = cancelled
- 首页
- 需要对方确认什么:
- frontend 首页“进行中”只在
ongoingSession存在时显示。 - 建议按钮:
恢复放弃
放弃必须调用finish(cancelled),然后清本地恢复快照,再刷新/me/entry-home。
- frontend 首页“进行中”只在
- 是否已解决:否
B2F-038
- 时间:2026-04-03 19:13:57
- 谁提的:backend
- 当前事实:
- backend 已给活动列表第一刀补齐最小摘要字段,返回位于:
GET /cardsGET /homeGET /me/entry-home
- 当前字段为:
summarystatusstatusCodetimeWindowctaTextisDefaultExperienceeventTypecurrentPresentationcurrentContentBundle
- backend 已给活动列表第一刀补齐最小摘要字段,返回位于:
- 需要对方确认什么:
- frontend 按这组字段完成列表页最小接线。
- 如果仍缺字段,请只回传“缺什么字段、用于哪个页面块”。
- 是否已解决:否
已确认
B2F-043
- 时间:2026-04-07 13:51:50
- 谁提的:backend
- 当前事实:
- backend 已开始提供运维入口第一期:
POST /admin/ops/tile-releases/importPOST /admin/ops/course-sets/import-kml-batch
- backend 也已开始提供统一资源纳管入口:
GET /admin/assetsPOST /admin/assets/register-linkPOST /admin/assets/uploadGET /admin/assets/{assetPublicID}
- 当前已新增独立运维工作台:
GET /admin/ops-workbench
- 这批接口与页面主要服务运维录入和发布准备,不要求 frontend 直接接入。
- 当前 API 总数同步更新为:
101
- backend 已开始提供运维入口第一期:
- 需要对方确认什么:
- 无
- 是否已解决:是
B2F-042
- 时间:2026-04-07 12:38:13
- 谁提的:backend
- 当前事实:
- manual 多赛道 demo 当前已切到 4 条正式 OSS KML:
gotomars/kml/lxcb-001/2026-04-07/route01.kmlgotomars/kml/lxcb-001/2026-04-07/route02.kmlgotomars/kml/lxcb-001/2026-04-07/route03.kmlgotomars/kml/lxcb-001/2026-04-07/route04.kml
- frontend 当前只需消费发布结果,无需读取本地临时目录。
- manual 多赛道 demo 当前已切到 4 条正式 OSS KML:
- 需要对方确认什么:
- 无
- 是否已解决:是
B2F-034
- 时间:2026-04-07 09:46:00
- 谁提的:backend
- 当前事实:
- 玩家进入游戏只认“已发布 release”。
currentPresentation / currentContentBundle当前表示的是:- 当前已发布 release 实际绑定的展示版本
- 当前已发布 release 实际绑定的内容包
- 它们不是 event 草稿默认值。
play.canLaunch当前已收紧,不是“有 release 就真”。
- 需要对方确认什么:
- frontend 页面文案应按“当前发布展示版本 / 当前发布内容包版本”理解。
- 是否已解决:是
B2F-032
- 时间:2026-04-03 18:42:00
- 谁提的:backend
- 当前事实:
- backend 已接收 frontend 调试日志,并以此作为联调事实依据。
- 当前建议前端日志至少带:
eventIdreleaseIdmanifestUrlgame.modeplayfield.kinddetails.seq
- 需要对方确认什么:
- frontend 继续按结构化日志回传事实,不靠截图猜测。
- 是否已解决:是
阻塞
- 当前无 backend 侧新增阻塞。
- 若 frontend 发现问题,请直接回传:
- 当前
eventId - 当前
releaseId - 当前
manifestUrl - 当前页面阶段
- 结构化日志片段
- 当前
已完成
归档摘要(保留必要结论)
- 时间:2026-04-07 12:18:00
- 谁提的:backend
- 当前事实:
Bootstrap Demo当前会准备三条标准 demo 的基础已发布态:evt_demo_001evt_demo_score_o_001evt_demo_variant_manual_001
- 三条 demo 当前都已清理历史残留 ongoing session。
- manual 多赛道当前已确认:
assignmentMode = manualvariantCount = 2detailCanLaunch = true
- 积分赛当前已确认:
game.mode = score-oplayfield.kind = control-set
- 活动列表当前已能稳定返回 3 张标准 demo 卡片。
- 需要对方确认什么:
- 无
- 是否已解决:是
下一步
- frontend 继续按当前联调基线推进:
- 活动列表第一刀
- 详情页/准备页语义收口
- 准备页地图预览 V1
- backend 继续保持:
- 一键测试链稳定
- 结构化日志可追踪
- demo 数据可重复复现