跳绳赛事管理系统

完整使用说明 · 真实图文版

管理员端 · 裁判员端(Web/小程序)· 大屏展示端 · Android/iOS 端

管理员端 裁判员端 (Web) 裁判员端 (小程序) 大屏展示端 Android App iOS App

📖 目录

1. 系统概览 #

本系统是一套面向跳绳比赛的实时成绩管理平台,支持比赛建档、项目编排、运动员分组、场地分配、裁判执裁、成绩录入、实时大屏展示与导出统计的全流程。

系统门户首页
图 1:系统门户首页,提供管理员端、裁判员端、大屏端三个入口

1.1 多端能力矩阵

端主要用户核心功能访问方式
管理员端 比赛管理员 建赛、项目、组别、场地、运动员、裁判分配、大屏配置、成绩导出 浏览器访问 /admin?role=admin
裁判员端 Web 裁判员 登录、执裁、成绩录入(计数赛 + 规定赛三角色 + 花样赛多角色) 浏览器访问 /judge
裁判员端 小程序 裁判员 同上,针对手机优化 微信小程序搜索
大屏展示端 现场观众 实时成绩展示、场次切换动画 浏览器访问 /display(接大屏/投影仪)
Android / iOS 裁判员 等同小程序,多端框架打包 安装 APK / IPA

1.2 技术架构

Cloudflare 全栈架构
前端:HTML / Alpine.js / 微信小程序 WXML  |  后端:Cloudflare Workers / Functions  |  数据库:Cloudflare D1 (SQLite) + KV  |  实时同步:SSE(Server-Sent Events)

2. 系统入口与登录 #

2.1 门户首页

打开主域名后进入系统门户,根据角色点击对应入口。上图(图 1)即为门户首页实拍。

2.2 管理员登录

点击「管理员端」进入管理员登录页,URL 为 /admin?role=admin。输入管理员账号和密码后登录。

管理员登录页
图 2:管理员登录页(支持 admin / certificate / recorder 三种岗位)
⚠️ 安全机制
• 管理员密码通过环境变量 ADMIN_PASSWORD 配置,无硬编码默认值
• 登录失败 5 次自动锁定 5 分钟(管理员 + 裁判员双端)
• 锁定期间即使密码正确也会被拒绝,5 分钟后自动解锁;管理员也可在「审计日志」手动解锁

2.3 角色隔离(共存登录)

管理员端同一页面承载三个岗位:

💡 可同时单独登录
三个岗位的登录态分别保存在不同 localStorage key 中(如 adminToken / certificateToken / recorderToken)。你可以同时打开三个浏览器标签页分别登录三个岗位,互不串台、互不踢下线。

2.4 裁判员登录

裁判员通过 Web 或小程序进入登录页,输入裁判员编号和密码。

裁判员登录页
图 3:裁判员 Web 端登录页
💡 PWA 安装推荐
手机浏览器首次访问 /judge 时会提示「添加到主屏幕」。安装后全屏使用,体验接近原生 App。

3. 管理员端使用 #

管理员端是系统的"驾驶舱",左侧导航可切换全部功能模块。

3.1 侧边栏导航

🏆
比赛管理
📋
比赛项目
👥
赛事组别
📍
场地管理
🏃
运动员管理
🖥️
大屏管理
📊
成绩总览
⚖️
裁判员管理
📝
审计日志

3.1.1 比赛管理

创建一场比赛,作为所有数据的顶层容器。

1
新建比赛:点击「+ 新建比赛」,填写比赛名称、举办时间、地点等信息。
2
设为大屏:在比赛列表点击「📺 设为大屏」,该比赛数据将推送到 /display。
3
打开大屏:在比赛卡片内点击「打开大屏」,会自动打开 display?id=当前比赛ID,直接进入本场比赛大屏。

3.1.2 比赛项目管理

管理比赛中的所有竞赛项目(如 30 秒单摇、3 分钟单摇接力、个人花样、规定套路等)。

比赛项目管理页
图 4:比赛项目管理页实拍 —— 可批量导入、新建、编辑、删除项目
1
批量导入预设项目:点击「📥 比赛项目库」,勾选所需项目后一次请求批量导入(D1 batch 插入)。
2
新建项目:填写项目名称、所属类型、计分方式。花样赛可配置裁判角色,规定赛可配置裁判数量。
3
批量删除:勾选行首复选框 → 顶部「🗑️ 批量删除」→ 确认后一次请求删除所有选中项目。
💡 三大项目类型
• 计数赛:1 名裁判计数,得分 = 跳绳个数
• 规定赛:3 名裁判(T1 创意 + T2 完成 + T3 主裁扣分),满分 100
• 花样赛:多角色裁判(DP/DM/DR 难度 + 完成 + 创意 + 规定扣分 + 主裁扣分)

3.1.3 赛事组别

划分组别(如「男子组 - 三年级」「女子组 - 四年级」),便于成绩分组统计。

1
批量导入预设组别:从预置组合中勾选添加。
2
新建组别:填写组别名称,选择性别(男子/女子/混合/不限性别)、年龄段。

3.1.4 场地管理

把「裁判员 + 运动员 + 项目」绑定到具体场地,是系统核心调度界面。

1号场地 · 30秒单摇分配裁判
计数裁判:张裁判 已分配 5 人
出场顺序:1. 张三 2. 李四 3. 王五 4. 赵六 5. 孙七
1
新建场地:输入场地编号、名称,设置容纳运动员数。
2
分配裁判员:勾选承担本场地的裁判员。同一裁判员可分配到多个场地。
3
分配运动员:从运动员池勾选加入本场地,用 ↑↓ 调整出场顺序。
🎯 调度技巧
• 一个场地通常安排 3-8 名运动员
• 规定赛场地需要 3 名裁判同时在岗(主裁判 + 创意 + 完成)
• 计数赛只需 1 名裁判

3.1.5 运动员管理

1
新增运动员:填写姓名、性别、所属单位、组别。
2
批量导入:下载 Excel 模板 → 填好上传 → 系统预览并校验分组 → 确认导入。
3
编辑/移除:行内「编辑」修改信息;「移除」只是从当前比赛移除,不删除账号。
⚠️ 分组校验规则
• 运动员「分组」字段必须与「赛事组别」中已配置的组别名称完全一致
• 预览阶段前端标红提示,提交阶段后端再次验证,双层防护
• 分组不匹配的记录会被跳过,支持导出失败记录修正后重新导入

3.1.6 大屏管理

在管理员端直接调整大屏呈现样式,所见即所得。

1
布局选择:2 列 / 2×2 / 3×3 / 4 列 / 6 列等。
2
背景主题:内置多套主题 + 自定义上传图片。
3
自动切换:开启后按倒计时自动跳场,也可手动点「下一场」。
4
显示缩放:通过 display_scale 滑块调整大屏整体缩放比例(0.5~2.0),适配不同尺寸屏幕。

3.1.7 成绩总览

查看、修改、导出所有已录入成绩。

1
成绩列表:支持按类型(计数赛/规定赛/花样赛)、场地筛选,可修改或撤销成绩。
2
导出成绩:按类型导出专用表头(计数赛 7 列 / 规定赛 10 列 / 花样赛 13 列),混合导出使用通用 7 列。
3
成绩统计表:按项目 × 组别自动生成,支持打印(带边框)和导出 Excel。

3.1.8 裁判员管理

1
审核注册:新裁判「待审核」状态,点击「通过审核」激活。
2
新增/编辑裁判:管理员可直接创建裁判账号,设置裁判类型和默认密码。
3
禁用/启用:审核通过后,可随时停用或恢复裁判登录权限。

3.1.9 审计日志

记录登录、成绩提交、账号锁定/解锁等操作,便于事后追溯。

1
统计卡片:成功/失败/被拒绝操作数。
2
锁定账号管理:查看当前被锁定账号,可手动解除锁定。
3
筛选查询:按用户类型、操作类型、时间段等 6 个维度筛选。

4. 裁判员端 Web 版 #

4.1 登录与任务中心

1
登录:输入裁判员编号 + 密码。错误时密码框变红,编号不存在时编号框变橙。
2
注册:未注册裁判点「注册账号」,填写姓名、手机号、编号、密码(至少 4 位)。
3
任务中心:登录后显示被分配的所有执裁任务卡片,点击卡片进入对应执裁界面。
⚠️ 安全机制
• 单点登录:同一裁判账号同一时间只能在一个设备登录
• 失败锁定:密码错误 5 次锁定 5 分钟
• 断网提示:网络断开时顶部红色横幅提示

4.2 计数赛执裁

场次 1-1 · 1号场地 · 30秒单摇3/5 已录入
第 3 位 / 共 5 位
张三
清华附小 · 男子组-三年级
156
1
2
3
4
5
6
7
8
9
←
0
抢跳
确认提交 156 个
1
输入成绩:用屏幕底部数字键盘输入跳绳个数,回车快速提交。
2
特殊处理:
• 抢跳:运动员提前起跳处理
• ×2:计数 ×2(多人同时跳)
• 弃权:标记为弃权
3
跳过/返回:点「暂时跳过」不录入直接下一位;顶部「←」返回任务中心。

4.3 规定赛执裁(3 个角色)

角色打分范围说明
主裁判 T3扣分 0-100犯规减分 + 取消资格
创意裁判 T10-20 分创意编排 + 现场表现
完成裁判 T20-80 分动作准确性 / 熟练性 / 合拍性

最终得分 = T1 + T2 − T3 扣分(满分 100)。3 名裁判全部提交后大屏自动显示最终成绩。

4.4 花样赛执裁

角色说明
难度裁判 DP/DM/DR独立评定难度动作分值
完成裁判完成质量扣分(0/1/2/3/5 分档)
创意裁判创意编排评分 0-10 分
规定扣分 / 主裁扣分规定动作缺失、总体印象扣分
💡 单维度实时出分
任一维度所有裁判提交后,大屏立即显示该维度分数,无需等全部维度完成。

4.5 SSE 实时同步

裁判员提交成绩后 < 300ms 同步到其他裁判端和大屏。SSE 断开后自动重连,同时保留版本号轮询作为 fallback。

5. 裁判员端 小程序 / App #

移动端使用流程与 Web 版完全一致,UI 针对小屏优化(更大数字键盘、更易点击按钮)。

1
错误提示:密码错误 → 红框 ✕;编号不存在 → 橙框 ⚠ + 「立即注册」按钮;审核中 → ⏳;已禁用 → 🔒。
2
任务列表:与 Web 版完全相同的执裁任务卡片。
3
规定赛:主裁判勾选扣分项;创意/完成裁判用滑块或数字键盘输入分数。

Android / iOS App 构建

  1. 微信开发者工具 → 切换到「多端应用模式」。
  2. 「工具」→「多端框架」→「生成 Android 工程」/「生成 iOS 工程」。
  3. Android 用 Android Studio 编译 APK;iOS 用 Xcode 配置证书后编译 IPA。

6. 大屏展示端 #

大屏端面向现场观众,通过浏览器全屏运行,使用 SSE 实时同步裁判成绩。

6.1 启动大屏

从门户点击「大屏端」或管理端顶部「大屏显示」进入时,会首先显示选择比赛界面:

大屏选择比赛界面
图 5:大屏端选择比赛界面 —— 从通用入口进入时先选比赛
1
打开大屏:访问 /display,选择本场比赛;若从管理端「打开大屏」按钮进入,则直接绑定当前比赛。
2
进入全屏:按 F11 全屏,Esc 退出。

6.2 界面布局

14:32:08
2026-08-24 周一
跳绳比赛
项目:30秒单摇
● 实时
共 5 名运动员3/5 已录入
张三 · 清华附小
156
李四 · 北大附小
142
王五 · 复旦附小
--

6.3 场次切换与庆祝特效

管理员切换场次时,大屏显示过渡动画。某场次所有运动员成绩录入完成后,触发金色闪光 + 彩色纸屑庆祝特效,5 秒后自动消失。

7. 完整比赛流程 #

①
赛前准备(管理员)
创建比赛 → 导入项目 → 导入组别 → 导入运动员 → 新建场地 → 分配裁判与运动员 → 审核裁判 → 设为大屏。
②
裁判员就位
裁判员登录后进入任务中心,确认负责场地,等待开始。
③
比赛进行中
按出场顺序录入成绩 → 提交后实时同步大屏 → 管理员在成绩总览监控进度。
④
赛后归档
进入「成绩总览」→「成绩统计表」→ 打印或导出 Excel。

8. 常见问题 FAQ #

Q1. 裁判员显示"账号审核中"怎么办?

管理员在「裁判员管理」中点击「通过审核」激活账号。

Q2. 成绩提交后大屏没更新?

Q3. 大屏显示"暂无比赛"?

需要在管理员端「比赛管理」中点击「📺 设为大屏」。每个时刻只能有一个比赛被设为大屏。

Q4. 打印成绩统计表没边框?

使用 Chrome 浏览器打印,边距设为"默认"或"无"。

Q5. 裁判员被锁定了怎么办?

等待 5 分钟自动解锁,或管理员在「审计日志」手动解除锁定。

Q6. "账号已在其他设备登录"?

裁判账号严格单点登录。需要当前使用者退出,或管理员禁用再启用该裁判。

Q7. 批量导入分组不匹配?

预览阶段会标红提示。最佳实践:先在「赛事组别」中配置好组别,再从组别列表复制粘贴名称到 Excel 模板。

Q8. 如何重置管理员密码?

在 Cloudflare Dashboard → Pages 项目 → Settings → Environment Variables 中修改 ADMIN_PASSWORD,然后重新部署。