# Xóc Đĩa 游戏后台管理使用指南 ## 目录 1. [快速开始](#快速开始) 2. [数据库初始化](#数据库初始化) 3. [房间配置管理](#房间配置管理) 4. [期号管理流程](#期号管理流程) 5. [实时监控](#实时监控) 6. [常见问题](#常见问题) --- ## 快速开始 ### 访问地址 - **房间配置管理**: `http://yourdomain.com/admin/xocdia/rooms` - **期号管理**: `http://yourdomain.com/admin/xocdia/periods` - **实时监控**: `http://yourdomain.com/admin/xocdia/monitor?room_id=1` ### 前置条件 1. 已完成系统安装(`/install`) 2. 已创建管理员账号并登录后台 3. 已执行数据库初始化脚本 --- ## 数据库初始化 ### 步骤1:导入数据库表结构 连接到 MySQL 数据库,执行以下命令: ```bash mysql -u your_username -p your_database < Db/xocdia_schema.sql ``` 或者通过 phpMyAdmin 导入 `Db/xocdia_schema.sql` 文件。 ### 步骤2:验证表是否创建成功 ```sql SHOW TABLES LIKE 'xd_%'; ``` 应该看到以下表: - `xd_room_config` - 房间配置表 - `xd_periods` - 期号表 - `xd_bets` - 投注记录表 - `xd_settlements` - 结算汇总表 - `xd_bet_stats` - 实时投注统计表 ### 步骤3:查看默认房间 数据库初始化时已自动创建两个默认房间: ```sql SELECT room_id, room_name, room_type FROM xd_room_config; ``` - **Room 1**: Bàn Thu Phế (抽水台) - 标准抽水 5% - **Room 2**: Bàn Xâu 3 Đen (免水台) - 特殊规则,3红1白时退款 --- ## 房间配置管理 ### 访问房间列表 1. 登录后台后,访问 `/admin/xocdia/rooms` 2. 可以看到所有房间的列表 ### 创建新房间 **注意**:当前版本暂不支持通过界面创建房间,请直接修改数据库或复制以下 SQL: ```sql INSERT INTO xd_room_config (room_id, room_name, room_type, odds, limits, timing) VALUES ( 3, -- 新房间ID '高级房', -- 房间名称 'commission', -- 房间类型 JSON_OBJECT( 'even', 1.0, 'odd', 1.0, 'four_red', 12.0, -- 可自定义赔率 'four_white', 12.0, 'three_red', 4.0, 'three_white', 4.0 ), JSON_OBJECT( 'min_bet', 100, -- 最小投注 'max_bet', 100000, -- 最大投注 'max_payout', 1000000 ), JSON_OBJECT( 'betting_duration', 60, -- 下注时长60秒 'result_display_duration', 10, 'auto_start_next', true ) ); ``` ### 编辑房间配置 #### 方式1:通过后台界面 1. 在房间列表点击"编辑"按钮 2. 修改以下配置项: **基本设置** - 房间名称 - 房间类型(抽水台/免水台) - 抽水比例(仅抽水台) **赔率配置** - 双 (Chẵn) - 默认 1.0 - 单 (Lẻ) - 默认 1.0 - 4红 - 默认 10.0 - 4白 - 默认 10.0 - 3红1白 - 默认 3.5 - 3白1红 - 默认 3.5 **限红配置** - 最小投注:建议 10-100 - 最大投注:建议 50000-100000 - 最大赔付:建议 500000-1000000 **时间配置** - 下注时长:建议 30-60 秒 3. 点击"保存配置" #### 方式2:直接修改数据库 ```sql -- 修改赔率 UPDATE xd_room_config SET odds = JSON_OBJECT( 'even', 1.0, 'odd', 1.0, 'four_red', 15.0, -- 修改赔率 'four_white', 15.0, 'three_red', 5.0, 'three_white', 5.0 ), version = version + 1 -- 版本号加1 WHERE room_id = 1; ``` ### 配置生效时机 ⚠️ **重要**:配置修改后,**下一期号开始时**才会生效。 - 当前正在进行的期号使用"配置快照",不受影响 - 新开始的期号会读取最新配置 ### 开放/关闭房间 1. 在房间列表点击"开放"或"关闭"按钮 2. 关闭的房间无法开始新期号 --- ## 期号管理流程 ### 完整流程图 ``` 开始新期号 → 下注阶段 (30-60s) → 封盘 → 开奖 → 自动结算 → 展示结果 → 完成 ``` ### 步骤1:开始新期号 1. 访问 `/admin/xocdia/periods` 2. 选择房间 3. 点击"开始新期号"按钮 **自动执行的操作**: - 生成期号(格式:`YYYYMMDD-001`) - 快照当前房间配置 - 初始化投注统计表 - 设置状态为 `betting` ### 步骤2:下注阶段 此时前台用户可以下注。 **管理员可以**: - 实时查看投注统计(访问监控页面) - 手动封盘(提前结束下注) **自动封盘**: - 如果配置了倒计时,到时间后自动封盘(需 WebSocket 支持) ### 步骤3:封盘 1. 在期号列表找到状态为"下注中"的期号 2. 点击"封盘"按钮 **自动执行的操作**: - 设置状态为 `shaking` - 记录封盘时间 - 拒绝新的投注请求 ### 步骤4:开奖 1. 在期号列表找到状态为"摇碟中"的期号 2. 点击"开奖"按钮 3. 在弹窗中选择 4 枚硬币的结果: - **1 = 红色 (Đen)** - **0 = 白色 (Trắng)** **示例结果**: - `[1, 1, 1, 0]` = 3红1白 = `3_red_1_white` - `[1, 1, 1, 1]` = 4红 = `4_red` - `[0, 0, 0, 0]` = 4白 = `4_white` 4. 点击"确认开奖并结算" ### 步骤5:自动结算 开奖后,系统自动执行以下操作: 1. **判断输赢** - 遍历所有投注记录 - 根据开奖结果判断是否赢 2. **计算赔付** - 赢的投注:`赢得金额 = 投注金额 × 赔率` - 输的投注:`净盈亏 = -投注金额` 3. **应用佣金**(仅抽水台) - `佣金 = 赢得金额 × 佣金率` - `净盈亏 = 赢得金额 - 佣金` 4. **应用特殊规则**(仅免水台) - 检查是否触发特殊规则(如 3红1白) - 如果触发: - `action=refund`: 退款,净盈亏 = 0 - `action=half_win`: 只赢一半 - `action=lose`: 强制输 5. **更新余额** - 更新所有玩家的余额 - 记录交易流水 6. **生成结算汇总** - 总投注笔数 - 总投注金额 - 总赢得金额 - 总佣金 - **庄家盈利** = 总投注额 - (总赢得金额 - 总佣金) 7. **完成** - 设置状态为 `showing` ### 步骤6:查看结算详情 1. 点击期号的"详情"按钮 2. 查看: - 开奖结果 - 投注统计 - 结算数据 - 庄家盈亏 --- ## 实时监控 ### 访问监控页面 ``` /admin/xocdia/monitor?room_id=1 ``` ### 监控内容 1. **当前期号信息** - 期号 - 状态 - 倒计时(如果在下注阶段) 2. **实时投注统计**(需要数据库触发器或定时刷新) - 各投注项的金额 - 各投注项的笔数 - 单边倾斜预警 3. **赔付预测** - 如果结果是 X,庄家盈亏多少 - 最差情况/最佳情况分析 --- ## 常见问题 ### Q1: 配置修改后为什么还是旧的赔率? **答**:当前期号使用的是"配置快照",修改不会影响正在进行的期号。新期号开始后才会使用新配置。 --- ### Q2: 如何验证结算是否正确? **答**:可以手动计算验证: ```sql -- 查看某期号的结算汇总 SELECT * FROM xd_settlements WHERE period_id = 123; -- 查看详细投注记录 SELECT bet_type, COUNT(*) as count, SUM(bet_amount) as total_bet, SUM(win_amount) as total_win, SUM(commission) as total_commission, SUM(net_profit) as total_profit FROM xd_bets WHERE period_id = 123 GROUP BY bet_type; ``` 验证公式: ``` 庄家盈利 = 总投注额 - (总赢得金额 - 总佣金) = 总投注额 - 玩家净盈亏总和 ``` --- ### Q3: 如何处理误操作开奖? **答**:当前版本不支持撤销开奖。如果误操作: 1. **紧急方案**:直接修改数据库 ```sql -- 回滚期号状态(谨慎操作!) UPDATE xd_periods SET state = 'shaking', result = NULL WHERE id = 123; -- 删除结算记录 DELETE FROM xd_settlements WHERE period_id = 123; -- 回滚投注记录 UPDATE xd_bets SET status = 'pending', is_win = 0, win_amount = 0, commission = 0, net_profit = 0 WHERE period_id = 123; -- 手动调整受影响用户的余额(需逐个计算) ``` 2. **推荐方案**:联系技术团队处理 --- ### Q4: 特殊规则如何配置? **答**:修改 `special_rule` 字段(JSON 格式): ```sql UPDATE xd_room_config SET special_rule = JSON_OBJECT( 'enabled', true, 'trigger_result', '3_red_1_white', -- 触发条件:3红1白 'affected_bet_types', JSON_ARRAY('odd'), -- 影响的投注类型 'action', 'refund', -- 动作:refund/half_win/lose 'refund_percentage', 1.0 -- 退款比例(1.0=100%) ), version = version + 1 WHERE room_id = 2; ``` **常见配置示例**: | 规则名称 | trigger_result | affected_bet_types | action | refund_percentage | |---------|----------------|-------------------|--------|------------------| | Xâu 3 Đen 全退款 | 3_red_1_white | ['odd'] | refund | 1.0 | | Xâu 3 Đen 半退款 | 3_red_1_white | ['odd'] | refund | 0.5 | | Xâu 3 Đen 只赢一半 | 3_red_1_white | ['odd'] | half_win | - | | Xâu 3 Đen 强制输 | 3_red_1_white | ['odd'] | lose | - | --- ### Q5: 如何查看房间盈亏统计? **答**:执行以下 SQL: ```sql -- 查看某房间今日盈亏 SELECT SUM(house_profit) as total_profit, SUM(total_bets_amount) as total_bets, SUM(total_commission) as total_commission, COUNT(*) as period_count FROM xd_settlements WHERE room_id = 1 AND settled_at >= CURDATE(); -- 查看某房间历史盈亏(按日统计) SELECT DATE(settled_at) as date, COUNT(*) as period_count, SUM(total_bets_amount) as total_bets, SUM(house_profit) as total_profit FROM xd_settlements WHERE room_id = 1 GROUP BY DATE(settled_at) ORDER BY date DESC LIMIT 30; ``` --- ### Q6: 如何备份游戏数据? **答**:定期备份以下表: ```bash # 备份所有 Xóc Đĩa 相关表 mysqldump -u username -p database_name \ xd_room_config \ xd_periods \ xd_bets \ xd_settlements \ xd_bet_stats \ > xocdia_backup_$(date +%Y%m%d).sql ``` --- ## 后续开发建议 ### 高优先级 1. **WebSocket 集成** - 实时推送游戏状态变化 - 自动倒计时 - 实时投注更新 2. **自动化流程** - 定时自动开始新期号 - 定时自动封盘 - 定时自动开奖(如接入硬件设备) 3. **风险控制** - 单边预警(投注严重倾斜时提醒) - 异常投注检测 - 最大赔付限制 ### 中优先级 4. **数据分析** - 房间盈亏报表 - 用户投注习惯分析 - 热门玩法统计 5. **用户体验优化** - 投注历史查询 - 开奖历史走势图 - 房间排行榜 ### 低优先级 6. **高级功能** - 多语言支持(越南语/中文/英文) - 移动端适配 - API 接口文档 --- ## 技术支持 如有问题,请参考: - 后端逻辑设计:`/path/to/architecture_design.md` - 数据库表结构:`Db/xocdia_schema.sql` - 控制器代码:`App/Controllers/Admin/Xocdia*.php` --- **最后更新**: 2026-01-08 **文档版本**: 1.0.0