性能飞跃 · 让大屏不再卡顿
2026-06-20 优化后实测数据:
🎯 大屏轮询响应
优化前延迟
5-10ms
优化后延迟
0.5-2ms
📊 每日 D1 数据库读次数
优化前
~28 万/天
优化后
~3 万/天
📉 节省 90% 数据库读配额 — 现场 100+ 设备并发访问不再卡数据库,比赛高峰期系统响应依旧飞快。
🆕 v2026.06.20 · 最新
2026-06-20 凌晨发布
本轮更新重点
围绕「让大屏飞起来」+「让生产事故可回溯」两大主题
性能大屏 version 端点搬 KV/D1 缓存
/api/display/:id/version 三层缓存架构
KV 缓存(0 次 D1 读)→ D1 version_cache 表(1 次单表读)→ 原 10 表并行查询 fallback。1 秒 1 次的大屏轮询,数据库压力从 28.8 万次/天降到 2.88 万次/天
每次 submit 触发 bumpVersion 写入
7 个成绩提交端点接入(D1 写),自动失效旧缓存,保证大屏立即看到最新成绩。KV 写配额保护(每小时 100 次),触发日限制时自动降级到 D1
花样赛 my-submissions 批量接口
4 个 freestyle 页面从 100 次并发 API(每页 25 个运动员)合并为 1 次调用,加载速度提升 100 倍(5-10 秒 → 0.5 秒)
安全审计日志 + 失败锁定
audit_logs 表 + 15 个字段完整审计
记录所有登录(成功/失败/拒绝)、成绩提交、账号锁定/解锁操作,存 IP、UA、资源 ID、详情 JSON,6 个索引优化查询。生产事故可一键回溯"谁在什么时间做了什么"
登录失败 5 次自动锁定 5 分钟
admin + judge 双端都接入。login_failures 表持久化计数(KV 过期丢失就找不回来了),即使输入正确密码也会被拒绝,5 分钟后自动解锁
管理端新增"审计日志"菜单
侧边栏 → 审计日志:3 个统计卡片(成功/失败/拒绝)+ 当前锁定列表 + 6 维筛选 + 详情 JSON 展开 + 手动解锁按钮
体验单维度出分 + 误操作修复
花样赛单维度独立出分
难度分由 DP+DM+DR 三个角色单独裁判;任一维度(如完成分)所有裁判提交后,大屏立即显示该维度分数,不用等所有维度完成
修复若干显示问题
T3 扣分显示负号 + 2 位小数;成绩总览表 T3 列;主裁判早提交不抢显;多裁判未全部提交不暴露分数;管理端导入运动员的"组别"字段空值校验
修复花样赛 Hub 跳转"闪现错误页"
Alpine.js 异步加载时显示 x-show div 加了 x-cloak 保护,添加全局 CSS [x-cloak] { display: none !important; },跳转更流畅
历史版本
v2026.06.19 规定赛 + 花样赛全功能完善
规定赛多裁判 UPSERT + per-judge 状态
完成裁判1/2、创意裁判1/2、主裁判分别独立提交,前端实时显示"我已提交"状态
花样赛多角色执裁(DP/DM/DR/完成/创意/主裁)
按花样赛官方计分规则实现:难度分 = min(50, DP+DM+DR 总和),完成分扣 1/2/3/5 分等
规定赛 3 个页面 UI 完整重做
judge-completion.html / judge-creative.html / judge-head.html,参考花样赛视觉风格
修复 refresh-freestyle endpoint env.DB 错误
参数名错传,应该是 env(不是 env.DB)
v2026.06.18 规定赛架构升级
judgeType / judgeRole 分离(显示 vs 逻辑)
"完成裁判1" 和 "完成裁判2" 不再被错误合并为"完成裁判"
prescribed_score_details 明细表
每个裁判每次提交一行明细,支持多裁判独立评分 + 实时均值计算
v2026.06.12 基础功能上线
Cloudflare 全栈架构
Pages + Functions + D1 + KV 绑定
五大端上线
admin / judge (web+小程序) / display / Android+iOS App
计数赛 + 规定赛 + 花样赛三大项目类型
建赛 → 项目编排 → 场地分配 → 裁判分配 → 执裁 → 大屏 → 导出 全流程
⏭️ 下一版本计划
用户提的需求,按优先级排序:
大屏声音提示 + 视觉脉冲 P1
运动员提交分数时大屏发出"叮咚"声 + 卡片放大脉冲反馈(Web Audio API 合成)
手机端数字键盘优化 P1
裁判端输入数字时自动弹数字键盘(inputmode="numeric"),增大触控区
大屏自动跳转倒计时可配置 P2
当前 5 秒太快,运动员刚跳完还没看清;可配置 10/15/30 秒
大屏打印当前页 + 导出 Excel P2
教练现场打印成绩单,已在 admin 端实现 + 一键导入 Excel
强制生产环境设置 ADMIN_PASSWORD P0
当前有 ysd200608 硬编码 fallback,生产部署如果忘了设 env 会用默认值
🏃 立即体验最新版