Appearance
第十六章 异常与边界处理
16.1 页面级异常
| 场景 | 页面表现 | 提示文案 |
|---|---|---|
| 列表加载失败 | 全页错误提示 + 重试按钮 | 「加载失败,请重试」 |
| 网络超时 | 全页错误提示 + 重试按钮 | 「请求超时,请检查网络连接」 |
| 数据源离线 | 顶部红色提示条(不阻断操作) | 「数据源离线,部分赛事数据暂未更新」 |
16.2 列表空态
| 场景 | 提示文案 |
|---|---|
| 筛选结果为空 | 「没有找到符合条件的赛事」+ 清空筛选按钮 |
| 搜索无结果 | 「未找到匹配的赛事」 |
| 注单视图无注单 | 「当前筛选条件下无注单数据」 |
16.3 操作级异常
| 场景 | 行为 |
|---|---|
| 结算提交失败 | 弹窗保留,展示错误原因 + 重试按钮 |
| 二次结算提交失败 | 弹窗保留,展示错误原因 + 重试按钮 |
| 分配提交失败 | 弹窗展示失败赛事清单 |
| 异常处理失败 | 弹窗保留,展示错误原因 + 重试按钮 |
16.4 并发与竞态
结算提交契约(主规则):所有结算提交操作(盘口人工结算 / L2 确认 / 盘口二次结算 / 批量分配等)均遵循 结算详情页 第 19.3.2 节 系统一致性保障 定义的操作版本号 + 操作去重约定。业务规则以 第 19.3.2 节 为主,settle 端遵循并复用。
并发控制完整机制(操作版本校验 + 500ms 请求去重窗口)详见结算详情页 15.6c 和 19.3。列表侧 UX 表现如下:
| 场景 | 行为 |
|---|---|
| 两个结算人员同时结算同一盘口 | 系统按操作版本校验:先提交的生效,后提交的返回「该盘口已被他人操作,请刷新后重试」 |
| 结算人员结算时盘口被二次结算 | 弹窗提示「该盘口状态已变更,请刷新后重试」 |
| 同一用户网络抖动双发请求 | 500ms 内同一操作标识仅执行 1 次(防重复保护,避免重复派彩) |
| 赛事状态变更时用户正在操作 | 弹窗提交时系统校验操作版本,不一致返回「数据已变更,请刷新」;弹窗关闭后用户需重新进入操作(对齐 第 19.3.2 节 版本号机制) |
16.5 大数据量
| 场景 | 行为 |
|---|---|
| 赛事超过 500 场 | 通过分页控制,每页最多 50 条 |
| 注单超过 10000 笔 | 通过分页控制,每页最多 100 条 |
| 串关展开子单超过 10 个 | 面板内滚动展示 |
16.6 视图切换边界
| 场景 | 行为 |
|---|---|
| 切换视图时有未提交的操作 | 切换前无操作需保存,直接切换 |
| 从结算详情页返回 | 回到离开时的视图和筛选状态 |
| 从注单视图跳转结算详情页再返回 | 同上 |