人员与报名:
- 人员唯一标识改为「证件号 或 号码布」二选一(0013/0014 迁移 + 导入匹配/回填/冲突)
- 人员新增「年龄」(0015 迁移):表单/列表/导入模板表头 11 列;冲突比较只在两边
都有值且不同时才算差异,旧数据不误报
- 冲突决策键改为「证件号优先 → 号码布」(前端原先只用 idCard,号码布行会互相覆盖)
- 报名选择器支持无证件号但有号码布的运动员
大屏与 Console:
- 大屏控制新增「显示器」菜单:可给指定显示器重建全屏窗口;单屏/主显示器强制窗口化,
限制在 Console 侧判定,不信任页面传参
- Console 服务管理窗口改左右两栏,运行日志独占右栏满高;窗口默认尺寸 1280×860
- 大屏右上角时钟精确到秒(同时把刷新间隔 15s 改为 1s)
图片与配置:
- 新增图片上传 POST /api/uploads(recorder+,png/jpg/webp/gif,≤5MiB)与匿名静态
访问 GET /uploads/{name}(防目录穿越);文件落赛事项目目录 uploads/,随赛事包
一起导出/导入
- 「赛事信息」新增赛事会标 / 大屏会标 / 大屏背景图三个上传项
- 参赛单位 logo 输入框右侧加上传按钮
关于页与构建:
- 构建时间打通:version.BuildTime + /api/system/about 返回 + build.bat 注入
(用 PowerShell 取时间戳,避免本地化 %DATE% 的非 ASCII 星期)
安装包:
- 主程序改名 Scoreboard_Console.exe(win.executableName;productName/显示名不变)
- 记住上次安装目录:自定义 NSIS 宏优先沿用自存路径(卸载不清除),并在 customInit
里补写回 electron-builder 的键,避免安装模式页把 $INSTDIR 打回默认
自检:服务端 12 包全绿;前端 vue-tsc + build 通过、node --test 58/58;console 12 文件通过。
2.3 KiB
2.3 KiB
Scoreboard · 赛事积分榜系统
一套局域网内部署的赛事成绩与积分系统:一个服务端 + 两个界面,后台一改数据,前台大屏实时跟着变。
| 界面 | 地址 | 用途 |
|---|---|---|
| 实时积分大屏 | /display |
只读、无人值守;成绩发布后 1 秒内更新 |
| 管理面板 | /admin |
录入、发布成绩,控制大屏;未登录可只读查看全部赛事数据 |
功能概览
- 四个榜:总积分榜、团体奖牌榜、个人积分奖牌榜、分项成绩表
- 录入即上屏:成绩录入 → 发布 → 大屏即时更新
- 可追溯、可撤销:草稿不上屏;发布后纠错走「撤销发布 → 改 → 重新发布」,全程留痕
- 变更历史:仿 Git 图谱,一眼看清成绩是怎么变成现在这样的
- 现场公开:积分明细可下钻,争议时一键推送到大屏
- 规则可配置:积分规则以规则包(YAML)描述,可导入导出、跨赛事复用
- 赛事独立存档:每个赛事一个独立项目目录,可整包导出/导入
- 结果导出:Excel 总表与分项可单独导出
快速开始
- 解压部署包
- 双击
Scoreboard_Console.exe(现场推荐:守护服务端、把大屏投到扩展屏、防熄屏、开机自启) - 浏览器打开终端提示的地址
大屏 http://<主机IP>:19540/display
管理面板 http://<主机IP>:19540/admin
也可以直接双击
scoreboard.exe(Linux 下执行./scoreboard)只跑服务端,大屏投放与进程守护需自行接管。完全离线运行,不依赖外网,不需要安装任何运行时。
文档
- 上线检查清单:比赛当天照着走一遍的核对表(含交付物、目标机、首次启动、规则包导入、大屏、备份与回退)
- 部署指南:运行环境、安装与首次启动、端口与配置、大屏接线、备份恢复、故障排查
- 使用手册:角色权限、各功能页面的操作步骤、大屏端使用、常见操作问题
- 常见问题(FAQ):账号、成绩与积分、大屏、数据备份、导出导入
- 规则包格式:见 rules/README.md
许可证
MIT