原来 canWrite 依赖 realtimeStatus === 'online',WS 一断(服务端重启、网络瞬断、 以及之前那个 1008 停重连的 bug)整个管理端就变只读:基础数据的「保存全部」、 录入、发布、积分调整、大屏控制全部按钮变灰,且只是变淡、看不出原因。 写路径本来就是 HTTP,服务端会做完整校验,所以: - stores/event.ts 的 canWrite 恒为 true(保留签名,角色判断由各页面叠加 auth.readOnly) - useBaseData.canWrite 简化为 !auth.readOnly - 顶部「连接中断」的提示改为「数据可能不是最新」,不再声称写操作停用 - 文档同步:FAQ 与使用手册区分「示例数据」(改动只在界面)与「连接中断」(照常提交) 新增 web/src/admin/tests/base-data.test.ts 锁住该行为(离线可写 / 访客不可写)。
7.7 KiB
常见问题(FAQ)
账号与权限
Q1:初始密码是多少?
首次启动时随机生成、只打印一次。用 Console 启动时,在 logs\console.log 里搜索「初始密码」即可找到,方法见 部署指南 · 首次登录。
Q2:忘记密码怎么办?
先停止服务,然后在部署目录执行 scoreboard.exe passwd -config config.yaml,会打印新的随机密码,并要求下次登录强制改密。
Q3:访客和录入员有什么区别? 访客只能只读查看;录入员可以录入、存草稿、发布、撤销发布、确认破纪录、做积分调整、控制大屏;管理员在此基础上还能管理用户、备份、看审计日志、导入规则包和赛事包。
Q4:为什么登录后还是只读? 可能未登录成功、会话已过期(有效期 12 小时),或页面处于示例数据模式。看右上角是否显示账号名与角色。
Q5:可以建「访客账号」吗? 不可以。访客是未登录时的默认身份,不需要也不允许建账号;可落库的角色只有管理员和录入员。
Q6:管理员能改用户名吗?
管理界面里账号创建后不可改;命令行可用 scoreboard.exe passwd -user 旧名 -new-username 新名 修改。
成绩与积分
Q7:为什么录入后大屏没变化?
草稿不上屏。需要「发布」(或 Alt+Enter),发布后 1 秒内大屏更新。
Q8:发布错了怎么改? 撤销发布 → 修改 → 重新发布。撤销会作废该组积分流水,大屏回退到发布前状态,过程可在「变更历史」查看。
Q9:为什么「发布」是灰的? 常见原因:未登录、服务端断开、示例数据模式,或存在阻止发布的校验错误(缺少成绩、格式无法解析、手动名次项目缺名次)。
Q10:并列名次怎么处理? 成绩相同(或手动名次相同)自动按并列处理,显示同一名次。默认口径是「顺延」:并列第 3 各得第 3 名的分,无第 4 名,下一名第 5 名;奖牌同样并列(并列第 1 各记 1 金、无银)。具体口径由规则包配置决定。
Q11:状态里的 DNS / DQ / DNF / 退赛有什么区别? 都是不参与名次与积分计算的异常状态:DNS = 弃赛,DQ = 取消资格,DNF = 未完赛,退赛 = 主动退出。正常成绩选「有效」。
Q12:时间类成绩怎么写?
按 分:秒.毫秒 形式输入,例如 1:06.33;工具栏会显示当前项目的单位。
Q13:能批量录入吗?
可以。支持从 Excel 复制后粘贴:两列及以上时第一列按单位名称 / 简称匹配行、最后一列作为成绩;单列时从当前行向下依次填充。也可以用 Tab / Enter 在格子间移动,Ctrl+Enter 存草稿。
Q14:破纪录加分为什么点不了?
规则包里破纪录加分默认关闭(recordBonus.enabled = false)时按钮不可用;若当前角色读不到规则包,页面显示「未知」,可提交,由服务端校验决定是否加分。
Q15:人工调整为什么点不了?
规则包里人工调整默认关闭(manualAdjustment.enabled = false)时不可用;以页面顶部显示的开关状态为准。
大屏
Q16:大屏不亮 / 只有桌面怎么办?
检查 HDMI、扩展显示模式、Console「大屏窗口」状态,点「重新排布」;服务端未就绪时最多等 20 秒才开屏;单屏窗口化时按 F11 切全屏。详见 部署指南 · 故障排查。
Q17:单屏和多屏的显示方式有什么不同?
单屏时大屏以窗口化方式打开,按 F11 切全屏;多屏时除内置屏外每块屏一个 kiosk 全屏窗口,各锁一页,不响应 F11,也不接收鼠标。
Q18:大屏为什么不自动轮播? Console 启动的多屏窗口默认每屏锁定一页。到「大屏控制」点「解锁」后开始轮播,每 20 秒一页;公告页不参与轮播。
Q19:推送的积分明细怎么关? 60 秒后自动关闭;也可以点「积分榜」页的「关闭大屏明细」立即关闭。
Q20:「在线看板」为什么显示未知? 当前版本后端没有大屏实例上报接口,因此无法判断每块屏是否在线,「最近下发」只是本机下发指令的时间。以现场大屏实际画面为准。
Q21:安卓电视能用吗?
可以,用电视自带浏览器访问 http://<主机IP>:19540/display。但它不受 Console 的 kiosk、防熄屏控制,字体与动画表现以实际设备为准。
Q22:大屏时间不对怎么办? 系统没有外网时间同步,以主机时间为准。校准 Windows 时间与时区即可。
数据与备份
Q23:备份在哪里?
data\backups\,文件名形如 system-<原因>-<时间戳>.db、<项目名>-<原因>-<时间戳>.db(原因有 auto / manual / publish)。
Q24:多久备份一次?
服务端会自动备份,默认每 5 分钟一次(config.yaml 的 backup.intervalMinutes,设成 0 可关闭)。也可以手动触发:管理端「系统设置 → 备份 → 立即备份」,或执行 scoreboard.exe backup -config config.yaml。另外每次发布成绩前会自动备一份。
Q25:备份会自动删除旧的么?
会。自动、手动、命令行三种方式都按 backup.keep(默认 20 份)滚动保留,system 库与赛事库各自计算。
Q26:怎么恢复备份?
没有一键恢复接口,需停机手工替换数据库文件(复制备份为 event.db,删除 event.db-wal / event.db-shm,再启动),详见 部署指南 · 备份与恢复。
Q27:换一台电脑怎么迁移?
把整个部署目录(含 data\)拷到新机器,启动 Console 即可。
Q28:怎么切换赛事项目?
服务端一次只运行一个项目(默认 default)。导入赛事包后,需要在 Console 的 config.json 里给 server.args 加 -project <项目名> 并重启,详见部署指南第 8.5 节。
导出与导入
Q29:能导出哪些文件? 四类 Excel:总表、全部(多 sheet)、分项成绩表、单位积分明细;另外可导出赛事项目包(zip)与规则包(YAML)。
Q30:导出文件保存在哪?
浏览器默认下载目录。服务端生成的临时包位于 data\exports\,下载完成后自动删除。
Q31:谁能导入规则包 / 赛事项目包? 只有管理员。两者都会整体替换数据:规则包导入后全量重算积分且不能一键撤销;赛事包覆盖同名项目前会二次确认。
Q32:导入规则包后积分变了,能撤销吗? 不能一键撤销。纠错需要重新导入旧规则包,或逐项修正后重新发布。导入前请务必先「预览差异」。
其他
Q33:系统需要联网吗? 不需要。完全离线运行,不依赖外网,也不需要在现场安装任何运行时。
Q34:页面提示「示例数据」是什么意思? 表示后端未就绪,此时所有改动只停留在界面,不会写入真实赛事。恢复连接后刷新即可。
注意区分:顶部若只是显示「连接中断」,说明实时推送断了(数据可能不是最新),但写操作仍会照常提交给服务端并做校验。
Q35:为什么登录 / 写操作偶尔被拒绝? 系统有频率限制:登录每 IP 每分钟 5 次,写操作每用户每分钟 30 次。稍等一分钟再试。
Q36:数据目录在哪?
由 config.yaml 的 dataDir 指定,默认 data,相对服务端工作目录解析。