feat: 收敛玩法运行时配置并加入故障恢复
This commit is contained in:
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,324 +1,22 @@
|
||||
{
|
||||
"schemaVersion": "1",
|
||||
"version": "2026.03.25",
|
||||
"version": "2026.04.01",
|
||||
"app": {
|
||||
"id": "sample-score-o-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": "control-set",
|
||||
"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,
|
||||
"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": "minimal",
|
||||
"score": 10,
|
||||
"clickTitle": "1号点",
|
||||
"clickBody": "这是一个基础积分点,适合作为开局热身。",
|
||||
"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",
|
||||
"score": 20,
|
||||
"title": "2号点",
|
||||
"body": "这个点配置成手动查看。点击“查看内容”后先出原生卡,再可进入 H5。",
|
||||
"autoPopup": false,
|
||||
"once": true,
|
||||
"priority": 1,
|
||||
"ctas": [
|
||||
{
|
||||
"type": "quiz",
|
||||
"label": "答题加分",
|
||||
"bonusScore": 8,
|
||||
"countdownSeconds": 12,
|
||||
"minValue": 20,
|
||||
"maxValue": 199,
|
||||
"allowSubtraction": true
|
||||
}
|
||||
],
|
||||
"clickTitle": "2号点",
|
||||
"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",
|
||||
"score": 30,
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"control-4": {
|
||||
"score": 40
|
||||
},
|
||||
"control-5": {
|
||||
"score": 50
|
||||
},
|
||||
"control-6": {
|
||||
"template": "focus",
|
||||
"score": 60,
|
||||
"pointStyle": "pulse-core",
|
||||
"pointColorHex": "#ff4d6d",
|
||||
"pointSizeScale": 1.18,
|
||||
"pointAccentRingScale": 1.36,
|
||||
"pointGlowStrength": 1,
|
||||
"pointLabelScale": 1.12,
|
||||
"pointLabelColorHex": "#fff9fb",
|
||||
"title": "悬崖边",
|
||||
"body": "这里很危险啊。",
|
||||
"autoPopup": true,
|
||||
"once": true,
|
||||
"priority": 2,
|
||||
"clickTitle": "悬崖边",
|
||||
"clickBody": "点击查看地形风险提示。"
|
||||
},
|
||||
"control-7": {
|
||||
"score": 70
|
||||
},
|
||||
"control-8": {
|
||||
"score": 80
|
||||
},
|
||||
"finish-1": {
|
||||
"template": "focus",
|
||||
"title": "比赛结束",
|
||||
"body": "恭喜完成本次路线,准备查看结果。这里也保留 H5 详情入口用于测试。",
|
||||
"autoPopup": true,
|
||||
"once": true,
|
||||
"priority": 2,
|
||||
"ctas": [
|
||||
{
|
||||
"type": "audio",
|
||||
"label": "语音留言"
|
||||
}
|
||||
],
|
||||
"clickTitle": "终点说明",
|
||||
"clickBody": "点击终点可再次查看结束与结算提示。",
|
||||
"clickExperience": {
|
||||
"type": "h5",
|
||||
"url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
|
||||
"bridge": "content-v1",
|
||||
"presentation": "dialog"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"title": "积分赛控制点示例(2 起终点 + 8 积分点)",
|
||||
"code": "score-o-001"
|
||||
}
|
||||
},
|
||||
"game": {
|
||||
"mode": "score-o",
|
||||
"rulesVersion": "1",
|
||||
"session": {
|
||||
"startManually": true,
|
||||
"requiresStartPunch": true,
|
||||
"requiresFinishPunch": false,
|
||||
"autoFinishOnLastControl": false,
|
||||
"maxDurationSec": 5400
|
||||
},
|
||||
"punch": {
|
||||
"policy": "enter-confirm",
|
||||
"radiusMeters": 5,
|
||||
"requiresFocusSelection": false
|
||||
},
|
||||
"scoring": {
|
||||
"type": "score",
|
||||
"defaultControlScore": 10
|
||||
},
|
||||
"guidance": {
|
||||
"showLegs": false,
|
||||
"legAnimation": false,
|
||||
"allowFocusSelection": true
|
||||
},
|
||||
"presentation": {
|
||||
"track": {
|
||||
"mode": "tail",
|
||||
"style": "neon",
|
||||
"tailLength": "long",
|
||||
"colorPreset": "cyan",
|
||||
"tailMeters": 60,
|
||||
"tailMaxSeconds": 30,
|
||||
"fadeOutWhenStill": true,
|
||||
"stillSpeedKmh": 0.6,
|
||||
"fadeOutDurationMs": 3000,
|
||||
"colorHex": "#149a86",
|
||||
"headColorHex": "#62fff0",
|
||||
"widthPx": 3.8,
|
||||
"headWidthPx": 6.8,
|
||||
"glowStrength": 0.32
|
||||
},
|
||||
"gpsMarker": {
|
||||
"visible": true,
|
||||
"style": "beacon",
|
||||
"size": "medium",
|
||||
"colorPreset": "cyan",
|
||||
"showHeadingIndicator": true,
|
||||
"logoUrl": "https://oss-mbh5.colormaprun.com/gotomars/test/me.jpg",
|
||||
"logoMode": "center-badge"
|
||||
},
|
||||
"scoreO": {
|
||||
"controls": {
|
||||
"default": {
|
||||
"style": "badge",
|
||||
"colorHex": "#cc006b",
|
||||
"sizeScale": 0.96,
|
||||
"accentRingScale": 1.1,
|
||||
"labelScale": 1.02
|
||||
},
|
||||
"focused": {
|
||||
"style": "pulse-core",
|
||||
"colorHex": "#fff0fa",
|
||||
"sizeScale": 1.12,
|
||||
"accentRingScale": 1.36,
|
||||
"glowStrength": 1,
|
||||
"labelScale": 1.14,
|
||||
"labelColorHex": "#fffafc"
|
||||
},
|
||||
"collected": {
|
||||
"style": "solid-dot",
|
||||
"colorHex": "#d6dae0",
|
||||
"sizeScale": 0.82,
|
||||
"labelScale": 0.92
|
||||
},
|
||||
"start": {
|
||||
"style": "double-ring",
|
||||
"colorHex": "#2f80ed",
|
||||
"sizeScale": 1.02,
|
||||
"accentRingScale": 1.24,
|
||||
"labelScale": 1.02
|
||||
},
|
||||
"finish": {
|
||||
"style": "double-ring",
|
||||
"colorHex": "#f2994a",
|
||||
"sizeScale": 1.06,
|
||||
"accentRingScale": 1.28,
|
||||
"glowStrength": 0.26,
|
||||
"labelScale": 1.04,
|
||||
"labelColorHex": "#fff4de"
|
||||
},
|
||||
"scoreBands": [
|
||||
{
|
||||
"min": 0,
|
||||
"max": 19,
|
||||
"style": "badge",
|
||||
"colorHex": "#56ccf2",
|
||||
"sizeScale": 0.88,
|
||||
"accentRingScale": 1.06,
|
||||
"labelScale": 0.92
|
||||
},
|
||||
{
|
||||
"min": 20,
|
||||
"max": 49,
|
||||
"style": "badge",
|
||||
"colorHex": "#f2c94c",
|
||||
"sizeScale": 1.02,
|
||||
"accentRingScale": 1.18,
|
||||
"labelScale": 1.02
|
||||
},
|
||||
{
|
||||
"min": 50,
|
||||
"max": 999999,
|
||||
"style": "badge",
|
||||
"colorHex": "#eb5757",
|
||||
"sizeScale": 1.14,
|
||||
"accentRingScale": 1.32,
|
||||
"glowStrength": 0.72,
|
||||
"labelScale": 1.1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"visibility": {
|
||||
"revealFullPlayfieldAfterStartPunch": true
|
||||
},
|
||||
"finish": {
|
||||
"finishControlAlwaysSelectable": true
|
||||
},
|
||||
"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": "score-o"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user