Skip to content

第十一章 操作流程说明

交互原型

体验操作流程:点击「上架」按钮查看上架弹窗,体验完整的操作交互流程。

本章详细描述操盘列表中各核心操作的完整流程,包括触发入口、操作步骤、系统反馈、异常处理等。

11.1 上架操作

11.1.1 操作入口

入口位置操作方式适用场景
行操作按钮点击上架按钮单个赛事上架
批量操作栏选中后点击批量上架多个赛事上架
快捷按钮点击待上架全部后批量操作批量处理待上架赛事

11.1.2 上架确认弹窗

弹窗标题:✅ 确认上架赛事

弹窗内容: 上架时,若没有分配操盘手,需要先提示分配操盘手

┌────────────────────────────────────────┐
│  ✅ 确认上架赛事                    ✕  │
├────────────────────────────────────────┤
│  选中赛事      3 场                    │
│  已滚球        1 场  (红色)            │
│  即将开赛      1 场  (橙色)            │
├────────────────────────────────────────┤
│  盘口初始状态 *                        │
│  ● 跟随数据源(推荐)     ← 默认      │
│     上架后盘口跟随IM状态,可立即投注   │
│  ○ 锁定                               │
│     盘口可见但暂停投注,需手动解锁     │
│  ○ 隐藏                               │
│     盘口对玩家不可见,需手动取消隐藏   │
├────────────────────────────────────────┤
│  分配操盘手 *                          │
│  [ 点击分配操盘手 ]  ✓ 已分配 6 个玩法 │
│  (按玩法分别指定赛前/滚球操盘手)     │
├────────────────────────────────────────┤
│         [ 取消 ]    [ 确认上架 ]       │
└────────────────────────────────────────┘

11.1.3 弹窗字段说明

字段类型必填说明
选中赛事展示-本次操作涉及的赛事数量
已滚球展示-选中赛事中已在滚球的数量,红色高亮
紧急(10分钟内)展示-选中赛事中10分钟内开赛的数量,橙色高亮
盘口初始状态单选上架后盘口的初始状态
分配操盘手弹窗点击打开操盘手分配弹窗,详见11.6节

分配操盘手说明

上架时必须完成操盘手分配。点击「分配操盘手」按钮打开统一的分配弹窗,按玩法分别指定赛前和滚球操盘手。

当前用户角色可选择的操盘手范围
普通操盘手仅能选择自己作为所有玩法的操盘手
主管可选择任意操盘手,支持不同玩法不同人
风控可选择任意操盘手,支持不同玩法不同人

普通操盘手上架时,系统自动将所有玩法的赛前和滚球操盘手设为当前用户,无需手动选择。

11.1.4 盘口初始状态选项

选项说明默认适用场景
跟随数据源上架后盘口跟随IM状态,可立即投注默认信任数据源的常规赛事
锁定盘口可见但暂停投注,需手动解锁需检查赔率后再开放投注
隐藏盘口对玩家不可见,需手动取消隐藏高风险赛事

设计说明:与第10章10.2.3节保持一致,上架时盘口初始状态提供「跟随数据源」、「锁定」、「隐藏」三个选项,与操盘详情页上架弹窗完全统一。

11.1.5 操作流程

步骤用户操作系统响应
1点击上架按钮弹出上架确认对话框
2选择盘口初始状态单选框选中
3选择负责操盘手下拉列表显示可选操盘手
4点击确认上架执行上架,关闭对话框
5-列表刷新,状态变更为已上架

11.1.6 上架失败处理

失败原因系统提示处理方式
未选择盘口初始状态请选择盘口初始状态阻止提交
未选择操盘手请选择负责操盘手阻止提交
赛事已取消该赛事已取消,无法上架关闭对话框,刷新列表
数据源关盘数据源已关盘,无法上架阻止提交
网络异常网络异常,请重试允许重试

11.2 下架操作

11.2.1 操作入口

入口位置操作方式适用场景
行操作按钮点击下架按钮单个赛事下架
批量操作栏选中后点击批量下架多个赛事下架

11.2.2 下架确认弹窗

弹窗标题:⚠️ 确认下架赛事

┌────────────────────────────────────────┐
│  ⚠️ 确认下架赛事                    ✕  │
├────────────────────────────────────────┤
│  ⚠️ 警告:下架后所有盘口将变为隐藏状态  │
│  (客户端不可见),需人工重新上架恢复。 │
├────────────────────────────────────────┤
│  当前投注额      ¥125,000              │
│  未结算注单数    328 笔                │
├────────────────────────────────────────┤
│         [ 取消 ]    [ 确认下架 ]       │
└────────────────────────────────────────┘

11.2.3 下架后盘口状态

关键规则:下架操作将盘口状态变为隐藏(隐藏来源=system,详情=delist_link),客户端不可见。

操作盘口状态变化原因
下架开盘/锁定 → 隐藏(隐藏来源=system,详情=delist_link)下架联动隐藏,客户端不可见;需先上架才能恢复
重新上架根据选择的盘口初始状态需要人工确认

11.2.4 下架操作的前提条件

下架仅在本地盘口未关盘时可用。数据源关盘后,本地跟随关盘的赛事不可下架(已不在操盘列表显示)。

赛事阶段数据源状态本地盘口状态可否下架说明
未开赛开盘开盘/隐藏/锁定正常下架
未开赛暂停隐藏/锁定正常下架
滚球中开盘开盘/隐藏/锁定下架后已接受注单继续跟踪结算
滚球中暂停隐藏/锁定下架后已接受注单继续跟踪结算
任意关盘关盘赛事已流转到结算管理

不同阶段下架的业务影响

  • 未开赛下架:客户端不可见,无已接受注单(或注单全额退款)
  • 滚球中下架:客户端不可见,已接受注单需持续跟踪比赛结果并完成结算

11.3 盘口操作(详情页功能)

重要说明:操盘列表仅提供上架/下架操作,盘口操作(隐藏/取消隐藏/锁盘/解锁)统一在「赛事操盘详情页」进行。

本节保留解锁后盘口状态规则作为业务规则参考,具体操作流程详见「赛事操盘详情页规范」文档。

11.3.1 解锁后盘口状态规则

解锁成功后,盘口最终状态由当前数据源状态和该联赛的「是否跟随数据源盘口状态」(默认值为「是」,联赛管理配置)决定:

数据源状态联赛跟随配置解锁后盘口状态说明
开盘是/否开盘正常恢复,可接受投注
暂停开盘本地状态不变,C端显示暂停投注
暂停开盘本地状态不变,告警列显示数据源暂停
维护是/否隐藏维护状态强制隐藏,不受跟随配置影响
关盘是/否阻止解锁关盘状态下无法解锁,Toast提示「数据源已关盘,无法解锁」

11.4 按钮状态控制

11.4.1 行操作按钮状态

与7.4.1保持一致:操盘列表仅提供上架/下架操作,盘口操作(隐藏/取消隐藏/锁盘/解锁)统一在「赛事操盘详情页」进行。一键锁盘除外。

赛事状态上架状态可用按钮
正常待上架上架、详情
正常已上架下架、详情
正常已下架上架、详情
延期已上架下架、详情
延期待上架详情
延期已下架详情

延期赛事操作说明(与10.5.2保持一致):

  • 已上架的延期赛事允许下架(操盘主动撤出)
  • 待上架/已下架的延期赛事禁止上架(防止异常赛事上线)

11.4.2 禁用按钮说明

禁用状态的按钮显示为灰色,鼠标悬停时显示禁用原因提示。

按钮禁用条件提示文案
上架赛事状态=延期延期赛事暂不可上架
上架数据源已关盘数据源已关盘
下架待上架或已下架赛事未上架
详情无(始终可用)-

11.5 数据导出

11.5.1 导出字段

导出文件包含以下字段(已移除串关列):

字段说明
赛事编号唯一标识
联赛联赛名称
主队主队名称
客队客队名称
开赛时间计划开赛时间
比赛进程赛前、即将、滚球
比分当前比分
上架状态待上架、已上架、已下架
赛事状态正常、延期
盘口状态开盘、隐藏、锁定、关盘
盘口数开盘盘口数/总盘口数
赔率类型马来盘、欧洲盘、香港盘、印尼盘
投注额投注总金额
预计赔付预计赔付金额
预估盈亏预估盈亏金额
操盘手负责操盘手姓名

11.5.2 导出字段映射

页面显示字段Excel导出字段名格式/类型说明
赛事编号EventId字符串唯一标识
联赛League字符串联赛名称
主队HomeTeam字符串主队名称
客队AwayTeam字符串客队名称
开赛时间ScheduledTime日期时间(ISO8601)计划开赛时间(UTC+8)
比赛进程MatchPhase字符串枚举赛前、即将、滚球、中场、完场
比分Score字符串(H-A格式)当前比分,如3-2
上架状态ListingStatus字符串枚举待上架、已上架、已下架
赛事状态EventStatus字符串枚举正常、延期
盘口状态MarketStatus字符串枚举开盘、隐藏、锁定、关盘
盘口数MarketCount字符串(N/M格式)开盘盘口数/总盘口数
赔率类型OddsType字符串枚举香港盘(HK)、小数盘(Decimal)
投注额TotalStaked数值(CNY)投注总金额,精度2位小数
预计赔付EstimatedPayout数值(CNY)预计赔付金额,精度2位小数
预估盈亏EstimatedP&L数值(CNY)预估盈亏金额,精度2位小数
操盘手Traders字符串负责操盘手姓名(多个用;分隔)

11.5.3 导出限制

限制项限制值说明
最大导出数量10000条超出时提示缩小筛选范围
导出频率每分钟1次防止频繁导出
文件格式Excel格式文件后缀为xlsx

11.5.3 告警轮播间隔

告警列表采用自动轮播机制展示高优先级告警。

配置项默认值说明归属模块
轮播间隔10秒每条告警展示时长(默认值为10秒,系统级写死,修改需发版)系统级写死
轮播规则顺序按优先级从高到低顺序轮播,当前正在轮播的告警高亮显示系统级写死

11.6 操盘手分配弹窗(SSOT)

SSOT声明:本节为操盘手分配弹窗的单一真源。操盘列表、操盘详情页、联赛管理等所有涉及操盘手分配的入口,均使用本节定义的统一弹窗组件。

操盘手分配统一采用按玩法分配模式,每个玩法可分别指定赛前操盘手滚球操盘手

11.6.1 分配弹窗结构

┌─────────────────────────────────────────────────────────────────────┐
│  分配操盘手                                                       ✕  │
├─────────────────────────────────────────────────────────────────────┤
│  当前赛事:曼城 vs 利物浦 #48291037                                   │
│  (批量操作时显示:即将分配 N 场赛事)                                │
├─────────────────────────────────────────────────────────────────────┤
│  阶段选择                                                           │
│  ┌───────────────┐ ┌───────────────┐                               │
│  │ ● 赛前        │ │ ○ 滚球        │                               │
│  └───────────────┘ └───────────────┘                               │
├─────────────────────────────────────────────────────────────────────┤
│  玩法汇总:共 8 个玩法  |  已分配 5 个  |  待分配 3 个               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌───────────────────┐                ┌───────────────────┐        │
│  │ 待分配玩法 (3)    │                │ 已分配玩法 (5)    │        │
│  ├───────────────────┤                ├───────────────────┤        │
│  │ ☐ 让球盘          │                │ 独赢盘 → 张三     │        │
│  │ ☐ 大小球          │   ─[张三▼]─>   │ 波胆 → 张三       │        │
│  │ ☐ 角球大小        │   <──────────  │ 半场全场 → 李四   │        │
│  │                   │                │ 总进球 → 李四     │        │
│  │                   │                │ 单双 → 王五       │        │
│  └───────────────────┘                └───────────────────┘        │
│                                                                     │
│  [ 从联赛默认导入 ]  [ 复制赛前配置到滚球 ]                          │
├─────────────────────────────────────────────────────────────────────┤
│  操盘手统计                                                         │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │ 张三: 2个玩法  |  李四: 2个玩法  |  王五: 1个玩法            │   │
│  └─────────────────────────────────────────────────────────────┘   │
├─────────────────────────────────────────────────────────────────────┤
│                  [ 取消 ]              [ 确认分配 ]                 │
└─────────────────────────────────────────────────────────────────────┘

11.6.2 弹窗区域说明

区域说明
阶段选择切换赛前/滚球阶段,分别配置该阶段的操盘手分配
玩法汇总显示当前阶段的玩法总数、已分配数、待分配数
待分配玩法左侧列表,显示尚未分配操盘手的玩法,支持多选
操盘手选择中间下拉框,选择要分配的目标操盘手,点击箭头执行分配
已分配玩法右侧列表,显示已分配的玩法及对应操盘手,可选中后移回左侧
操盘手统计底部汇总,显示各操盘手在当前阶段负责的玩法数量

11.6.3 穿梭框交互规则

操作说明
左侧选中 + 点击 →将选中的玩法分配给下拉框中的操盘手,移至右侧
右侧选中 + 点击 ←将选中的玩法移回左侧(取消分配)
切换阶段保留当前阶段配置,切换显示另一阶段的分配状态
从联赛默认导入从联赛管理的默认配置导入当前阶段的操盘手分配
复制赛前配置到滚球将赛前阶段的分配配置复制到滚球阶段(仅在滚球页签显示)

11.6.4 校验规则

校验项规则失败提示
必须全覆盖赛前和滚球两个阶段的所有玩法均须分配操盘手请为所有玩法分配操盘手
操盘手权限选中的操盘手须有该联赛的操盘权限{操盘手}无该联赛操盘权限
操盘手状态选中的操盘手须处于在职且未锁定状态{操盘手}已离职或被锁定

11.6.4 校验规则

校验项规则失败提示
必须全覆盖所有玩法的赛前和滚球操盘手均须选择请为所有玩法分配操盘手
操盘手权限选中的操盘手须有该联赛的操盘权限{操盘手}无该联赛操盘权限
操盘手状态选中的操盘手须处于在职且未锁定状态{操盘手}已离职或被锁定

11.6.5 分配入口

本弹窗在以下入口触发,交互完全一致:

页面入口位置触发操作备注
操盘列表上架确认弹窗点击「分配操盘手」上架时必须完成分配
操盘列表行操作「操盘手」列点击操盘手名称仅主管/风控可操作
操盘列表批量操作栏点击「分配操盘手」批量分配,统一配置
操盘详情页顶部栏点击「更换操盘手」仅主管/风控可操作
联赛管理联赛配置配置默认操盘手新赛事上架时自动应用

11.6.6 批量分配规则

批量操作时的特殊处理:

场景处理规则
选中赛事玩法不一致取所有赛事玩法的并集,未包含的玩法对该赛事自动跳过
部分赛事已有分配弹窗默认显示空,确认后覆盖原有分配
操盘手权限不覆盖所有联赛该操盘手对应的玩法在无权限赛事中标记为「权限不足」跳过

11.6.7 操盘手转移

当操盘手需要交接工作时,支持批量转移:

步骤用户操作系统响应
1筛选「操盘手=张三」的赛事列表显示张三负责的所有赛事
2全选或部分选中赛事批量操作栏显示
3点击「分配操盘手」打开分配弹窗
4配置新的操盘手分配支持按玩法+赛前/滚球分别配置
5确认分配批量更新,记录变更日志

11.6.8 分配冲突处理

冲突场景系统行为
联赛默认操盘手未配置「从联赛默认导入」按钮禁用,提示「联赛未配置」
目标操盘手已达负责上限弹窗警告,允许强制分配或选择其他操盘手
赛事已进入滚球阶段赛前操盘手列禁用(灰色),仅允许修改滚球操盘手

11.7 并发操作与竞态处理

多操盘手同时操作同一赛事时,系统需要处理并发冲突以保证数据一致性。

11.7.1 乐观锁机制

系统采用乐观锁策略处理并发冲突:

机制说明
版本号每条赛事/盘口记录包含version字段,每次更新自增
冲突检测提交时比对版本号,若与服务端不一致则判定冲突
冲突提示弹窗提示「数据已被他人修改,请刷新后重试」,提供刷新按钮
自动刷新冲突发生后,点击刷新按钮获取最新数据,操盘手需重新执行操作

11.7.2 并发场景处理

并发场景处理规则
同时上架同一赛事先提交者成功,后提交者收到「赛事已上架」提示
同时下架同一赛事先提交者成功,后提交者收到「赛事已下架」提示
同时更换操盘手先提交者成功,后提交者收到版本冲突提示需刷新
批量操作与单条操作冲突单条操作先完成则批量操作中该条跳过,汇总提示部分成功

11.7.3 WebSocket状态同步

同步机制说明
实时推送赛事状态变更通过WebSocket实时推送到所有在线客户端
增量更新仅推送变更字段,减少网络开销
本地状态刷新收到推送后自动刷新受影响行,无需手动刷新整页
离线重连断线重连后自动拉取增量更新,保证状态一致

修订记录

版本日期修订内容
v1.02026-01-15初稿
v1.12026-01-21【D1/D2决策对齐】1) 移除原型提示中"锁盘"引用;2) 11.1.2-11.1.4节移除"锁定"盘口初始状态选项,"暂停"改为默认;3) 11.1.3/11.1.6节操盘手改为必填;4) 11.3/11.4节盘口操作流程移至详情页,仅保留解锁后状态规则;5) VitePress语法转换;6) 章节重编号
v1.22026-01-21【功能归属修正】11.6节重写操盘手分配功能,明确在「联赛管理」和「操盘赛事列表」实现;补充分配模式(统一/按玩法)、穿梭框交互、操盘手转移、分配冲突处理
v1.32026-01-28【审计修正】新增11.7节并发操作与竞态处理,明确乐观锁机制、并发场景处理规则、WebSocket状态同步
v1.42026-01-2811.1.4节引用格式修正:「与10 10.2.3节」→「与第10章10.2.3节」
v1.52026-01-28【操盘手分配重构】11.6节重写为SSOT单一真源:1)移除「统一分配」模式,仅保留按玩法分配;2)每个玩法支持分别指定赛前操盘手和滚球操盘手;3)新增快捷操作(全部设为、赛前=滚球、从联赛默认导入);4)11.1.3节上架弹窗引用统一分配弹窗
v1.62026-02-11【A1架构修正】IM暂停不再改变本地状态,仅影响C端展示:1)11.1.4节「跟随数据源」描述修正为"IM暂停则C端显示暂停投注";2)11.1.2节上架弹窗口径同步;3)11.3.1节解锁后状态规则更新:暂停(跟随=是/否)均改为开盘,说明本地状态不变、C端显示差异;4)删除不跟随配置下的解锁选择对话框
v1.72026-02-12【下架联动隐藏】下架操作从"盘口变为锁定"改为"盘口变为隐藏(隐藏来源=system,详情=delist_link)":11.2.2节弹窗文案、11.2.3节关键规则和状态变化表同步更新

体育操盘系统产品文档