|
|
60cec0276b
|
feat: 名片支持展示存款信息并适配弹窗宽度
|
2026-03-21 08:29:29 +08:00 |
|
|
|
7bf9d18b33
|
补充金币发放/赠送接口的中文验证提示语,防止前端显示 validation.max.numeric
|
2026-03-18 21:54:20 +08:00 |
|
|
|
5f4abc5152
|
放大金币发放/赠送的最大额度至 999999999;同步后端允许平级用户互相执行管理操作
|
2026-03-18 21:53:05 +08:00 |
|
|
|
363a0145d9
|
记录所有人在线时长:允许 user_position_id 为空,移除记录日志时的职务判断
|
2026-03-18 21:44:53 +08:00 |
|
|
|
72bcb73351
|
修复后台在职登录日志统计:计算所有在职记录之和,而非仅计算当前分页
|
2026-03-18 21:36:12 +08:00 |
|
|
|
c9cab898c2
|
勤务榜只统计已关闭记录(whereNotNull logout_at);清理今日重复坏数据
|
2026-03-18 21:31:44 +08:00 |
|
|
|
f3579ae9fe
|
修复勤务日榜时长膨胀:重建session时用now()而非旧in_time,补updated_at刷新防误关,视图标签改为所有
|
2026-03-18 21:17:02 +08:00 |
|
|
|
42beed5c93
|
修复勤务日榜在线时长:CASE WHEN 实时算 open session 时长;关闭 stale 日志时补算 duration_seconds
|
2026-03-18 21:03:36 +08:00 |
|
|
|
340cbe8784
|
赠金币通知:发送者/接收者在包厢窗口显示,其他人在公屏显示(利用 to_user 路由机制)
|
2026-03-18 20:46:18 +08:00 |
|
|
|
d7a575d8c8
|
新增银行功能:存取金币、流水记录、PC/手机端双入口;迁移 bank_jjb 字段和 bank_logs 表
|
2026-03-18 20:31:19 +08:00 |
|
|
|
0ca028f73d
|
新增赠送金币功能:任意用户可从自己余额赠送金币给他人,成功后聊天室系统传音广播;职务奖励金币移入管理区,删除管理区私信按钮
|
2026-03-18 20:12:17 +08:00 |
|
|
|
c8ebbc750e
|
百家乐后台统计:新增会员输掉金币总数卡片
|
2026-03-17 20:35:15 +08:00 |
|
|
|
7804adc54a
|
新增掉线自动结算命令并修复跨天日志归零问题
- 新建 CloseStaleDutyLogs 命令:每 15 分钟扫描无心跳开放日志自动关闭
- 注册调度 duty:close-stale-logs everyFifteenMinutes
- 修复 closeDutyLog:跨天遗留日志保留 duration_seconds,不再硬归零
|
2026-03-17 20:27:04 +08:00 |
|
|
|
daeef0af0b
|
五子棋:通知文本去掉多余的 🌟 前缀
|
2026-03-12 17:02:19 +08:00 |
|
|
|
4a759802dc
|
五子棋:通知改用「系统传音」去掉「大声宣告说:」前缀,与赛马/百家乐风格一致
|
2026-03-12 16:55:55 +08:00 |
|
|
|
a225609cea
|
五子棋通知:统一为【五子棋】标题格式,与赛马通知风格一致
|
2026-03-12 16:47:40 +08:00 |
|
|
|
b2e54aafdb
|
五子棋:AI 获胜(玩家输局)时也向聊天室发送系统广播通知
|
2026-03-12 16:44:16 +08:00 |
|
|
|
106dc7f852
|
五子棋胜利发送系统公告,金币流水增加前缀
|
2026-03-12 15:59:24 +08:00 |
|
|
|
78564e2a1d
|
feat: 增加自定义头像上传、自动压缩与自动清理功能,统一全站头像路径读取逻辑
|
2026-03-12 15:26:54 +08:00 |
|
|
|
d827c8a1df
|
fix: 修复后台求婚记录列表未显示已成功和已离婚记录的问题
|
2026-03-12 12:33:28 +08:00 |
|
|
|
0ab0483603
|
feat: 完成独立的邀请与达人榜系统架构
|
2026-03-12 09:33:38 +08:00 |
|
|
|
af1d1c5ace
|
fix(chat): 修正双色球统计开奖期数及奖池时使用了错误的 status 条件
|
2026-03-12 09:06:24 +08:00 |
|
|
|
f614e07b8f
|
fix(chat): 修正五子棋查询状态字段为 mode
|
2026-03-12 08:53:23 +08:00 |
|
|
|
289b79affe
|
feat(chat): 增加五子棋的后台历史记录查阅面板与统计展示
|
2026-03-12 08:52:33 +08:00 |
|
|
|
a6b0c24b66
|
fix(chat): 修正彩票历史记录及明细页中 prize_pool / tickets_count 引用的字段名错误
|
2026-03-12 08:50:23 +08:00 |
|
|
|
9e1e5fb7db
|
feat(chat): 完善后台彩票游戏的历史总览、期号列表及单期购买明细页面
|
2026-03-12 08:48:30 +08:00 |
|
|
|
1c42f05e20
|
feat(chat): 完善五子棋功能,包含AI对战、PvP邀请、断线重连及界面美化
|
2026-03-12 08:35:21 +08:00 |
|
|
|
b9c703b755
|
重构:将聊天室所有原生弹窗替换为全局弹窗,公告增加发送者与时间
- 将设公告、公屏讲话、全员清屏按钮弹窗改为使用 window.chatDialog 全局弹窗
- 所有弹窗改用 .then() 回调注册事件,避免 async/await 行为不一致问题
- 公告内容末尾追加「——发送者 MM-dd HH:mm」,无需新增数据库字段
- 前端编辑公告时自动剥离末尾元信息,用户仅编辑纯内容
- 修复 red-packet-panel.blade.php 中 3 处原生 alert() 残留
- 修复 shop-panel.blade.php 中购买确认 confirm() 原生弹窗残留
|
2026-03-12 07:33:32 +08:00 |
|
|
|
174ee8241d
|
重构:提取 calculateNewLevel() 私有方法,增加在职职务等级保护逻辑
|
2026-03-12 06:52:40 +08:00 |
|
|
|
529a59551c
|
修复(chat): 新增真实 IP 获取中间件及重构用户 IP 轨迹追踪逻辑
- 新增 CloudflareProxies 前置中间件,强制解析 CDN 透传的 CF-Connecting-IP 与 X-Real-IP 并在底层接管,修复 Nginx 代理造成的全局 IP 同化 (127.0.0.1) 问题
- 修改 User 模型,新增 migration 以补全真正的 previous_ip 储存通道
- 修改 AuthController 登录逻辑,在覆写 last_ip 前实现向 previous_ip 的自动历史快照备份
- 修改 UserController API 返回逻辑,实现 first_ip、last_ip(上次)以及 login_ip(本次)的三轨分离
- 更新 user-actions.blade.php 管理员视野面板,同步增加并校验“首次IP”、“上次IP”、“本次IP”三级字段映射的准确性
|
2026-03-09 11:53:58 +08:00 |
|
|
|
bfb1a3bca4
|
重构(chat): 聊天室 Partials 第二阶段分类拆分及修复红包弹窗隐藏 Bug
- 完成对 scripts.blade.php 中非核心业务逻辑(钓鱼游戏、AI机器人、系统全局公告)的深度抽象隔离
- 修复抢红包逻辑中 setInterval 缺失时间参数(1000)引发浏览器前端主线程挂起的重度阻塞问题
- 修复 lottery-panel 组件结尾漏写 </div> 导致的连锁级渲染树崩溃(该崩溃导致红包节点被意外当作隐藏后代节点渲染,造成彻底不可见)
- 对相关模板规范代码结构,执行 Laravel Pint 格式化并提交
|
2026-03-09 11:30:11 +08:00 |
|
|
|
ca639ddd37
|
修复:AI 接口测试改用 GET /v1/models,毫秒级响应,避免 Cloudflare 524 超时
原方案发起真实推理请求(需 16~20s),经 Cloudflare 代理时触发超时。
改为查询模型列表端点(毫秒级),同时验证连通性和 API Key 有效性,
并显示该厂商的可用模型列表(兼容 Ollama / OpenAI 格式)。
|
2026-03-06 03:35:11 +08:00 |
|
|
|
318eb6f234
|
新增:AI 接口连通性测试功能;修复:Ollama 超时问题
- 后台 AI 厂商列表新增「⚡ 测试」按钮,实时验证接口连通性
- 显示响应耗时(含冷启动)和模型返回内容
- AiChatService 请求超时从 30s 调整为 120s(兼容 Ollama 本地冷启动)
- 测试接口超时设为 60s
|
2026-03-06 03:29:13 +08:00 |
|
|
|
b13861c869
|
新增:双色球彩票后台管理(阶段三)
🎛️ 后台游戏配置页
- lottery 参数标签完整配置(14个参数分组展示)
开奖时间/购票限制/奖池分配/固定小奖/超级期
- 双色球专属手动操作区(仿神秘箱子风格)
✅ 当前期次状态展示(实时加载)
✅ 手动开新期(含确认弹窗)
✅ 强制立即开奖(含二次确认防误触)
🔌 后台接口
- POST /admin/lottery/open-issue 手动开期
- POST /admin/lottery/force-draw 强制开奖
- GameConfigController 新增两个 JsonResponse 方法
📋 全局开关
- 与所有现有游戏一致,后台 toggle 即时生效(60s缓存刷新)
- 默认关闭,管理员开启后调度器自动接管
|
2026-03-04 15:47:09 +08:00 |
|
|
|
27371fe321
|
新增:双色球彩票系统后端基础(阶段一)
📦 数据库
- lottery_issues(期次表)
- lottery_tickets(购票记录表)
- lottery_pool_logs(奖池流水表,透明展示)
🔩 核心组件
- LotteryIssue / LotteryTicket / LotteryPoolLog 完整 Model
- LotteryService:购票/机选/开奖/奖池派发/滚存/超级期预热/公屏广播
- LotteryController:current/buy/quickPick/history/my 五个接口
- DrawLotteryJob(每日定时开奖)/ OpenLotteryIssueJob(初始化首期)
💰 货币日志
- CurrencySource 新增 LOTTERY_BUY / LOTTERY_WIN
- 所有金币变动均通过 UserCurrencyService::change() 记录流水
🗓️ 调度器
- 每分钟检查停售/开奖时机
- 每日 18:00 超级期预热广播
🔧 配置
- GameConfigSeeder 追加 lottery 默认配置(默认关闭)
- /games/enabled 接口追加 lottery 开关状态
- 新增 /lottery/* 路由组(auth 保护)
|
2026-03-04 15:38:02 +08:00 |
|
|
|
040dbdef3c
|
优化:全站金币图标由 🪙(银灰色)统一替换为 💰(金黄色)
🪙 在多数平台/字体上渲染为银灰色,与「金币」语义不符;
💰 各平台均渲染为金黄色,更直观传达金币概念。
涉及文件(43处):
- app/Jobs:百家乐、赛马结算广播
- app/Http/Controllers:管理员命令、红包、老虎机、神秘箱子
- app/Listeners
- resources/views:聊天室各游戏面板、商店、toolbar、后台页面等
|
2026-03-04 15:00:02 +08:00 |
|
|
|
b62a9f6240
|
功能:后台游戏历史记录查询中心 + 游戏管理页实时统计
- 新增 GameHistoryController,提供各游戏历史记录查询接口
- 百家乐:局次列表 + 单局下注明细(含结果分布统计)
- 老虎机:转动记录含图案分布,支持结果类型/玩家名筛选
- 赛马:场次列表 + 单场下注明细(含马匹信息展示)
- 神秘箱子:投放/领取历史,支持箱子类型/领取状态筛选
- 神秘占卜:签文等级分布统计 + 历史记录,支持等级/玩家名筛选
- 新增 /admin/game-history/ 路由组(stats + 各游戏历史 + 单局详情共9条路由)
- 游戏管理页(/admin/game-configs)优化:
- 每个游戏卡片新增「📋 历史记录」直达按钮
- 新增「📊 加载实时统计」按钮,AJAX 异步拉取并展示各游戏汇总卡片
- 更新 GAMES_TODO.md,标记通用待办已完成
|
2026-03-03 23:40:31 +08:00 |
|
|
|
f45483bcba
|
功能更新与UI优化:游戏图标移除、用户名片修复、婚礼红包界面重设计
- 移除聊天室右下角浮动游戏图标(占卜、百家乐、赛马、老虎机)
- 用户名片按钮区:修复已婚/已好友时按钮换行问题,统一单行显示
- 婚礼红包弹窗:重设计为喜庆鲜红背景,领取按钮改为圆形米黄样式
- 新增婚礼红包恢复接口(/wedding/pending-envelopes),刷新后自动恢复领取按钮
- 修复 Alpine :style 字符串覆盖静态 style 导致圆形按钮失效的问题
- 撤职后用户等级改为根据经验值重新计算,不再无条件重置为1
- 管理员修改用户经验值后自动重算等级,有职务用户等级锁定
- 娱乐大厅钓鱼游戏按钮直接调用 startFishing() 简化操作流程
- 新增赛马、占卜、百家乐游戏及相关后端逻辑
|
2026-03-03 23:19:59 +08:00 |
|
|
|
602dcd7cf1
|
feat: 神秘箱子系统完整实现 + 婚姻状态弹窗 + 工具栏优化
## 新功能
- 神秘箱子系统(MysteryBox)完整实现:
- 新增 MysteryBox / MysteryBoxClaim 模型及迁移文件
- DropMysteryBoxJob / ExpireMysteryBoxJob 队列作业
- MysteryBoxController(/mystery-box/status + /mystery-box/claim)
- 支持三种类型:普通箱(500~2000金)/ 稀有箱(5000~20000金)/ 黑化箱(陷阱扣200~1000金)
- 调度器自动投放 + 管理员手动投放
- CurrencySource 新增 MYSTERY_BOX / MYSTERY_BOX_TRAP 枚举
- 婚姻状态弹窗(工具栏「婚姻」按钮):
- 工具栏「呼叫」改为「婚姻」,点击打开婚姻状态弹窗
- 动态渲染三种状态:单身 / 求婚中 / 已婚
- 被求婚方可直接「答应 / 婉拒」;已婚可申请离婚(含二次确认)
## 优化修复
- frame.blade.php:Alpine.js CDN 补加 defer,修复所有组件初始化报错
- scripts.blade.php:神秘箱子暗号主动拦截(不依赖轮询),领取成功后弹 chatDialog 展示结果,更新金币余额
- MysteryBoxController:claim() 时 change() 补传 room_id 记录来源房间
- 后台游戏管理页(game-configs):投放箱子按钮颜色修复;弹窗替换为 window.adminDialog
- admin/layouts:新增全局 adminDialog 弹窗组件(替代原生 alert/confirm)
- baccarat-panel:FAB 拖动重构为 Alpine.js baccaratFab() 组件,与 slotFab 一致
- GAMES_TODO.md:神秘箱子移入已完成区,补全修复记录
|
2026-03-03 19:29:43 +08:00 |
|
|
|
40fcce2db3
|
功能:好友面板昵称后显示在线离线状态
后端:
- ChatStateService 新增 getAllOnlineUsernames(),跨房间聚合在线用户名
- FriendController::index() 为每位好友/待回加用户附加 is_online 字段
- 在线好友自动排在列表前面
前端:
- 昵称后显示 🟢 在线 / ⚫ 离线 徽标
- .fp-status-online 绿底绿字,.fp-status-offline 灰底灰字
|
2026-03-03 17:42:47 +08:00 |
|
|
|
03ec3a9fbb
|
功能:钓鱼游戏后台管理系统
一、钓鱼全局开关
- 钓鱼纳入 GameConfig(game_key=fishing),游戏管理页可一键开关
- cast() 接口加开关校验,关闭时返回 403 友好提示
- GameConfigSeeder 新增 fishing 配置(含4个参数)
二、钓鱼事件数据库化
- 新建 fishing_events 表(emoji/name/message/exp/jjb/weight/is_active/sort)
- FishingEvent 模型含 rollOne() 加权随机方法
- FishingEventSeeder 填充7条初始事件(经验降低、金币提升)
- FishingController::randomFishResult() 改为读数据库事件
三、钓鱼参数迁移至 GameConfig
- fishing_cost/wait_min/wait_max/cooldown 改为 GameConfig::param() 读取
- 保留 Sysparam fallback 兼容旧数据
四、后台管理页面
- 新建 FishingEventController(CRUD + AJAX toggle)
- 新建 admin/fishing/index.blade.php(事件列表+概率显示+编辑弹窗)
- 侧边栏「游戏管理」下方新增「🎣 钓鱼事件」入口
- 游戏管理视图 gameParamLabels 新增钓鱼参数标签
|
2026-03-03 16:46:36 +08:00 |
|
|
|
783afe0677
|
重构:运维工具迁移为独立页面,侧边栏新增「运维工具」菜单
- 新建 OpsController,承接四项运维操作
- 新建 admin/ops/index.blade.php 独立页面(卡片式布局)
- admin 路由改为 /admin/ops/* -> admin.ops.*
- 侧边栏「AI 厂商配置」下方新增「🛠️ 运维工具」菜单入口
- SystemController 移除运维方法,职责回归纯参数配置
- system/edit 移除内嵌运维块,页面保持简洁
|
2026-03-03 15:07:36 +08:00 |
|
|
|
adb9f157e6
|
功能:后台系统配置页新增「运维工具」面板(仅 id=1 可见)
- 应用缓存清理:config:clear + cache:clear
- 路由缓存清理:route:clear
- 视图缓存清理:view:clear
- 幽灵在线清理:扫描并清空所有房间 Redis 在线名单
所有操作均有确认弹窗,执行结果 Flash 提示反馈。
后端 abort(403) 双重校验,非超管无法访问接口。
|
2026-03-03 15:00:54 +08:00 |
|
|
|
5b51754c58
|
修复:切换房间时旧房间在线记录残留导致「幽灵在线」人数统计虚高
进入新房间 init() 时,先扫描 Redis 将用户从其他所有房间移除,
再写入新房间,确保每个用户同时只存在于一个房间的在线名单中。
根因:直接跳转 URL 切换房间时浏览器不触发 leave 接口,
旧房间的 Redis hash 记录永久残留,导致计数虚高。
|
2026-03-03 14:51:38 +08:00 |
|
|
|
154d9ca8a2
|
修复:房间在线人数改用 ChatStateService::getRoomUsers() 确保统计逻辑与名单一致
|
2026-03-03 14:48:22 +08:00 |
|
|
|
4324633f82
|
功能:右侧「房间」面板显示所有房间在线人数,点击可切换房间
- ChatController 新增 roomsOnlineStatus() 接口
- GET /rooms/online-status 返回所有房间名称+Redis 实时在线人数
- 右侧面板房间列表动态渲染:当前房间高亮蓝色,有人数绿色徽标,空房间灰色
- 点击其他房间直接跳转,当前房间禁止点击并标注「当前」
- 切换到「房间」Tab 时自动触发拉取
|
2026-03-03 14:46:22 +08:00 |
|
|
|
a41e701fed
|
功能:后台房间管理新增「创建房间」功能
- RoomManagerController 新增 store() 方法,含房间名唯一校验、默认值设置
- 路由增加 POST /admin/rooms -> admin.rooms.store
- 视图增加「+ 新增房间」折叠表单(仅 id=1 超管可见)
- 补充 Flash 成功/错误提示展示
- 原有编辑/删除功能保持不变
|
2026-03-03 14:36:09 +08:00 |
|
|
|
fdb500c3dd
|
优化:自动钓鱼卡标签改为柔和灰紫色;工具栏「提议」按钮改为「反馈」
- FishingController: 钓鱼播报内「自动钓鱼卡」标签从高饱和紫色渐变改为低调灰紫底色+深紫字,减少视觉刺激
- toolbar.blade.php: 「提议(待开发)」→「反馈」,链接至 feedback 路由(新标签页打开)
|
2026-03-03 14:30:09 +08:00 |
|
|
|
e21f049643
|
修复:勤务日榜在线时长统计虚高(142小时)+ UI文字调整
Bug修复:
- closeDutyLog 增加 whereDate 限制,只关闭今日日志,历史遗留记录置0,避免跨天时长被计入榜单
- tickDutyLog(ChatController/AutoSaveExp)找不到今日开放日志时不再盲目新建,避免同一 login_at 产生几十条重复记录后 SUM 叠加导致虚假142小时
- AppointmentService 撤职时 closeDutyLog 同步增加今日/历史遗留区分处理
UI调整:
- 登录页版权文字「飘落的流星」→「流星」
- 后台布局标题「飘落流星 控制台」→「控制台」
- 后台侧边栏移除非超管查看各模块时的「(只读)」标注
|
2026-03-01 22:55:55 +08:00 |
|
|
|
6fa42b90d5
|
功能:站长礼包系统(金币/经验双类型)+ 后台用户编辑权限收紧(仅 id=1 超管)
新增功能:
- 礼包系统:superlevel 站长可发 888 数量 10 份礼包,支持金币/经验双类型
- 发包前三按钮选择(金币礼包 / 经验礼包 / 取消),使用 chatBanner 弹窗
- 聊天室系统公告含「立即抢包」按钮,金币红色/经验紫色配色区分
- WebSocket 实时推送红包弹窗卡片至所有在线用户
- Redis LPOP 原子分发 + 数据库 unique 约束防重领,并发安全
- 弹窗打开自动拉取服务端最新状态(剩余数量/已领/过期实时刷新)
- 新增 GET /red-packet/{id}/status 状态查询接口
- 新增 CurrencySource::RED_PACKET_RECV / RED_PACKET_RECV_EXP 枚举
安全加固:
- 后台用户编辑/强杀按钮仅 id=1 超管可见(前端隐藏 + 后端 403 双重拦截)
|
2026-03-01 22:20:54 +08:00 |
|