1) 大屏背景图不生效:App.vue 里 .bg 与 .bg-fallback 都是 absolute inset:0, 而兜底渐变是不透明的且在图片之后绘制 → 配了背景图也只看得到渐变。 改成 v-if/v-else 互斥(用无头 Chromium 真渲染对照验证:修复后取到图片像素, 回退版本只剩渐变)。新增 background-layer.test.ts 锁住层次关系。 2) 规则/config 仍在安装目录,覆盖安装/卸载会连配置一起删:现在三样都落在 %LOCALAPPDATA%\ScoreboardConsole\(与数据目录同一基座): - console\config.json(Console 读写都用这份) - config.yaml(Console 用绝对路径 -config 传给服务端与 passwd) - rules\(首次从安装目录复制过去,之后只认用户目录那份) 首次运行复制迁移、已存在不覆盖、不可写则回落安装目录并记日志(不影响启动); 开发态行为不变。备份脚本与文档同步。 注意 resolveExecutable 必须显式传部署包根目录,否则会去用户目录找 scoreboard.exe。 自检:服务端 11 包全绿;console 语法 16 文件 + node:test 20/20; 前端 vue-tsc + build、node --test 69/69。
72 lines
4.4 KiB
Markdown
72 lines
4.4 KiB
Markdown
# 上线检查清单
|
||
|
||
> 比赛当天照着走一遍即可。细节见 [部署指南](./部署指南.md) 与 [使用手册](./使用手册.md)。
|
||
|
||
## 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\`,配置与规则是 `console\config.json`、`config.yaml`、`rules\`;都在安装目录之外,升级/卸载都不会删),需要放行杀毒/防火墙
|
||
- [ ] 大屏通过 HDMI 接在**同一台机器**上(系统显示模式设为「扩展」)
|
||
- [ ] **安装目录不要选 `C:\Program Files`**(那里普通用户没写权限,日志会写不进去);装到 D 盘等普通目录即可,向导里可以改路径
|
||
|
||
## 3. 首次启动
|
||
|
||
- [ ] 双击 `Scoreboard_Console.exe`,启动管理窗口出现
|
||
- [ ] 服务端状态变为「运行中 · 就绪」
|
||
- [ ] 「运行日志」里 `数据目录:` 指向 `%LOCALAPPDATA%\ScoreboardConsole\data`(**不是**安装目录),且没有「都有数据 / 迁移失败」的警告
|
||
- [ ] 「运行日志」里 `用户数据目录:` 指向 `%LOCALAPPDATA%\ScoreboardConsole`,且没有「准备 … 失败」的警告(配置与规则也在那儿,见部署指南 3.5)
|
||
- [ ] 打开管理面板(窗口内「打开服务端管理面板」按钮),用管理员账号登录
|
||
- [ ] **管理员初始密码**在 `logs\console.log` 里搜 `INITIAL ADMIN CREATED`,密码就在该行上方;也可以直接打开 Console 的「运行日志」面板往上翻。首次登录会要求改密
|
||
|
||
## 4. 赛事配置(管理员)
|
||
|
||
- [ ] 「系统设置 → 赛事信息」填名称、副标题、主办方、会标、主题色
|
||
- [ ] 「大屏展示」选背景图、标题、轮播间隔
|
||
- [ ] **导入规则包**:`%LOCALAPPDATA%\ScoreboardConsole\rules\2026-驭电利刃杯军事运动会.yaml`(规则目录在用户数据目录里,见部署指南 3.5)
|
||
—— 服务端不会自动加载规则包,必须导入一次
|
||
- [ ] 检查计分模板:个人前六名 `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\`,含数据、配置与规则)拷回去 |
|
||
| 数据库损坏 | 停机,用数据目录下 `backups\` 的最新备份替换 `event_projs\<项目名>\event.db`(先删 `-wal`/`-shm`),详见部署指南第 8.3 节 |
|
||
| 大屏黑屏 | 服务管理窗口「重新排布」;仍不行就用备用笔记本开同一地址 |
|
||
| 覆盖安装后数据/配置不见了 | 看「运行日志」里的 `数据目录:`、`用户数据目录:` 与迁移警告,按部署指南第 9.9 节处理 |
|
||
|
||
> 完整恢复步骤见 [部署指南 · 备份与恢复](./部署指南.md#8-备份与恢复)。
|