功能更新与UI优化:游戏图标移除、用户名片修复、婚礼红包界面重设计

- 移除聊天室右下角浮动游戏图标(占卜、百家乐、赛马、老虎机)
- 用户名片按钮区:修复已婚/已好友时按钮换行问题,统一单行显示
- 婚礼红包弹窗:重设计为喜庆鲜红背景,领取按钮改为圆形米黄样式
- 新增婚礼红包恢复接口(/wedding/pending-envelopes),刷新后自动恢复领取按钮
- 修复 Alpine :style 字符串覆盖静态 style 导致圆形按钮失效的问题
- 撤职后用户等级改为根据经验值重新计算,不再无条件重置为1
- 管理员修改用户经验值后自动重算等级,有职务用户等级锁定
- 娱乐大厅钓鱼游戏按钮直接调用 startFishing() 简化操作流程
- 新增赛马、占卜、百家乐游戏及相关后端逻辑
This commit is contained in:
2026-03-03 23:19:59 +08:00
parent 602dcd7cf1
commit f45483bcba
32 changed files with 3746 additions and 370 deletions
+22 -31
View File
@@ -43,43 +43,34 @@
- **货币来源**`CurrencySource::MYSTERY_BOX` / `MYSTERY_BOX_TRAP`(含 `room_id` 流水记录)
- **后台配置**`game_configs` 表,可配置开关/自动投放间隔/各奖励范围/陷阱概率;支持手动投放三种类型
---
## 🕐 待开发
### 🐎 赛马竞猜(Horse Racing
**核心玩法**:定时举办赛马,用户押注马匹,按注池赔率结算,跑马过程 WebSocket 实时播报
**待开发清单:**
- [ ] 数据库`horse_races`(场次)+ `horse_bets`(下注记录
- [ ] 模型`HorseRace` / `HorseBet`
- [ ] 队列 Job`OpenHorseRaceJob`(开赛广播)+ `RunHorseRaceJob`(每秒播报马匹进度)+ `CloseHorseRaceJob`(结算)
- [ ] 事件:`HorseRaceOpened` / `HorseRaceProgress` / `HorseRaceSettled`PresenceChannel
- [ ] 控制器:`HorseRaceController`(当前场次/下注/历史)
- [ ] 调度器:按配置间隔开赛
- [ ] 前端:`chat/partials/horse-race.blade.php`(马匹赛道动画/实时进度条/注池赔率显示)
- [ ] 货币来源:`CurrencySource::HORSE_BET` / `HORSE_WIN`
- [ ] 配置参数:`interval_minutes` / `bet_window_seconds` / `race_duration` / `horse_count` / `min_bet` / `max_bet` / `house_take_percent`
---
- **类型**:定时自动开局(调度器每分钟检查,间隔可配置)
- **数据库**`horse_races` + `horse_bets`
- **模型**`HorseRace` / `HorseBet`
- **队列 Job**`OpenHorseRaceJob`(开赛广播)+ `RunHorseRaceJob`(每秒播报马匹进度 + 确定胜者)+ `CloseHorseRaceJob`(结算)
- **事件**`HorseRaceOpened` / `HorseRaceProgress` / `HorseRaceSettled`PresenceChannel 广播
- **控制器**`HorseRaceController``/horse-race/current` / `/horse-race/bet` / `/horse-race/history`
- **广播**`horse.opened` / `horse.progress` / `horse.settled`
- **前端**`chat/partials/horse-race-panel.blade.php`(倒计时/赛马道动画/实时赔率/可拖动FAB
- **货币来源**`CurrencySource::HORSE_BET` / `HORSE_WIN`
- **后台配置**`game_configs` 表,马匹数量/押注窗口/跨马时长/庄家抓水比例均可配置
### 🔮 神秘占卜(Fortune Telling
**核心玩法**:每日免费占卜,系统生成玄学签文并给予当日加成;付费可多次
- **类型**:玩家主动使用(每日免费 N 次,额外次数消耗金币)
- **数据库**`fortune_logs`
- **模型**`FortuneLog`55+ 条签文内嵌在模型中)
- **控制器**`FortuneTellingController``/fortune/today` 查今日 / `/fortune/tell` 占卜 / `/fortune/history` 历史)
- **前端**`chat/partials/fortune-panel.blade.php`(卦象摇动动画/签文卡片/当日加成状态/可拖动FAB)
- **每日限制**:免费 N 次(可配置),额外次数消耗金币
- **广播**:暂无实时广播(占卜结果仅展示给本人)
- **货币来源**`CurrencySource::FORTUNE_COST`
- **后台配置**`game_configs` 表,免费次数/额外消耗/各签概率均可配置
**待开发清单:**
---
- [ ] 数据库:`fortune_logs`(占卜记录,含签文和当日 buff 效果)
- [ ] 模型:`FortuneLog`
- [ ] 占卜库:预设 50+ 条签文(上上签/上签/中签/下签/大凶签),带对应加成描述
- [ ] 控制器:`FortuneTellingController``/fortune/today` 查今日 / `/fortune/tell` 占卜)
- [ ] 前端:`chat/partials/fortune-panel.blade.php`(卦象动画/签文卡片/今日加成状态)
- [ ] 每日限制:免费1次,额外次数扣金币
- [ ] Buff 系统(可选扩展):占卜结果影响当日经验/金币获取倍率(需修改自动存点逻辑)
- [ ] 货币来源:`CurrencySource::FORTUNE_COST`
- [ ] 配置参数:`free_count_per_day` / `extra_cost` / 各签概率
## 🕐 待开发
---
@@ -87,7 +78,7 @@
- [ ] 后台游戏管理页面(`/admin/game-configs`)显示各游戏实时统计数据
- [ ] 各游戏历史记录在后台可查(管理员视角)
- [ ] 生产环境部署:`php artisan db:seed --class=GameConfigSeeder`(初始化游戏配置)
- [ ] 生产环境部署:`php artisan db:seed --class=GameConfigSeeder`(初始化游戏配置) 已经完成了
- [ ] 百家乐/老虎机 全面测试(多用户并发下注)
---