|
|
vor 5 Tagen | |
|---|---|---|
| .. | ||
| public | vor 5 Tagen | |
| README.md | vor 5 Tagen | |
| server.js | vor 6 Tagen | |
文档版本:v1.0 最后更新:2026-04-02 08:28:05
在仓库根目录运行:
npm run mock-gps-sim
启动后:
http://127.0.0.1:17865/ws://127.0.0.1:17865/mock-gpsws://127.0.0.1:17865/mock-hrws://127.0.0.1:17865/debug-loghttp://127.0.0.1:17865/proxy?url=<remote-url>补充说明:
http://127.0.0.1:17865/ 时,会自动连接:
ws://127.0.0.1:17865/mock-gpsws://127.0.0.1:17865/mock-hrws://127.0.0.1:17865/debug-loghttps://gs.gotomars.xyz/ 时,会自动连接同源:
wss://gs.gotomars.xyz/mock-gpswss://gs.gotomars.xyz/mock-hrwss://gs.gotomars.xyz/debug-loghttps://gs.gotomars.xyz/ 当作 websocket 地址手工填写;应直接使用对应的 wss://... 路径,或让工作台按同源自动连接。模拟器现在支持一个最小的多通道隔离方案:
channelIdchannelIdchannelId默认通道号:
default
如果需要多人并行联调,可以在模拟器工作台里把“模拟通道号”改成例如:
runner-a
runner-b
group-01
然后在小程序调试面板里把“模拟通道号”也配成同一个值。
当前“模拟通道号”位于工作台顶部,属于全局调试参数,不再归属某个单独分组。
game.jsonmap / mapmeta / coursemock_gpsdebug-log 调试日志调试日志 websocket 独立地址:
ws://127.0.0.1:17865/debug-log
发送消息格式:
{
"type": "debug-log",
"timestamp": 1712345678901,
"channelId": "runner-a",
"scope": "gps-logo",
"level": "info",
"message": "wx.getImageInfo success",
"payload": {
"src": "https://example.com/logo.png"
}
}
当前 UI 会通过独立日志通道把这类消息显示到“调试日志”区域。
日志区域当前是:
scope 过滤channelId 隔离显示第一阶段主要用于承接:
gps-logo后面可以继续扩到:
compassh5content-cardheart-rate旧模拟器现在支持保留原有本地广播链路的同时,把数据旁路转发到新的 Go 实时网关。
默认行为:
ws://127.0.0.1:17865/mock-gpsws://127.0.0.1:17865/mock-hrws://127.0.0.1:17865/debug-log启动模拟器后,打开:
http://127.0.0.1:17865/
在“新网关桥接”区域可以直接配置:
点“应用桥接配置”后立即生效,不需要重启模拟器。
预设说明:
deviceId / groupId / sourceId在仓库根目录执行:
$env:MOCK_SIM_GATEWAY_ENABLED='1'
$env:MOCK_SIM_GATEWAY_URL='ws://127.0.0.1:18080/ws'
$env:MOCK_SIM_GATEWAY_TOKEN='dev-producer-token'
$env:MOCK_SIM_GATEWAY_CHANNEL_ID=''
$env:MOCK_SIM_GATEWAY_DEVICE_ID='child-001'
$env:MOCK_SIM_GATEWAY_SOURCE_ID='mock-gps-sim-a'
npm run mock-gps-sim
如果你使用新网关管理台创建的 channel,则要这样填:
$env:MOCK_SIM_GATEWAY_ENABLED='1'
$env:MOCK_SIM_GATEWAY_URL='ws://127.0.0.1:18080/ws'
$env:MOCK_SIM_GATEWAY_TOKEN='<producerToken>'
$env:MOCK_SIM_GATEWAY_CHANNEL_ID='<channelId>'
$env:MOCK_SIM_GATEWAY_DEVICE_ID='child-001'
npm run mock-gps-sim
说明:
MOCK_SIM_GATEWAY_CHANNEL_ID 时,旧模拟器走老的 authenticate 模式MOCK_SIM_GATEWAY_CHANNEL_ID 时,旧模拟器自动走 join_channel 模式producerToken 只能和对应的 channelId 配套使用MOCK_SIM_GATEWAY_ENABLED
1 表示启用桥接MOCK_SIM_GATEWAY_URL
ws://127.0.0.1:18080/wsMOCK_SIM_GATEWAY_TOKEN
dev-producer-tokenMOCK_SIM_GATEWAY_CHANNEL_ID
join_channelMOCK_SIM_GATEWAY_DEVICE_ID
deviceId,默认 child-001MOCK_SIM_GATEWAY_GROUP_ID
groupIdMOCK_SIM_GATEWAY_SOURCE_ID
mock-gps-simMOCK_SIM_GATEWAY_SOURCE_MODE
mockMOCK_SIM_GATEWAY_RECONNECT_MS
3000启动后可查看:
http://127.0.0.1:17865/bridge-status
桥接配置接口:
http://127.0.0.1:17865/bridge-config
返回内容包含:
推荐方式:
http://127.0.0.1:17865/game.json 地址模拟器会自动:
map 和 mapmetacourse如果你不想走整套配置,也可以:
https://host/tiles/{z}/{x}/{y}.webpKML URL路径回放也支持直接导入轨迹文件:
GPXKMLGeoJSON / JSON说明:
如果小程序跑在手机上,不要用 127.0.0.1。
把小程序里的 mock bridge 地址改成你电脑在局域网里的 IP,例如:
ws://192.168.1.23:17865/mock-gps
心率模拟地址应配置为:
ws://192.168.1.23:17865/mock-hr
同理,浏览器里的模拟器页面也建议用电脑局域网地址打开,例如:
http://192.168.1.23:17865/
如果你要在小程序里看调试日志,Logger 地址应配置为:
ws://192.168.1.23:17865/debug-log