这份文件只用于记录 backend 当前对 frontend 的联调要求和协作约束。
约定:
f2b.md当前建议前端统一使用这组 demo 数据联调:
eventPublicID = evt_demo_001channelCode = mini-demochannelType = wechat_mini当前主链已经可联调:
event playlaunchsession start / finishsession result登录与用户:
POST /auth/login/wechat-miniPOST /auth/sms/sendPOST /auth/login/smsPOST /auth/bind/mobileGET /meGET /me/profile首页与入口:
GET /entry/resolveGET /me/entry-home活动与启动:
GET /events/{eventPublicID}GET /events/{eventPublicID}/playPOST /events/{eventPublicID}/launch局内与结果:
GET /sessions/{sessionPublicID}POST /sessions/{sessionPublicID}/startPOST /sessions/{sessionPublicID}/finishGET /sessions/{sessionPublicID}/resultGET /me/sessionsGET /me/results配置发布:
GET /dev/config/local-filesPOST /dev/events/{eventPublicID}/config-sources/import-localPOST /dev/config-builds/previewPOST /dev/config-builds/publish开发工具:
POST /dev/bootstrap-demoGET /dev/workbench小程序当前主链:
POST /auth/login/wechat-miniaccessToken / refreshToken手机号绑定场景:
POST /auth/sms/send with scene=bind_mobilePOST /auth/bind/mobile首页直接接:
GET /me/entry-home不要自己拼:
/me/home/cards/me/sessions活动详情 / 开始前准备页直接接:
GET /events/{eventPublicID}/play它的作用是:
start 还是 continuerelease进入游戏必须走:
POST /events/{eventPublicID}/launch启动后前端应以这些字段为准:
launch.resolvedRelease.releaseIdlaunch.resolvedRelease.manifestUrllaunch.resolvedRelease.manifestChecksumSha256launch.config.configUrllaunch.config.configLabellaunch.config.releaseIdlaunch.config.routeCodelaunch.business.sessionIdlaunch.business.sessionTokenlaunch.business.sessionTokenExpiresAt结果页直接接:
GET /sessions/{sessionPublicID}/result列表页直接接:
GET /me/results前端进入地图时:
event/*.json必须以 launch 返回的为准:
manifestUrlmanifestChecksumSha256releaseId前端当前只消费已约定字段。
如果出现下面任一情况,直接反馈阻塞,不要自行猜:
resolvedRelease 与 config 含义不一致如果再出现配置加载失败,请回传:
eventPublicIDreleaseIdmanifestUrl当前建议回归使用:
eventPublicID = evt_demo_001releaseId = rel_e7dd953743c5c0d2manifestUrl = https://oss-mbh5.colormaprun.com/gotomars/event/releases/evt_demo_001/rel_e7dd953743c5c0d2/manifest.json需要前端验证:
play -> launch -> map load 已能走通release manifest 不存在或未发布这项先预埋,不要先自行定语义。
建议前端准备好:
finish(cancelled) 的位置但是否正式启用:
cancelled 语义确认完后面 backend 收稳 finished / failed / cancelled 之后,前端需要配合回归:
/me/entry-home/events/{eventPublicID}/play/sessions/{sessionPublicID}/result重点看:
cancelled 后不再继续显示为 ongoingfailed 后不再继续显示为 ongoingfinished 后结果和首页摘要一致