文档版本:v1.0 最后更新:2026-04-07 18:47:09
这份文档给“新线程 / 新接手人”直接使用,目标是:
当前 backend 已经形成三条比较稳定的主线:
玩家链
entry -> auth -> home/cards -> event detail/play -> launch -> session -> result游客链
public experience maps -> public event detail/play -> public launch运维链
资源录入 -> 地图/地点管理 -> 路线资源管理 -> 活动管理/编排 -> 发布中心同时,调试与运维已经明确分离:
/dev/workbench/admin/ops-workbench当前接口总数:
116当前已经明确,第一阶段活动模型按最小运行单元收口:
单地图单路线组单玩法不要在第一阶段把单个活动扩成:
复杂需求后续通过两种方式承接:
活动实例化
组合入口 / 组合卡片
这条原则已经同步给总控,后续不要回退。
玩家进入游戏必须基于:
已发布 release而不是:
当前 play.canLaunch 已按这条规则收紧:
必须同时具备:
activemanifestruntimepresentationcontent bundle否则:
play.canLaunch = false不要再把所有能力塞回一个页面。
当前原则:
/dev/workbench
/admin/ops-workbench
这些是用户多次强调过的,后续要严格遵守。
用户明确反感“所有功能平铺一个页面”的方式。
正确方向:
不要继续堆按钮。
例如在地图管理里,用户明确要求的是:
添加地图添加地点用户明确要求:
用户明确要求:
当前已实现:
APP_ENV != production 时,/ops/admin/* 默认可免登录使用入口:
地址:
/dev/workbench已完成:
调试链已经能稳定支撑:
公开接口:
GET /public/experience-mapsGET /public/experience-maps/{mapAssetPublicID}GET /public/events/{eventPublicID}GET /public/events/{eventPublicID}/playPOST /public/events/{eventPublicID}/launch语义:
launch.business.isGuest = truelaunch.source = public-default-experience游客 launch 曾经被 guest identity DB 约束卡死,已通过 migration 修复。
接口:
GET /experience-mapsGET /experience-maps/{mapAssetPublicID}当前用于前端地图列表下的“默认体验活动”展示。
入口:
地址:
/admin/ops-workbench当前导航结构已收成:
资源总览地图 / 地点管理路线资源管理活动管理活动编排发布中心资源录入注意:
已新增统一资源模型接口:
GET /ops/admin/assetsPOST /ops/admin/assets/register-linkPOST /ops/admin/assets/uploadGET /ops/admin/assets/{assetPublicID}目的:
这是接下来最可能继续做的主线。
当前已经做了这些:
添加地图添加地点regionGET /ops/admin/region-options地区数据源:
业务约束:
刚刚修复过一个关键前端脚本 bug:
managed-place-id 隐藏状态字段在重构时被删掉refresh-map-area 前端脚本异常,只打印 { error: {} }namemessagestackstatus/body/url开发库:
cmr20260401注意:
开发库里曾手工补过的重要 migration:
这些都已经在当前开发库应用过。
如果新线程遇到“文档说修了,但接口还是异常”,先查两件事:
cmr20260401新线程建议先看这些,不要一上来就只看代码。
其中:
b2t.md 看 backend 写给总控的当前结论b2f.md 看 backend 写给前端的当前联调口径新线程接手后,建议优先级如下:
目标:
这里的“上传地图”不是指调试式填 URL,而是最终要收成:
建议继续补:
注意:
KML/路线页也应遵守同一原则:
如果新线程接手后发现:
/admin/ops-workbench失败:refresh-map-area{ "error": {} }先确认是否已经是本线程修后的代码版本。
本线程最后一次修复的是:
managed-place-id 隐藏状态字段相关文件:
不要让新线程重复踩坑,直接照这个流程:
cd D:\dev\cmr-mini\backend
go build ./...
cd D:\dev\cmr-mini\backend
.\start-backend.ps1
Ctrl + F5
当前 backend 已经把:
都立起来了。
接下来最该继续的不是扩新对象,而是把:
地图 / 地点管理 -> 路线资源管理 -> 活动管理 / 编排 -> 发布中心
这条运维主流程,按“列表 -> 详情 -> 弹层 / 分步”的方式做扎实。