Commit Graph
23 Commits
Author SHA1 Message Date
AskaEth 2c9ff65fc4 feat: 补齐第一批已知缺口(关闭握手 / 定时备份 / Origin 白名单 / DTO 收敛)
- httpapi:新增 POST /api/shutdown(admin 会话或 X-Shutdown-Token 常量时间比对)
  与 GET /api/rules/switches(recorder 可读,只回布尔开关);settings/standings 的
  重复 DTO 收敛到 internal/dto;standings.showIndividualMedals 贯通到设置读写与前端
- export:抽出 export.Service,新增自动备份定时任务(backup.intervalMinutes/keep),
  自动、手动、发布前三类备份共用同一把互斥锁与滚动清理
- realtime:/ws 去掉 InsecureSkipVerify,改用 OriginPatterns(同源与无 Origin 放行,
  跨站需命中 server.allowedOrigins)
- console:停止服务改走 POST /api/shutdown 优雅关闭(5 秒宽限后回退强杀),
  服务管理器新增「已连接的大屏实例」卡片
- deploy:build.bat 改用 for /f 读内部署名——set /p 在 chcp 65001 下返回空,
  导致最近这次构建的 exe 里根本没注入署名
- docs:备份策略、关闭超时、Origin 配置的说明与实现对齐
2026-09-09 21:41:08 +08:00
AskaEth 4d56c73ae6 fix(build): build.bat 注释改回纯 ASCII
cmd.exe 会错解 .bat 里的 UTF-8 文本,上一版加的中文 REM 让构建日志里
冒出一行 "'PNPM_IGNORED_BUILDS' is not recognized"。文件头部本来就写明必须纯 ASCII。
2026-09-09 21:38:23 +08:00
AskaEth 33d4b39eb9 fix(build): pnpm 11 用 allowBuilds 放行 electron 安装脚本
pnpm 11 起 onlyBuiltDependencies 列表形式被静默忽略,导致
ERR_PNPM_IGNORED_BUILDS 让 pnpm run 的依赖校验直接失败(pnpm run dist 都起不来)。
改为 pnpm 自己写入的 allowBuilds 映射形式,并去掉 build.bat 里的 --ignore-scripts。
另外修复 set VAR=value && ... 的尾随空格:它会把 ELECTRON_MIRROR 变成
'.../electron/ v38.8.6/...' 从而 404。
2026-09-09 21:35:21 +08:00
AskaEth fc3361f766 fix(build): ensure_electron 始终补写 path.txt 2026-09-09 21:11:50 +08:00
AskaEth d5b45761d7 fix(build): 恢复手动放置 Electron 运行时的步骤(electron-builder 自下会撞 Node 24 bug) 2026-09-09 21:11:02 +08:00
AskaEth c3d2c1416f fix(build): console 安装用 --ignore-scripts,绕开 pnpm 11 的 ERR_PNPM_IGNORED_BUILDS 2026-09-09 21:10:21 +08:00
AskaEth 1399bae59e fix(build): build.bat 全 ASCII + Node 脚本处理中文路径 + pnpm-workspace.yaml 构建脚本白名单 2026-09-09 21:09:38 +08:00
AskaEth de4bd63594 fix(build): build.bat 块内改 ASCII(cmd 对 UTF-8 中文块解析错乱)+ pnpm 允许 electron 构建脚本 2026-09-09 21:09:02 +08:00
AskaEth 7f9701c465 fix: 审查修复波次(P0x4 + P1x30+)
- domain/rules: 计分与排名解耦、破纪录按组别、tieBreak 生效、调整分不丢、移除 aggregate 假能力
- realtime: 新建 internal/dto,快照三项契约对齐,/ws 只认会话身份
- httpapi: 流水幂等、standings 整表载荷、广播接线、强制改密、XFF 防伪造、records 写入、审计、赛事包内容、发布前备份、result.points、实例列表
- web: FormData 上传、YAML 解析、快照归一化、大屏解析层、bootstrap 降级、访客判定、主题切换
- console: 优雅关闭握手、中文化、免验证改管理员账号、选屏与日志轮转修复
- docs: 用户文档三份 + README
- 主代理: 破纪录加分接线(levels 未加载导致恒 0)
2026-09-09 21:06:40 +08:00
AskaEth 7f183d5327 build: 安装器许可页顶部文案自动注入内部署名(构建时生成 .nsh) 2026-09-09 20:39:02 +08:00
AskaEth 2f75c31509 build: 回归 electron-builder 打包(win.icon 写入 PE 图标),下载走 gh-proxy 2026-09-09 20:20:04 +08:00
AskaEth ad3770cfc9 build: 用 rcedit 给 Scoreboard Console.exe 嵌入图标与版本信息 2026-09-09 20:19:02 +08:00
AskaEth 74e48bf5bc build: 署名注入用单引号包裹,支持含空格的值 2026-09-09 20:15:09 +08:00
AskaEth 76e725ca96 feat: 内部署名改为编译期注入(构建机本地文件,不进仓库);关于页展示 2026-09-09 20:07:59 +08:00
AskaEth 5ae55b8057 fix(server): 赛事包导出传入项目名,修复 GET /api/export/project.zip 恒 500 2026-09-09 19:57:23 +08:00
AskaEth e86ca24d0e build: 输出改为 dist\ScoreboardConsole,运行时直接从官方 zip 解压(绕开损坏目录) 2026-09-09 19:36:02 +08:00
AskaEth 7243de93ce build: 运行时只装一次,避免覆盖只读文件被拒 2026-09-09 19:34:28 +08:00
AskaEth 1af62a690e build: build.bat 改用 ASCII 注释 + chcp 65001,避免中文注释被 GBK 解析拆行 2026-09-09 19:33:44 +08:00
AskaEth 29162f5c1d build: Console 改为就地覆盖组装,规避 .pak 只读删除失败 2026-09-09 19:33:07 +08:00
AskaEth 8b792496d6 build: 用 PowerShell 强制清理只读的 Console 产物目录 2026-09-09 19:32:29 +08:00
AskaEth 68ee99a5a2 build: 组装 Console 前先结束旧进程,避免文件占用 2026-09-09 19:31:47 +08:00
AskaEth e47251658b fix(console): 默认端口改 19540;打包改为手动组装便携版(不依赖 GitHub 下载) 2026-09-09 19:15:13 +08:00
AskaEth 0d32903b1a build: 增加 Windows 一键构建脚本 deploy/build.bat 2026-09-09 18:41:03 +08:00