feat: 收敛玩法运行时配置并加入故障恢复

This commit is contained in:
2026-04-01 13:04:26 +08:00
parent 1635a11780
commit 3ef841ecc7
73 changed files with 8820 additions and 2122 deletions

View File

@@ -1,300 +1,22 @@
{
"schemaVersion": "1",
"version": "2026.03.25",
"version": "2026.04.01",
"app": {
"id": "sample-classic-001",
"title": "顺序赛示例",
"locale": "zh-CN"
"title": "顺序赛示例"
},
"map": {
"tiles": "../map/lxcb-001/tiles/",
"mapmeta": "../map/lxcb-001/tiles/meta.json",
"declination": 6.91,
"initialView": {
"zoom": 17
}
"mapmeta": "../map/lxcb-001/tiles/meta.json"
},
"playfield": {
"kind": "course",
"source": {
"type": "kml",
"url": "../kml/lxcb-001/10/c01.kml"
},
"CPRadius": 6,
"controlOverrides": {
"start-1": {
"template": "focus",
"title": "比赛开始",
"body": "从这里出发,先熟悉地图方向,再推进到第一个目标点。点击“查看详情”可打开 H5 详情页。",
"autoPopup": true,
"once": true,
"priority": 1,
"ctas": [
{
"type": "quiz",
"label": "答题加分",
"bonusScore": 1,
"countdownSeconds": 10,
"minValue": 10,
"maxValue": 99,
"allowSubtraction": true
}
],
"contentExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
},
"clickTitle": "起点说明",
"clickBody": "点击起点可再次查看起跑说明与路线背景。",
"clickExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
}
},
"control-1": {
"template": "story",
"title": "图书馆前广场",
"body": "这是第一检查点,完成后沿主路继续前进。卡片先原生弹出,再可进入 H5 详情。",
"autoPopup": true,
"once": false,
"priority": 1,
"ctas": [
{
"type": "photo",
"label": "拍照打卡"
},
{
"type": "detail",
"label": "查看详情"
}
],
"clickTitle": "图书馆前广场",
"clickBody": "这里是顺序赛的首个关键点位,适合确认路线方向。",
"contentExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
},
"clickExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
}
},
"control-2": {
"template": "minimal",
"pointStyle": "badge",
"pointColorHex": "#27ae60",
"pointSizeScale": 0.92,
"pointAccentRingScale": 1.1,
"pointLabelScale": 0.94,
"pointLabelColorHex": "#ffffff",
"title": "教学楼南侧",
"body": "注意这里地形开阔,适合快速判断下一段方向。这个点配置成手动查看后可进 H5。",
"autoPopup": false,
"once": true,
"priority": 1,
"clickTitle": "教学楼南侧",
"clickBody": "这个点配置成点击查看,经过时不会自动弹出。",
"clickExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
}
},
"control-3": {
"template": "story",
"title": "湖边步道",
"body": "经过这里时可以观察水边和林带的边界关系。",
"autoPopup": true,
"once": false,
"priority": 1,
"clickTitle": "湖边步道",
"clickBody": "点击可查看更详细的路线观察建议。"
},
"finish-1": {
"template": "focus",
"title": "终点到达",
"body": "恭喜完成本次顺序赛,准备查看结果。这里也保留 H5 详情入口用于测试。",
"autoPopup": true,
"once": true,
"priority": 2,
"ctas": [
{
"type": "audio",
"label": "语音留言"
},
{
"type": "detail",
"label": "查看详情"
}
],
"clickTitle": "终点说明",
"clickBody": "点击终点可再次查看本局结束说明。",
"clickExperience": {
"type": "h5",
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
"bridge": "content-v1",
"presentation": "dialog"
}
}
},
"legOverrides": {
"leg-2": {
"style": "glow-leg",
"colorHex": "#27ae60",
"widthScale": 1.12,
"glowStrength": 0.82
}
},
"metadata": {
"title": "顺序赛路线示例",
"code": "classic-001"
}
},
"game": {
"mode": "classic-sequential",
"rulesVersion": "1",
"session": {
"startManually": true,
"requiresStartPunch": true,
"requiresFinishPunch": true,
"autoFinishOnLastControl": false,
"maxDurationSec": 5400
},
"punch": {
"policy": "enter-confirm",
"radiusMeters": 5
},
"sequence": {
"skip": {
"enabled": true,
"radiusMeters": 30,
"requiresConfirm": true
}
},
"guidance": {
"showLegs": true,
"legAnimation": true,
"allowFocusSelection": false
},
"presentation": {
"track": {
"mode": "full",
"style": "neon",
"tailLength": "medium",
"colorPreset": "mint",
"colorHex": "#176d5d",
"headColorHex": "#54f3d8",
"widthPx": 4.2,
"headWidthPx": 6.6,
"glowStrength": 0.18
},
"gpsMarker": {
"visible": true,
"style": "beacon",
"size": "medium",
"colorPreset": "cyan",
"showHeadingIndicator": true,
"logoUrl": "https://oss-mbh5.colormaprun.com/gotomars/test/me.jpg",
"logoMode": "center-badge"
},
"sequential": {
"controls": {
"default": {
"style": "classic-ring",
"colorHex": "#cc006b",
"sizeScale": 1,
"labelScale": 1
},
"current": {
"style": "pulse-core",
"colorHex": "#38fff2",
"sizeScale": 1.1,
"accentRingScale": 1.32,
"glowStrength": 0.95,
"labelScale": 1.08,
"labelColorHex": "#fff8fb"
},
"completed": {
"style": "solid-dot",
"colorHex": "#7e838a",
"sizeScale": 0.88,
"labelScale": 0.94
},
"skipped": {
"style": "badge",
"colorHex": "#8a9198",
"sizeScale": 0.9,
"accentRingScale": 1.12,
"labelScale": 0.96
},
"start": {
"style": "double-ring",
"colorHex": "#2f80ed",
"sizeScale": 1.04,
"accentRingScale": 1.28,
"labelScale": 1.02
},
"finish": {
"style": "double-ring",
"colorHex": "#f2994a",
"sizeScale": 1.08,
"accentRingScale": 1.34,
"glowStrength": 0.3,
"labelScale": 1.06,
"labelColorHex": "#fff4de"
}
},
"legs": {
"default": {
"style": "dashed-leg",
"colorHex": "#cc006b",
"widthScale": 1
},
"completed": {
"style": "progress-leg",
"colorHex": "#7a8088",
"widthScale": 0.92,
"glowStrength": 0.22
}
}
}
},
"visibility": {
"revealFullPlayfieldAfterStartPunch": true
},
"finish": {
"finishControlAlwaysSelectable": false
},
"telemetry": {
"heartRate": {
"age": 30,
"restingHeartRateBpm": 62,
"userWeightKg": 65
}
},
"feedback": {
"audioProfile": "default",
"hapticsProfile": "default",
"uiEffectsProfile": "default"
}
},
"resources": {
"audioProfile": "default",
"contentProfile": "default",
"themeProfile": "default-race"
},
"debug": {
"allowModeSwitch": false,
"allowMockInput": false,
"allowSimulator": false
"mode": "classic-sequential"
}
}