AskaEth 407abec3b0 fix: 大屏背景图被兜底渐变盖住 + 配置/规则也搬到用户数据目录
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。
2026-09-10 10:06:21 +08:00
2026-09-09 16:01:35 +08:00

Scoreboard · 赛事积分榜系统

一套局域网内部署的赛事成绩与积分系统:一个服务端 + 两个界面,后台一改数据,前台大屏实时跟着变。

界面 地址 用途
实时积分大屏 /display 只读、无人值守;成绩发布后 1 秒内更新
管理面板 /admin 录入、发布成绩,控制大屏;未登录可只读查看全部赛事数据

功能概览

  • 四个榜:总积分榜、团体奖牌榜、个人积分奖牌榜、分项成绩表
  • 录入即上屏:成绩录入 → 发布 → 大屏即时更新
  • 可追溯、可撤销:草稿不上屏;发布后纠错走「撤销发布 → 改 → 重新发布」,全程留痕
  • 变更历史:仿 Git 图谱,一眼看清成绩是怎么变成现在这样的
  • 现场公开:积分明细可下钻,争议时一键推送到大屏
  • 规则可配置:积分规则以规则包(YAML)描述,可导入导出、跨赛事复用
  • 赛事独立存档:每个赛事一个独立项目目录,可整包导出/导入
  • 结果导出:Excel 总表与分项可单独导出

快速开始

  1. 解压部署包
  2. 双击 Scoreboard_Console.exe(现场推荐:守护服务端、把大屏投到扩展屏、防熄屏、开机自启)
  3. 浏览器打开终端提示的地址
大屏      http://<主机IP>:19540/display
管理面板   http://<主机IP>:19540/admin

也可以直接双击 scoreboard.exe(Linux 下执行 ./scoreboard)只跑服务端,大屏投放与进程守护需自行接管。

完全离线运行,不依赖外网,不需要安装任何运行时。

文档

  • 上线检查清单:比赛当天照着走一遍的核对表(含交付物、目标机、首次启动、规则包导入、大屏、备份与回退)
  • 部署指南:运行环境、安装与首次启动、端口与配置、大屏接线、备份恢复、故障排查
  • 使用手册:角色权限、各功能页面的操作步骤、大屏端使用、常见操作问题
  • 常见问题(FAQ):账号、成绩与积分、大屏、数据备份、导出导入
  • 规则包格式:见 rules/README.md

许可证

MIT

S
Description
一个简易实用的赛事积分榜系统
Readme MIT
30 MiB
0 Stars 1 Watchers 0 Forks
Languages
Go 53.5%
TypeScript 25.9%
Vue 14.5%
JavaScript 3.7%
NSIS 1.2%
Other 1.2%