- httpapi:新增 POST /api/shutdown(admin 会话或 X-Shutdown-Token 常量时间比对) 与 GET /api/rules/switches(recorder 可读,只回布尔开关);settings/standings 的 重复 DTO 收敛到 internal/dto;standings.showIndividualMedals 贯通到设置读写与前端 - export:抽出 export.Service,新增自动备份定时任务(backup.intervalMinutes/keep), 自动、手动、发布前三类备份共用同一把互斥锁与滚动清理 - realtime:/ws 去掉 InsecureSkipVerify,改用 OriginPatterns(同源与无 Origin 放行, 跨站需命中 server.allowedOrigins) - console:停止服务改走 POST /api/shutdown 优雅关闭(5 秒宽限后回退强杀), 服务管理器新增「已连接的大屏实例」卡片 - deploy:build.bat 改用 for /f 读内部署名——set /p 在 chcp 65001 下返回空, 导致最近这次构建的 exe 里根本没注入署名 - docs:备份策略、关闭超时、Origin 配置的说明与实现对齐
39 lines
828 B
JSON
39 lines
828 B
JSON
{
|
|
"server": {
|
|
"exe": "scoreboard.exe",
|
|
"args": ["-config", "config.yaml"],
|
|
"host": "127.0.0.1",
|
|
"port": 19540,
|
|
"autoStart": true,
|
|
"healthIntervalMs": 5000,
|
|
"restartDelayMs": 3000,
|
|
"maxRestarts": 0,
|
|
"shutdownPath": "/api/shutdown",
|
|
"shutdownTimeoutMs": 5000,
|
|
"healthyResetMs": 60000
|
|
},
|
|
"display": {
|
|
"selection": "all-secondary",
|
|
"displays": [],
|
|
"pages": ["standings", "medals", "individual", "results"],
|
|
"pageParam": "page",
|
|
"kiosk": true,
|
|
"ignoreMouse": true,
|
|
"reloadEveryHours": 24,
|
|
"waitForServerMs": 20000,
|
|
"backgroundColor": "#0b0f1a"
|
|
},
|
|
"startup": {
|
|
"openAtLogin": true
|
|
},
|
|
"admin": {
|
|
"width": 1040,
|
|
"height": 760
|
|
},
|
|
"log": {
|
|
"maxLines": 2000,
|
|
"file": "logs/console.log",
|
|
"maxFileBytes": 4194304
|
|
}
|
|
}
|