根因:数据目录是 <安装目录>\data(config.yaml 的 dataDir 相对服务端工作目录),
而 electron-builder 的卸载器结尾执行 RMDir /r $INSTDIR,且覆盖安装会先跑旧卸载器
(installSection.nsh:52 的 uninstallOldVersion)→ 赛事库/规则/用户/审计/上传图片
连同安装目录被整个删除,再装新版。卸载一次同样如此。
- 服务端新增 -data <dir>(主命令、backup、passwd 三处),非空时覆盖 config.yaml 的
dataDir;不传时行为完全不变(兼容便携/手工运行)
- Console 把数据指到当前用户目录 %LOCALAPPDATA%\ScoreboardConsole\data(卸载器不会碰
这里;没有用 app.getPath('userData'),因为 %APPDATA%\<AppName> 正是被删的那个)
- 一次性迁移:目标为空且 <安装目录>\data 有数据时整体改名过去;两边都有数据时不动作
只记警告;任何失败都保留原地数据、绝不删除
- passwd 也带 -data(否则重置的是安装目录下那个空库里的账号)
- deploy/backup.bat 指向同一数据目录
- 文档:部署指南新增「数据放在哪里(升级/卸载都不会删)」+ 备份/恢复/迁移路径改写,
上线检查清单与使用手册同步
自检:服务端 12 包全绿;console 语法 14 文件 + datadir 单测 11/11;backup.bat 保持纯 ASCII。
4.0 KiB
4.0 KiB
上线检查清单
1. 交付物
| 文件 | 用途 |
|---|---|
Scoreboard Console-0.1.0-x64.exe |
NSIS 安装包(推荐),双击按向导装 |
Scoreboard Console-0.1.0-x64.zip |
免安装包,解压即用 |
scoreboard.exe |
服务端本体(已内嵌前端页面) |
校验完整性:
certutil -hashfile "Scoreboard Console-0.1.0-x64.exe" SHA256
2. 目标机(服务端主机)
- Windows 10/11 x64,接市电(建议接 UPS)
- 端口 19540 未被占用:
netstat -ano | findstr 19540 - 数据目录可写:默认
%LOCALAPPDATA%\ScoreboardConsole\data(在安装目录之外,升级/卸载都不会删),需要放行杀毒/防火墙 - 大屏通过 HDMI 接在同一台机器上(系统显示模式设为「扩展」)
- 安装目录不要选
C:\Program Files(那里普通用户没写权限,日志会写不进去);装到 D 盘等普通目录即可,向导里可以改路径
3. 首次启动
- 双击
Scoreboard_Console.exe,启动管理窗口出现 - 服务端状态变为「运行中 · 就绪」
- 「运行日志」里
数据目录:指向%LOCALAPPDATA%\ScoreboardConsole\data(不是安装目录),且没有「都有数据 / 迁移失败」的警告 - 打开管理面板(窗口内「打开服务端管理面板」按钮),用管理员账号登录
- 管理员初始密码在
logs\console.log里搜INITIAL ADMIN CREATED,密码就在该行上方;也可以直接打开 Console 的「运行日志」面板往上翻。首次登录会要求改密
4. 赛事配置(管理员)
- 「系统设置 → 赛事信息」填名称、副标题、主办方、会标、主题色
- 「大屏展示」选背景图、标题、轮播间隔
- 导入规则包:
rules\2026-驭电利刃杯军事运动会.yaml(安装目录下的rules\里) —— 服务端不会自动加载规则包,必须导入一次 - 检查计分模板:个人前六名
10/8/6/3/2/1、团体15/10/8/4/2/1、最后一名不得分 - 「只排名不计分」的项目(飞行人员战斗体能)导入后应显示为不计分
5. 大屏
- 接好扩展屏后,服务管理窗口点「重新排布」
- 确认大屏锁定在「积分榜」页面;需要轮播就在后台开启
- 鼠标移到大屏上应看不到操作按钮;大屏窗口已开防熄屏
- 只有一块屏时是窗口化模式,按 F11 可切全屏(用于单屏测试)
6. 数据与备份
- 确认数据目录
%LOCALAPPDATA%\ScoreboardConsole\data下的backups\里已出现system-auto-*.db与event-auto-*.db(默认每 5 分钟) - 开幕前手动点一次「立即备份」
- 把整个数据目录(不只是
backups\:event_projs\<项目名>\uploads\里还有上传的图片)拷一份到 U 盘
7. 现场流程演练(建议至少一次)
- 录入员登录 → 录入一条成绩 → 存草稿 → 发布 → 大屏刷新
- 撤销发布 → 修改 → 重新发布(历史记录里能看到链路)
- 断网 → 大屏仍显示缓存数据 → 恢复后自动补增量
- 重启服务端 → Console 自动拉起
8. 出问题时的回退
| 故障 | 动作 |
|---|---|
| 服务端无响应 | 服务管理窗口「重启服务」 |
| 主机死机 | 备机启动同一份部署包,把数据目录(%LOCALAPPDATA%\ScoreboardConsole\data)拷回去 |
| 数据库损坏 | 停机,用数据目录下 backups\ 的最新备份替换 event_projs\<项目名>\event.db(先删 -wal/-shm),详见部署指南第 8.3 节 |
| 大屏黑屏 | 服务管理窗口「重新排布」;仍不行就用备用笔记本开同一地址 |
| 覆盖安装后数据不见了 | 看「运行日志」里的 数据目录: 与迁移警告,按部署指南第 9.9 节处理 |
完整恢复步骤见 部署指南 · 备份与恢复。