文档版本:v1.8 最后更新:2026-04-07 17:23:15
后台第一版不是做一个“大而全配置表单”,而是先做一套最小可运营壳,解决这 3 个问题:
event 能引用这些资源并组装配置一句话:
后台第一版管理的是“资源对象 + 引用关系 + 发布流程”,不是“直接编辑一个越来越大的 JSON 文件”。
event 管理所有资源文件后台配置不是“小程序后台”,而是统一配置运营后台。
所以第一版开始就要坚持:
release / manifest 终端中立作用:
建议字段:
mapmeta 文件第一版动作:
作用:
建议字段:
第一版动作:
作用:
建议字段:
第一版动作:
作用:
建议字段:
EventPresentation)ContentBundle)第一版只开放少量覆盖项:
不要第一版就开放:
presentation.*telemetry.*debug.*作用:
页面需要看到:
presentation / bundle / runtime第一版动作:
presentation / bundle / runtime按当前运维工作流,建议先按“地图主流程”组织,而不是把底层对象散着摆:
这 6 页的目标是把“资源录入 -> 地图管理 -> 赛道管理 -> 活动绑定 -> 发布”跑通。
补充:
EventPresentation 和 ContentBundle 收成正式最小对象EventRelease 现在允许同时绑定:
presentationcontent bundleruntime binding后台第一版建议围绕这些对象展开:
MapMapVersionPlayfieldPlayfieldVersionResourcePackResourcePackVersionEventEventConfigSourceEventConfigBuildEventRelease关键原则:
event 只做引用和少量覆盖release 固化具体版本引用为了让前台卡片、详情页、发布语义和运维操作都保持简单,当前活动模型先明确收成最小可玩单元:
单地图单路线组单玩法也就是第一阶段一个活动只表达一件事:
在这张地图上,使用这组路线,按这一个玩法运行。
当前不建议第一阶段直接支持:
复杂需求先通过“活动实例化”解决,而不是在一个活动里做多对多编排。例如:
这样做的目的:
后续如果确实需要复杂组合,优先考虑:
而不是直接把单个活动扩成多地图、多路线组、多玩法容器。
多地图、多路线组、多玩法这类需求后面仍然会存在,但当前建议放在“组合入口层”解决,不直接进入单个活动的运行模型。
也就是分成两层:
一个活动实例始终保持:
单地图单路线组单玩法组合入口层
通过组合卡片或组合入口,把多个活动实例编排成一个前台入口
例如:
这样做的目的:
当前已经开始落地一条“先运维录入、再活动绑定发布”的最小入口,不再只靠手工脚本或改代码上传资源。
第一期先开放两条:
POST /admin/ops/tile-releases/import
place + map asset + tile releasePOST /admin/ops/course-sets/import-kml-batch
course set + variants第一期边界:
/admin/ops-workbench当前第一版页面结构已经按主流程拆成:
资源总览地图管理资源录入KML / 赛道管理活动管理发布中心当前设计原则:
Place / MapAsset / TileRelease / CourseSource / CourseSet 继续保留,但收进主流程内部,不作为首页认知入口flowchart LR
A["录入地图版本"] --> D["Event 选择地图版本"]
B["录入赛场版本"] --> D
C["录入资源包版本"] --> D
D --> E["保存 Source Config"]
E --> F["生成 Preview Build"]
F --> G["检查 Manifest / Asset Index"]
G --> H["发布 Release"]
H --> I["前台 Launch 使用新 Release"]
后台真正开做前,后端最好先补齐下面这批接口:
GET /admin/mapsPOST /admin/mapsGET /admin/maps/{id}POST /admin/maps/{id}/versionsGET /admin/playfieldsPOST /admin/playfieldsGET /admin/playfields/{id}POST /admin/playfields/{id}/versionsGET /admin/resource-packsPOST /admin/resource-packsGET /admin/resource-packs/{id}POST /admin/resource-packs/{id}/versionsGET /admin/eventsPOST /admin/eventsGET /admin/events/{id}PUT /admin/events/{id}POST /admin/events/{id}/source当前状态:
source 组装方式是:
map versionplayfield versionresource pack versiongameModeCodeoverridesGET /admin/events/{id}/sourcesPOST /admin/sources/{id}/buildGET /admin/builds/{id}POST /admin/builds/{id}/publishPOST /admin/events/{id}/rollback当前状态:
GET /admin/events/{eventPublicID}/pipelinePOST /admin/sources/{sourceID}/buildGET /admin/builds/{buildID}POST /admin/builds/{buildID}/publishPOST /admin/events/{eventPublicID}/rollbackreleaseId为了避免项目被后台表单拖死,第一版明确不做:
这些都应该等“最小配置运营闭环”跑通后再说。
建议按下面顺序推进:
原因:
当前进度:
/admin/maps、/admin/playfields、/admin/resource-packs 已完成Event 组装接口 /admin/events、/admin/events/{id}/source 已完成pipeline/build/publish 后台聚合接口已完成rollback 已完成POST /admin/ops/tile-releases/importPOST /admin/ops/course-sets/import-kml-batchPOST /admin/assets/uploadPOST /admin/assets/register-linkGET /admin/assetsGET /admin/assets/{assetPublicID}/admin/ops-workbench:
资源总览资源录入赛道集管理活动绑定发布中心是的,后面需要一版后台管理界面。
但第一版不应该是“配置大全编辑器”,而应该是:
共享资源管理 + Event 组装 + Build / Release 发布 的最小运营后台。