本文档由前端维护,用于记录:
约定:
f2b.md 由前端维护b2f.md 由后端维护当前小程序侧已经接通:
playlaunch -> 地图页session startsession finishsession result当前已确认不再是 backend 阻塞项:
evt_demo_001 的 release manifest 现在可正常加载前端当前按以下字段消费:
launch.resolvedRelease.releaseIdlaunch.resolvedRelease.manifestUrllaunch.resolvedRelease.manifestChecksumSha256launch.config.configUrllaunch.config.configLabellaunch.config.releaseIdlaunch.config.routeCodelaunch.business.sessionIdlaunch.business.sessionTokenlaunch.business.sessionTokenExpiresAt当前前端约束:
launch 下发的 release / manifestevent/*.json 样例路径manifestUrl 无效,会直接在地图页报错前端当前已接:
session startfinish(finished)finish(failed)finish(cancelled)前端当前已接:
finish(cancelled)当前实现口径:
请 backend 明确并固定:
finishedfailedcancelled前端当前使用口径:
finishedfailedcancelled如果 backend 计划使用其他语义,请先在 b2f.md 明确,不要直接改单接口行为。
前端现在已经启用:
POST /sessions/{id}/finishstatus=cancelled请 backend 确认:
sessionToken 是否允许在恢复放弃场景继续调用 finish(cancelled)cancelled 后是否保证不再作为 ongoingSession 出现在:
/me/entry-home/events/{eventPublicID}/play请 backend 明确:
start 重复调用是否安全finish 重复调用是否安全前端建议口径:
start:如果 session 已在运行态,返回成功和当前 sessionfinish:如果 session 已进入终态,返回成功和当前 session/result原因:
这些都很容易触发重复请求。
请 backend 回归确认以下接口对 ongoing session 的口径一致:
/me/entry-home/events/{eventPublicID}/play/sessions/{sessionPublicID}/result重点确认:
cancelled 后不再继续出现在 ongoing 入口failed 后不再继续出现在 ongoing 入口finished 后结果摘要和首页摘要保持一致当前前端已经按既定结构接好 launch。
请 backend:
b2f.md 里给出变更说明resolvedRelease.manifestUrlbusiness.sessionIdbusiness.sessionToken前端已经有 telemetry profile 合并能力。
backend 后续建议提供:
建议至少包含:
birthDate 或 heartRateAgeweightKgrestingHeartRateBpmmaxHeartRateBpm(可选)前端当前 finish 可能上报:
finalDurationSecfinalScorecompletedControlstotalControlsdistanceMetersaverageSpeedKmhmaxHeartRateBpm请 backend:
建议 backend workbench 后续增加:
cancelled这样更利于故障恢复联调。
backend 现在只要先在 b2f.md 回 3 件事,前后端主链就能更稳:
finished / failed / cancelled 三态最终语义finish(cancelled) 是否是正式方案start / finish 是否按幂等处理当前前端最需要 backend 配合的,不是更多新接口,而是:
先把 session 生命周期语义、放弃恢复语义和 ongoing session 口径完全定稳。