API: - 新增 player-messages 域:充值审核通过/拒绝、Banner/公告推广消息,支持多语言模板 - 新增 presence 域:Redis 心跳在线状态,管理端可查询在线玩家数 - User 表增加 visible_menus 字段;新增 player_messages 表及迁移 - 充值审核通过/拒绝时按系统配置自动写入玩家站内消息 - 管理端新增 GET /deposit-orders/pending-count、GET /presence/online-count - 玩家端新增消息 CRUD、presence/ping、home 返回 inbox 开关配置 - 员工管理支持 visibleMenus 配置与删除保护(不能删自己/最后超管) - SystemConfig 增加 inbox 功能开关及各类通知开关 Admin: - 员工管理:按角色默认菜单 + 可勾选可见菜单项 - ManageLayout:按 visibleMenus 过滤侧栏;充值待审数量角标轮询 - Contents:富文本编辑器、图片字段组件重构 - DashboardPlayers:展示在线玩家数;AdminPlayerStatusCell 在线状态列 - 多页面 i18n 与权限细节调整 Player: - 站内邮箱中心(InboxHub):消息列表/详情、未读角标、一键已读/删除 - 公告列表与详情页;走马灯可跳转详情 - 客服 Modal 改为 Panel,与邮箱 Hub 整合 - 充值状态轮询通知;presence 心跳;BetSlip 清空二次确认 - HomeView 今日赛事板块;FootballView 等体验优化 Shared: 新增 CANNOT_DELETE_SELF、STAFF_NOT_FOUND、MESSAGE_NOT_FOUND 等错误码 Docs: 玩家端缺失功能分析文档 Chore: 移除 .agents/skills 设计类 skill 文件 Co-authored-by: Cursor <cursoragent@cursor.com>
7.1 KiB
玩家端缺失功能分析
基于 PRD v1.2 要求 + 行业通用标准,对比当前代码实际实现情况
分析日期:2026-06-17
一、PRD 明确要求但尚未完整实现的功能
1. 首页「今日赛事」板块
PRD 4.4 节明确要求首页同时展示「热门赛事」和「今日赛事」两个板块。当前 HomeView.vue 只渲染了 hotMatches,缺少按当天开赛时间筛选的「今日赛事」列表。后端 /player/home 接口实际已返回 todayMatches 数据,前端未消费。
2. 公告详情页
PRD 17.2 节将公告定义为"可点击查看详情的完整内容",与走马灯(短文案滚动)是两种不同的内容形态。当前只有 AnnouncementMarquee 走马灯组件,点击后没有跳转到公告详情页查看完整正文。
3. 投注规则独立页面
PRD 3.3 节要求"投注规则说明必须三语,减少争议"。当前规则内容硬编码在 ProfileView.vue 的 5 段 i18n 翻译文本中(rules_p1 ~ rules_p5),不可由后台动态维护,也没有独立的规则页面。建议做成后台可编辑、前台可独立访问的规则中心页面。
二、业务闭环缺失的关键功能
4. 提款 / 出金
当前已实现充值(Recharge)全流程——银行转账、USDT、截图上传、审核、入账。但完全没有提款/出金功能。玩家赢了钱却无法主动申请提款,这在业务闭环上是最大的缺口。至少需要:提款申请页面、提款方式选择、金额输入、提款记录与状态追踪。
5. 注单结算/派彩通知
玩家下注后,赛事结算完成时没有任何主动通知机制。玩家只能反复刷"我的投注"才知道结果。需要:注单结算后推送通知(站内消息或 WebSocket 实时推送),至少在下注成功页和注单列表中有明确的"等待开奖"与"已开奖"状态区分。
6. 充值/提款状态通知
充值订单审核通过或被拒绝后,玩家没有收到即时通知。目前只能在充值历史页面手动查看状态变化。
三、体验层面的缺失功能
7. 赛事 / 球队搜索
当前赛事浏览路径只有:联赛筛选 → 时间筛选 → 列表滚动。当赛事数量多时,玩家无法通过关键词搜索球队名或联赛名快速定位比赛。需要在赛事列表页或首页增加搜索框。
8. 投注单清空确认
BetSlipDrawer 中清空投注单没有二次确认弹窗,容易误操作导致已选择的投注项丢失。
9. 投注单赔率实时更新提示
PRD 7.3 节要求"赔率已变化,拒绝下注,提示重新确认"。当前提交时校验赔率版本会报错,但在投注单停留期间没有实时检测赔率变化并主动标记(如高亮变化项、显示新旧赔率对比),玩家只有在点提交时才知道赔率变了。
10. 盘口封盘倒计时
赛事列表和详情页没有显示距离封盘的倒计时。玩家不知道赛事何时关闭投注,影响下注决策。
11. 快捷金额按钮自定义
PRD 4.3 节桌面端布局提到"快捷投注金额"。当前 BetSlipDrawer 中有固定的快捷金额按钮(Min/5、+50、+100、Max),但不能由后台配置或让玩家自定义。
12. 我的投注 - 按赛事/时间筛选
MyBetsView 目前支持按状态筛选(全部/赢/输/待结算/走水),缺少按赛事、按时间范围筛选的能力,注单多了之后查找困难。
13. 注单详情页 - 缺少分享/截图功能
玩家无法分享或保存注单截图。在社交平台传播场景中,注单截图是常见的拉新素材。
四、安全与合规相关缺失
14. 负责任博彩 / 自我限额
PRD 18.1 节提到玩家每日投注上限和派彩上限由后台配置,但前台没有向玩家展示当前限额使用情况(如"今日已投注 X / 上限 Y"),也没有自我设置存款限额、投注限额、冷静期等负责任博彩工具。对于面向合法市场的平台,这通常是合规要求。
15. 登录安全 - 缺少二次验证
玩家端登录只有密码 + 人机验证(RobotVerify),没有可选的短信验证码二次验证或 TOTP,安全性偏弱。
16. 会话管理
玩家无法查看当前活跃会话(哪些设备在登录),也无法远程踢出其他设备的会话。
五、运营与增长相关缺失
17. 邀请好友入口
后端已有完整的邀请码系统(生成邀请码、设置返水比例、邀请列表、撤销),但玩家前台没有"邀请好友"入口页面,无法查看自己的邀请码、邀请链接、邀请记录和奖励。
18. 活动 / 优惠专区
没有活动页面或优惠专区。运营无法通过前台展示限时活动、新人奖励、充值优惠等信息。目前只能依赖 Banner 和公告,缺乏独立的活动落地页。
19. VIP / 等级体系
没有玩家等级体系。成熟平台通常根据投注量、充值额等划分 VIP 等级,不同等级享受不同返水比例、专属客服、提款加速等权益。
六、数据辅助功能缺失
20. 赛事数据 / 历史战绩
赛事详情页只展示盘口和赔率,没有历史交锋记录、球队近期战绩、联赛积分榜等辅助数据。这些数据可以帮助玩家做投注决策,也是提升用户粘性的手段。
21. 投注统计 / 个人报表
虽然有 BetStatsPanel 显示注单数/赢/输/待结算的基础统计,但缺少更丰富的个人投注报表:按时间段统计、按玩法统计、盈亏趋势图、返水收入统计等。
七、其他体验优化建议
| 编号 | 功能 | 说明 |
|---|---|---|
| 22 | 赛事收藏 / 关注 | 玩家可以收藏感兴趣的赛事,快速筛选查看 |
| 23 | 多赔率格式切换 | PRD 二期提到支持 Decimal/Malay/HK/Indo/American 格式,当前只有十进制 |
| 24 | PWA / 添加到主屏幕 | 移动端 H5 支持 PWA 安装提示,提升留存 |
| 25 | 网络状态提示 | 弱网或断网时显示明确提示,避免下注失败无感知 |
| 26 | 暗色/亮色主题切换 | 当前只有深色主题,没有亮色模式 |
| 27 | 系统公告弹窗 | 维护、重大赛事等场景的全屏弹窗通知,目前只有走马灯 |
| 28 | 盘口排序偏好 | 允许玩家调整盘口分组默认排序(如把让球放在独赢前面) |
优先级建议
P0 - 必须补齐(影响业务闭环):
- 提款功能(#4)
- 邀请好友入口(#17)— 后端已就绪,只差前端页面
- 注单结算通知(#5)
P1 - 高优先级(影响核心体验):
- 今日赛事板块(#1)— 后端数据已有,前端未消费
- 赛事搜索(#7)
- 投注规则独立页面(#3)
- 公告详情页(#2)
- 负责任博彩 / 限额展示(#14)
P2 - 中优先级(体验优化):
- 盘口封盘倒计时(#10)
- 赔率变化实时标记(#9)
- 注单筛选增强(#12)
- 投注单清空确认(#8)
- 充值/提款状态通知(#6)
P3 - 低优先级(长期迭代):
- VIP 等级体系(#19)
- 活动专区(#18)
- 赛事数据/历史战绩(#20)
- 多赔率格式(#23)
- PWA(#24)