水下曲棍球比赛系统 - 操作手册

Admin / CK / Ref 三大角色完整操作指南

版本 1.0 | 更新日期: 2026-07-30
⚙️

管理员 Admin

角色: admin / tadmin

系统全局管理:球队、赛程、用户、导入导出、系统设置、比赛接管

📋

检录员 CK

角色: ck1 / ck2 / ckadmin / refadmin

赛前检录:大名单确认、球员出入管理、检录状态控制

🥅

裁判员 Ref

角色: referee / ref1-4 / refadmin

比赛执裁:计时计分、进球罚时、暂停点球、断线恢复、补登记

1. 登录与入口

登录流程

  1. 打开浏览器,访问系统首页(如 http://localhost:5000 或服务器地址)
  2. 点击"登录"按钮,进入登录页面
  3. 输入管理员用户名和密码
  4. 登录成功后自动跳转至管理后台页面(/admin)
注意:管理员(admin/tadmin)登录后直接进入管理后台,不会跳转到比赛选择页。管理员可以同时执裁比赛,从管理后台退出后可通过 /matches 进入比赛选择页。

管理后台界面结构

左侧为导航栏,包含 4 个功能模块:

球队管理
→
赛程管理
→
用户管理
→
系统设置

2. 球队管理

功能概述

  • 查看所有球队列表(含球员数量统计)
  • 新增球队(中英文名称、教练姓名)
  • 编辑球队信息
  • 删除球队(同时删除关联球员)
  • 展开球队查看/添加/编辑/删除球员

添加球队操作步骤

  1. 在管理后台点击左侧"球队管理"标签
  2. 点击"添加球队"按钮
  3. 填写球队中文名称、英文名称、教练姓名(中英文)
  4. 点击"保存"完成添加

管理球员

  1. 在球队列表中点击球队行左侧的展开按钮
  2. 展开后显示该队所有球员(号码、中英文名)
  3. 点击"添加球员"可新增球员(号码、中英文名)
  4. 点击球员行的"编辑"可修改信息
  5. 点击"删除"可移除球员
提示:球员号码为必填项,同一球队内号码不可重复。中英文名称均需填写以支持多语言显示。

3. 赛程管理

功能概述

  • 查看所有比赛列表(含队伍、比分、状态、裁判、场地)
  • 新增比赛(选择队伍、阶段、场地、裁判、时间)
  • 编辑比赛信息(修改队伍、棍色、裁判分配等)
  • 删除比赛
  • 手动修改比赛状态(scheduled / live / completed)
  • 手动更新比分
  • 触发淘汰赛队伍自动更新

新增比赛操作步骤

  1. 点击左侧"赛程管理"标签
  2. 点击"添加比赛"按钮
  3. 选择队伍 A 和队伍 B(淘汰赛阶段可为空,使用引用描述)
  4. 设置棍色(白棍/黑棍)
  5. 填写比赛场次号、小组名、阶段(小组赛/淘汰赛)
  6. 设置比赛时间和场地
  7. 分配裁判(可选)
  8. 点击"保存"完成添加

淘汰赛队伍自动更新

当小组赛比赛完成后,淘汰赛的队伍对阵需要根据小组赛排名自动填充。

  1. 确保所有相关小组赛已完成(状态为 completed)
  2. 在赛程管理页面点击"更新淘汰赛"按钮
  3. 系统自动根据小组排名填充淘汰赛对阵(如 A组第1名、B组第2名等)
  4. 检查淘汰赛对阵是否正确
注意:更新淘汰赛后,之前手动设置的淘汰赛队伍会被覆盖。建议在所有小组赛结束后再执行此操作。

4. 用户管理

功能概述

  • 查看所有系统用户列表(用户名、角色、显示名、创建时间)
  • 创建新用户(设置用户名、密码、角色、显示名)
  • 删除用户(不可删除 ID=1 的超级管理员)
  • 重置用户密码

可创建的角色类型

角色值说明权限范围
admin系统管理员全部功能 + 执裁
referee裁判员执裁分配给自己的比赛
refadmin裁判长执裁全部比赛 + 检录 + 修改已完成比赛
ref1-4编号裁判执裁分配给自己的比赛
ck1/ck2场地检录员仅检录对应场地的比赛
ckadmin检录管理员检录全部比赛 + 退回检录
tadmin测试管理员全部功能 + 模拟比赛
tref测试裁判执裁 + 模拟功能

创建用户步骤

  1. 点击左侧"用户管理"标签
  2. 点击"添加用户"按钮
  3. 输入用户名(登录用,不可重复)
  4. 设置初始密码
  5. 选择角色(admin / referee / refadmin / ck1 / ck2 等)
  6. 填写显示名(中文姓名,用于界面显示)
  7. 点击"保存"完成创建
安全提示:初始密码建议设为简单密码(如 123456),并提醒用户首次登录后修改。重置密码操作需要用户明确同意后方可执行。

5. 系统设置

默认比赛设置

管理员可以设置系统默认的比赛参数,所有新建比赛会自动继承这些设置。裁判在赛前设置页面可在此基础上修改。

参数默认值说明
半场时长12 分钟常规时间上下半场各 12 分钟
中场休息3 分钟上下半场之间的休息
加时赛启用关闭是否启用加时赛
加时赛半场时长5 分钟加时赛上下半场各 5 分钟
加时赛前休息3 分钟常规时间结束后到加时赛前的休息
加时赛休息3 分钟加时赛上下半场之间的休息
金球前休息1 分钟加时赛平局后进入金球前的休息
每队每节暂停1 次每支球队每节可使用的暂停次数
暂停时长1 分钟每次暂停的持续时间
最后禁止暂停最后 2 分钟每节最后 N 秒不允许叫暂停
进球后罚时暂停进球后是否暂停正在执行的罚时
进球后倒计时30 秒进球后的重新开球倒计时

6. Excel 导入导出

球队数据导入

  1. 在球队管理页面,点击"导入Excel"按钮
  2. 可选择先下载模板,按模板格式填写数据
  3. 模板支持两种格式:多 Sheet(每支球队一个 Sheet)或单 Sheet(列含球队名、教练、球员信息)
  4. 上传 .xlsx 文件
  5. 勾选"清空旧数据"可覆盖导入(谨慎操作)
  6. 系统自动解析并导入球队和球员数据
注意:球队名称需含中英文,球员需含号码和中英文名。导入时同名球队会更新而非重复创建。

球队数据导出

  1. 在球队管理页面,点击"导出Excel"按钮
  2. 系统生成 Excel 文件并自动下载
  3. 文件包含:汇总 Sheet(全部球员列表)+ 每支球队独立 Sheet
  4. 每支球队 Sheet 含球员号码、姓名、进球数、罚时统计

赛程数据导入

  1. 在赛程管理页面,点击"导入Excel"按钮
  2. 可先下载赛程模板,按格式填写
  3. 列包括:场次、小组名、队伍A、队A棍色、队伍B、队B棍色、开始时间、场地、主裁判
  4. 小组赛:队伍A/B 直接填写球队名称
  5. 淘汰赛:队伍A/B 填写引用描述(如"A组第1名"、"第3场赢家")
  6. 上传文件,系统自动解析并创建比赛
提示:棍色列填写"黑棍"或"白棍",系统自动识别。裁判列需填写裁判的显示名。

赛程数据导出

  1. 在赛程管理页面,点击"导出Excel"按钮
  2. 系统生成赛程 Excel 并自动下载
  3. 文件包含所有比赛的对阵、时间、场地、裁判信息

7. 比赛接管与手动完赛

比赛接管

当裁判断线超过 20 秒,系统自动暂停比赛并保存快照。管理员或其他有权限的裁判可以接管该比赛。

  1. 管理后台会收到实时弹窗通知,显示断线比赛信息(原裁判账号、断线时间、当前比分/阶段)
  2. 在比赛列表中,断线比赛状态显示为"特殊暂停/断线"
  3. 点击该比赛进入执裁页面
  4. 系统自动调用接管 API,解除原裁判执裁锁
  5. 接管后可选择"恢复比赛"(使用快照数据)或"手动完赛"
权限说明:admin、tadmin、refadmin、tref 角色可以接管比赛。普通裁判(referee/ref1-4)不能接管他人执裁的比赛。

手动完赛

当比赛因断线无法继续时,管理员可直接输入最终比分结束比赛。

  1. 在管理后台比赛列表中,找到 live 状态的断线比赛
  2. 点击红色的"手动完赛"按钮
  3. 在弹窗中输入最终比分 A 和 B
  4. 确认后比赛标记为 completed
  5. 后续可通过管理页面补录进球/罚时记录
注意:手动完赛会清除原有事件记录(如有),仅保留最终比分。建议仅在无法恢复比赛时使用。

8. 比赛日志管理

功能概述

  • 查看所有比赛日志文件列表(文件名、大小、修改时间)
  • 查看单场比赛日志内容
  • 删除指定日志文件
  • 批量清理超过指定天数的日志(默认 30 天)
提示:每场比赛结束(正常完赛或手动完赛)后会自动生成日志文件,记录比赛过程和最终比分。

1. 登录与入口

登录流程

  1. 打开浏览器,访问系统首页
  2. 点击"登录"按钮,进入登录页面
  3. 输入检录员用户名和密码(如 ck1、ck2、ckadmin)
  4. 登录成功后跳转至比赛选择页(/matches)
  5. 在比赛列表中找到需要检录的比赛,点击进入检录页面
场地限制:ck1 只能看到和操作 Court 1 场地的比赛;ck2 只能看到和操作 Court 2 场地的比赛。ckadmin 和 refadmin 可以操作所有比赛。

2. 检录流程概览

比赛已排程 (scheduled)
→
检录队A大名单
→
检录队B大名单
→
检录完成 (checked)
→
裁判可开始比赛

检录员的核心任务是在比赛开始前,确认双方球队的参赛球员名单。只有两队都完成检录后,裁判才能开始比赛。

3. 赛前检录操作

检录步骤

  1. 在比赛选择页(/matches)找到需要检录的比赛
  2. 点击比赛卡片进入检录页面(/checkin/比赛ID)
  3. 页面显示比赛信息(队伍名称、棍色、比赛编号)
  4. 页面两侧分别显示队伍 A 和队伍 B 的完整大名单
  5. 点击球员卡片将其移出大名单(适用于不在场的球员)
  6. 被移出的球员会显示为灰色/删除线状态
  7. 确认后点击"确认检录"按钮提交
  8. 系统自动保存大名单并通知裁判端
提示:检录的核心是"移出不在场的球员",最终上场名单需≤10人。点击灰色球员可恢复其到大名单中。

检录状态说明

状态含义可操作
未检录两队均未完成检录可检录
部分检录仅一队完成检录可检录另一队
已检录两队均完成检录ck1/ck2 不可修改,ckadmin 可退回

4. 大名单管理

大名单操作说明

  • 初始大名单为球队全部注册球员
  • 点击球员卡片 = 移出大名单(该球员不参加本场比赛)
  • 再次点击灰色球员 = 恢复到大名单
  • 检录完成后,裁判端会实时收到大名单更新
  • 裁判在赛前设置页面可以看到检录后的上场名单
注意:一旦两队都完成检录(状态变为 checked),ck1/ck2 将无法再修改大名单。如需修改,需联系 ckadmin 退回检录状态。

5. 退回检录(仅 ckadmin / refadmin)

退回操作

当检录有误或需要修改大名单时,ckadmin 或 refadmin 可以退回检录状态。

  1. 进入需要退回的比赛检录页面
  2. 点击"退回检录"按钮
  3. 系统清除检录记录,比赛状态恢复为 scheduled
  4. 可重新进行检录操作
权限:仅 ckadmin 和 refadmin 可执行退回操作。退回后之前的检录数据将被清除。

6. 注意事项

  • 检录需在比赛开始前完成,裁判无法在未检录的情况下开始比赛
  • ck1/ck2 仅能操作自己场地的比赛,无法查看其他场地的比赛
  • 检录完成后大名单会实时同步到裁判端,无需通知裁判
  • 如果球员信息有误(如号码、姓名错误),需联系管理员在球队管理中修改
  • 检录页面支持实时刷新,多设备同时操作会同步更新
  • 淘汰赛阶段的比赛同样需要检录,流程一致

1. 登录与入口

登录流程

  1. 打开浏览器,访问系统首页
  2. 点击"登录"按钮,进入登录页面
  3. 输入裁判员用户名和密码
  4. 登录成功后跳转至比赛选择页(/matches)
  5. 在比赛列表中找到分配给自己的比赛
  6. 点击比赛卡片进入执裁页面(/match/比赛ID)
权限说明:ref1-ref4 和 referee 角色只能看到分配给自己的比赛。refadmin 可以看到所有比赛。admin/tadmin 可以执裁任意比赛。

2. 赛前设置

设置页面内容

进入比赛后首先显示赛前设置页面,包含以下配置项:

设置项说明默认值
球队信息显示两队名称和棍色(只读)-
半场时长常规时间每半场时长(1-60分钟)12 分钟
中场休息上下半场间休息时长(1-30分钟)3 分钟
启用加时赛开关,开启后可配置加时赛参数关闭
加时赛半场时长加时赛每半场时长5 分钟
加时赛前休息常规时间到加时赛间的休息3 分钟
加时赛休息加时赛上下半场间休息3 分钟
金球前休息加时赛平局后进入金球前的休息1 分钟
每队每节暂停每支球队每节可叫暂停次数(0-5)1 次
暂停时长每次暂停持续时间(30秒/1分钟)1 分钟
最后禁止暂停每节最后N秒不允许暂停最后2分钟
开始方式纯手动/定时开始/倒计时开始倒计时开始
进球后罚时进球后是否暂停正在执行的罚时暂停
进球后倒计时进球后重新开球倒计时30秒

赛前检录确认

设置页面下方显示两队大名单。点击球员可将其移出本场比赛名单(需≤10人上场)。检录员完成的检录结果会自动同步到此处。

前提条件:比赛必须已完成检录(两队均已确认)才能开始。如果检录未完成,系统会提示"请等待检录完成"。

3. 开始比赛

开始方式

模式说明
纯手动点击"开始比赛"按钮后直接进入上半场,时钟不自动启动
定时开始设置当地时间,到时间后自动开始
倒计时开始设置倒计时分钟数(1-30分钟),倒计时结束后自动进入上半场

开始操作

  1. 确认赛前设置和大名单无误
  2. 点击页面底部的"▶ 开始比赛"按钮
  3. 系统将比赛状态设为 live,并锁定执裁权(其他裁判无法同时执裁)
  4. 根据开始方式,进入倒计时或直接开始上半场
  5. 使用空格键或"开始比赛"按钮启动/暂停时钟
执裁锁:同一裁判不能同时执裁多场比赛。如果已有进行中的比赛,需先结束当前比赛才能开始下一场。

4. 比赛操作

核心操作按钮

操作按钮快捷键说明
犯规/死球📢 犯规/死球D暂停时钟,记录犯规/死球事件
比赛继续🔄 比赛继续R恢复时钟,从犯规/死球/暂停中恢复
确认进球🥅 确认进球G记录进球,选择进球球员,更新比分
确认暂停⏸ 确认暂停T记录球队暂停,启动暂停倒计时
判罚出场🟥 判罚出场P选择犯规球员和罚时时长(1分钟/2分钟/5分钟)
点球🎯 点球K进入点球模式,记录点球进球或未进
裁判员暂停🩺 裁判员暂停S特殊暂停(如球员受伤、设备问题),暂停所有计时
补登记📝 补登记-补录之前遗漏的进球或罚时事件
开始/暂停▶ 开始比赛空格启动或暂停比赛时钟

进球操作流程

  1. 比赛进行中,点击"🥅 确认进球"或按 G
  2. 选择进球队伍(A队或B队)
  3. 从大名单中选择进球球员(可搜索号码或姓名)
  4. 确认后比分自动+1,记录进球时间和当前阶段
  5. 系统自动进入进球后倒计时(如启用)
  6. 倒计时结束后或按"比赛继续"恢复比赛

判罚出场流程

  1. 点击"🟥 判罚出场"或按 P
  2. 选择犯规队伍
  3. 选择犯规球员
  4. 选择罚时时长:1分钟(轻微犯规)/ 2分钟(普通犯规)/ 5分钟(严重犯规)
  5. 确认后开始罚时倒计时,球员显示为"罚时中"
  6. 罚时到期时系统弹出提醒,需确认球员回场
提示:罚时期间如果比赛暂停(犯规/死球/暂停),罚时计时也会暂停,恢复比赛后继续。进球后罚时是否暂停取决于赛前设置。

点球流程

  1. 点击"🎯 点球"或按 K
  2. 选择执行点球的队伍
  3. 选择执行球员
  4. 点球执行后选择"进球"或"未进"
  5. 如进球,比分+1并记录点球进球事件
  6. 点球结束后恢复比赛

裁判员暂停

裁判员暂停(原"特殊暂停")用于处理比赛中的特殊情况,如球员受伤、设备故障等。

  • 暂停时所有计时停止(比赛时钟、罚时、暂停倒计时等)
  • 界面上方显示"裁判员暂停"状态标签
  • 再次点击"裁判员暂停"或按 S 恢复比赛
  • 裁判员暂停不计入球队暂停次数

5. 快捷键一览

快捷键功能使用场景
空格开始/暂停比赛启动时钟或暂停时钟
D犯规/死球吹哨停止比赛时使用
R比赛继续从停止状态恢复比赛
G确认进球有进球时使用
T确认暂停球队请求暂停时使用
P判罚出场需要罚时球员时使用
K点球判罚点球时使用
S裁判员暂停需要暂停处理特殊情况时使用
提示:快捷键提示显示在页面底部,会根据当前语言自动翻译。建议裁判员熟记快捷键以提高执裁效率。

6. 阶段流程

比赛阶段状态机

赛前准备
→
赛前倒计时
→
上半场
→
中场休息
中场休息
→
下半场
→
裁判决策

下半场结束后,裁判需要做出决策:

  • 如果比分不同 → 直接结束比赛
  • 如果比分相同且启用加时赛 → 进入加时赛前休息
  • 如果比分相同且未启用加时赛 → 结束比赛(平局)

加时赛阶段流程

加时赛前休息
→
加时赛上半场
→
加时赛休息
→
加时赛下半场
加时赛下半场
→
裁判决策
→
金球前休息
→
金球加时
→
比赛结束

金球加时为不限时正向计时,任何一方进球即比赛结束(金球制胜)。

休息阶段说明

  • 中场休息、加时赛休息等休息阶段会自动倒计时
  • 休息期间不需要裁判操作,倒计时结束后自动进入下一阶段
  • 休息结束前 30 秒会显示提醒倒计时
  • 每节(上半场/下半场/加时赛上半场/加时赛下半场)开始时,暂停次数重置

7. 断线恢复

心跳机制

  • 裁判端每 5 秒发送一次心跳请求到服务器
  • 服务器检测心跳,超过 20 秒未收到心跳判定为断线
  • 断线后服务器自动暂停比赛(设为"特殊暂停"状态)并保存最终快照
  • 管理员页面收到实时通知弹窗

离线模式

网络异常时,裁判端自动进入离线模式:

  • 界面显示"离线中"提示,告知裁判当前数据未同步
  • 所有操作事件暂存到 localStorage 队列
  • 比赛状态在内存中继续运行
  • 网络恢复后自动按顺序重放离线事件队列
  • 长时间断网且前端关闭时,最多丢失最后 10 秒的数据

原裁判重连恢复

  1. 断线后重新连接,进入比赛页面
  2. 系统检测到快照数据,直接显示恢复界面(跳过检录/设置加载)
  3. 恢复界面显示:原裁判账号、断线时间、当前比分、比赛阶段
  4. 点击"恢复比赛"按钮,以快照数据为基础恢复比赛
  5. 可编辑关键数据(比分、时间、阶段、暂停次数、罚时等)
  6. 确认后以"特殊暂停"状态进入比赛界面
  7. 裁判手动决定何时继续比赛
注意:如果比赛已被其他裁判接管或手动完赛,原裁判重连后将看到相应提示,无法恢复。

其他裁判接管

  • admin、tadmin、refadmin、tref 角色可以接管断线比赛
  • 接管时自动解除原裁判执裁锁
  • 接管后可选择恢复比赛或手动完赛
  • 恢复时可修改快照数据(比分、时间、阶段等)
  • 恢复后比赛进入"特殊暂停"状态,由接管裁判决定继续时机

8. 补登记

功能说明

补登记用于在比赛进行中或休息阶段,补录之前遗漏的进球或罚时事件。

  1. 点击"📝 补登记"按钮进入补登记模式
  2. 选择补登记类型:进球 或 罚时
  3. 选择事件发生的阶段(上半场/下半场/加时赛等)
  4. 选择队伍和球员
  5. (如为罚时)选择罚时时长
  6. 确认后事件被添加到比赛记录中
  7. 如果是进球,比分相应更新
提示:补登记的进球阶段会自动匹配当前或最近的比赛阶段。在休息阶段也可以补登记之前阶段的进球。

9. 结束比赛

正常完赛

  1. 下半场或加时赛下半场结束时,系统等待裁判决策
  2. 如果比分不同:裁判选择"结束比赛"
  3. 如果比分相同且启用加时赛:裁判选择"进入加时赛"
  4. 如果比分相同且未启用加时赛:裁判选择"结束比赛"(平局)
  5. 金球加时中任何一方进球,比赛自动结束
  6. 比赛结束后状态变为 completed,自动生成比赛日志
  7. 射手榜和罚时榜自动重新计算

手动完赛(断线场景)

  • 仅 admin、tadmin、refadmin、tref、referee 角色可操作
  • 在管理后台或接管后的裁判端操作
  • 输入最终比分 A 和 B
  • 确认后比赛标记为 completed
  • 后续可通过管理页面补录详细记录

比赛结束后

  • 执裁锁自动释放(active_referee_id 清空)
  • 快照数据自动清除
  • 比赛日志文件自动生成
  • 射手榜、罚时榜全量重新计算
  • 淘汰赛对阵自动可更新(需管理员手动触发)
  • refadmin/tadmin/tref 可修改已完成比赛的比分
总结:裁判员的核心操作围绕 8 个快捷键展开。建议赛前熟悉快捷键和操作流程,赛中保持网络稳定,遇到断线不要慌张,系统会自动保存数据并支持恢复。