Commit Graph

198 Commits

Author SHA1 Message Date
7ec0904c5c 重构:全局自定义弹窗系统 window.chatDialog
- 新增 chat/partials/global-dialog.blade.php(全局弹窗 HTML + JS)
- 提供 chatDialog.alert() 和 chatDialog.confirm() 两个异步 API
- Alpine.js userCardComponent 的 $alert/$confirm 代理到全局 API
- toolbar 离开按钮统一改用 chatDialog.confirm(),移除独立 leave-confirm-modal
- 支持动态标题颜色、淡入动画,兼容 Chrome/Edge/Firefox
2026-03-01 00:34:11 +08:00
e2ae4b34b3 修复:Chrome 离开按钮 confirm 弹窗闪烁 → 自定义 HTML 弹窗
- 移除原生 confirm(),改为自定义 #leave-confirm-modal 弹窗
- 红色渐变标题栏,取消/确定离开两个按钮
- 点击遮罩可关闭,不触发任何浏览器原生对话框机制
2026-03-01 00:29:00 +08:00
f0cbcfa949 修复:Alpine.js userInfo.position_history 初始 undefined 导致 length 报错
- userInfo 初始值加 position_history: [],防止挂载时 undefined.length
- x-text 和 x-if 里加可选链 ?.length ?? 0 双重兜底
2026-03-01 00:23:08 +08:00
91b569ffd3 修复:离开按钮 confirm 弹窗在 Chrome 闪烁消失
将 beforeunload 改为 pagehide 事件:
- pagehide 在页面关闭/刷新时触发,但不会弹原生「离开网站」确认框
- 与原生 confirm() 不产生冲突,Chrome/Edge 行为一致
- leaveRoom() 设 _manualLeave 标记,pagehide 里不重复发 beacon
2026-03-01 00:18:46 +08:00
0f5b8a4f52 修复:Chrome 点击离开时出现原生"离开网站"弹窗闪烁
主动调用 remove 移除 beforeunload 监听后再导航,
Chrome 不再触发原生确认框,Edge 行为不变
2026-03-01 00:16:34 +08:00
1caaec5601 修复:关闭浏览器时 leave 不触发导致勤务日志不结算
- 新增 sendLeaveBeacon(),使用 navigator.sendBeacon 发送 leave 请求
- beforeunload 事件:关闭标签/浏览器/刷新均自动结算
- visibilitychange 事件:切到后台 30 秒后自动结算,切回来取消
- sendBeacon 比 fetch 更可靠,浏览器关闭时也能确保请求发出
2026-03-01 00:12:47 +08:00
94414057e6 修复:User 模型 fillable 缺少 in_time/out_time,导致进房时间静默写入失败 2026-03-01 00:10:44 +08:00
76fd17c727 功能:存点时自动同步在职用户勤务日志
- heartbeat 手动存点:调用 tickDutyLog()
- AutoSaveExp 自动存点:调用 tickDutyLog()
- 逻辑:今日已有开放日志则刷新 duration_seconds,无则新建(login_at 取 in_time 进房时间)
- 修复:TIMESTAMPDIFF 结果用 GREATEST(0, ...) 防 unsigned 溢出
- 修复:database.php MySQL 连接加 timezone=+08:00,与 PHP Asia/Shanghai 时区对齐
2026-03-01 00:04:59 +08:00
5f30220609 feat: 任命/撤销通知系统 + 用户名片UI优化
- 任命/撤销事件增加 type 字段区分类型
- 任命:全屏礼花 + 紫色弹窗 + 紫色系统消息
- 撤销:灰色弹窗 + 灰色系统消息,无礼花
- 消息分发:操作者/被操作者显示在私聊面板,其他人显示在公屏
- 系统消息加随机鼓励语(各5条轮换)
- ChatStateService 修复 Redis key 前缀扫描问题(getAllActiveRoomIds)
- 用户名片折叠优化:管理员视野、职务履历均可折叠
- 管理操作 + 职务操作合并为「🔧 管理操作」折叠区
- 悄悄话改为「🎁 送礼物」按钮,礼物面板内联展开
2026-02-28 23:44:38 +08:00
a599047cf0 文档:恢复原项目参考路径(仅作功能参照,不做数据迁移) 2026-02-28 14:14:20 +08:00
95dd259913 文档:清理旧 ASP/数据导入相关内容,重写注意事项为全新项目视角 2026-02-28 14:13:00 +08:00
ff097cce3c 文档:在 DEVELOPMENT.md 补充积分流水系统完整开发者使用指南 2026-02-28 14:06:55 +08:00
aeffb8e4d4 整理:合并零散迁移文件,36个简化为24个纯建表迁移
- users 表:吸收 s_color类型变更/sign/question/answer/vip_level_id/has_received_new_gift
- rooms 表:吸收 visit_num、announcement
- sysparam 表:吸收全部 seed(99级经验/权限等级/钓鱼/魅力/排行榜,直接写最终值)
- 新增 create_shop_tables(shop_items+user_purchases+username_blacklist+默认商品)
- 新增 create_user_currency_logs_table(积分流水表含完整索引)
- 删除 14 个已吸收的 add_column / seed 零散迁移
2026-02-28 14:03:04 +08:00
27b52da0e5 修复:积分流水统计页改用后台 admin layout 2026-02-28 13:55:35 +08:00
5233a485eb 功能:后台侧边栏新增「积分流水统计」菜单入口 2026-02-28 13:54:47 +08:00
7643740eda 功能:今日风云榜独立页 /leaderboard/today,导航新增「今日榜」按钮 2026-02-28 13:50:51 +08:00
0662901b1b 修复:后台积分统计页面 layout 改为 layouts.app 2026-02-28 13:41:50 +08:00
72d23af335 功能:ChatController 新人礼包 6666 金币接入积分流水,记录 newbie_bonus 来源 2026-02-28 13:34:40 +08:00
1eb58ea331 功能:排行榜页面新增今日三榜(今日经验/金币/魅力)及个人日志入口 2026-02-28 12:50:15 +08:00
0c5e218aa8 功能:新增用户积分流水系统
- 新建 user_currency_logs 流水表 (Migration)
- App\Enums\CurrencySource 来源枚举(可扩展)
- App\Models\UserCurrencyLog 流水模型
- App\Services\UserCurrencyService 统一积分变更服务
- FishingController:抛竿/收竿接入流水记录
- AutoSaveExp:自动存点接入流水记录
- Admin/UserManagerController:管理员调整接入流水记录
- LeaderboardController:新增今日三榜(经验/金币/魅力)+ 个人流水日志页
- Admin/CurrencyStatsController:后台活动统计页
- views:新增个人日志页、后台统计页;排行榜新增今日榜数据传递
- routes:新增个人日志路由 /my/currency-logs、后台路由 /admin/currency-stats
2026-02-28 12:49:26 +08:00
3f5d0e9539 功能:自动存点通知实现滚动替换,新消息到来时自动删除旧的通知,保持包厢窗口整洁 2026-02-28 11:56:42 +08:00
ffe35c048d 修复:历史消息服务端过滤,只加载与当前用户相关的记录,避免他人私聊和系统通知混入包厢窗 2026-02-28 11:54:29 +08:00
2219d7e26e 修复:增强 Flexbox 布局约束,防止过长的历史消息打破 100vh 将底部输入框挤出屏幕 2026-02-28 11:29:56 +08:00
0ff64d2737 修复:增强 scripts.blade.php 的 JS 健壮性,解决因 DOM 元素缺失导致的执行中断及变量未初始化问题 2026-02-28 11:22:18 +08:00
28d402d204 修复:重写本地清屏逻辑,使用 localStorage 记录拉取游标,避免进房带历史功能导致清屏失效 2026-02-28 11:20:34 +08:00
9a98bdfbe6 修复:聊天室初次加载时附带历史消息,解决因网络延迟错失入场欢迎语的问题 2026-02-28 11:17:09 +08:00
cb2e962116 优化:与AI聊天不再阻塞全局发言锁,允许在AI思考期间继续在公屏聊天 2026-02-28 11:12:51 +08:00
7bbc4c18d7 优化:AI聊天机器人知道对方的名字,并且连接超时不再抛出底层的cURL长代码错误 2026-02-27 17:50:08 +08:00
e7436e7898 修复:与AI聊天或其他特定错误拦截后,发送消息按钮永久失灵的问题 2026-02-27 17:45:18 +08:00
4ef95eaa27 新增:新人首次入住聊天室大礼包自动发放功能(6666金币 + 满场烟花 + 公屏欢迎) 2026-02-27 17:21:33 +08:00
efc4dfd752 修复:聊天室界面的送鱼按钮 Alpine.js 语法错误导致发言被卡住的问题 2026-02-27 17:04:12 +08:00
3ad67a1610 优化:修改单次特效卡的公屏广播文案,避免让大家误以为是赠送了道具卡实体 2026-02-27 17:00:26 +08:00
4fe3c1eed9 修复:商店购买单次特效卡并指定给别人时,购买者自己也必须能看到特效播放 2026-02-27 16:56:57 +08:00
b170724f3f 修复:后台布局移除 Tailwind CDN,改用 Vite 原生编译产物避免控制台警告 2026-02-27 16:50:37 +08:00
8b18c7159f 修复:后台布局文件缺少 csrf-token meta 标签,导致 AJAX 请求取不到 token 报 JS TypeError 拦截发送 2026-02-27 16:49:00 +08:00
aa9a9318f5 重构:将后台编辑用户 AJAX 提交方法移入 Alpine data 组件内部,彻底解决作用域和数据获取问题 2026-02-27 16:47:03 +08:00
2c5d4cedea 修复:后台编辑用户时弹窗里的数据为空(移除了不小心造成的 td x-data 孤立作用域) 2026-02-27 16:44:11 +08:00
39d03d30a8 修复:后台编辑用户弹窗改为直接传 Alpine $data,避免 querySelector 找到错误的 x-data 元素导致网络异常 2026-02-27 16:41:57 +08:00
e7440e5e84 修复:后台编辑用户 AJAX 请求加入 _method=PUT,解决 Laravel 路由 404 导致的「网络异常」 2026-02-27 16:38:36 +08:00
f37530fa0e UI:聊天消息移除硬编码 font-size,统一继承用户设置的字体大小 2026-02-27 16:33:40 +08:00
43956d286e 修复:礼物系统消息字段名改为 from_user/to_user/sent_at 与前端 appendMessage() 匹配,触发金色边框样式 2026-02-27 16:30:41 +08:00
157aee3812 修复:confirmGift null错误(先保存item再关弹框);MessageSent改为ShouldBroadcastNow立即广播;修复route()引号冲突 2026-02-27 16:26:16 +08:00
6a8ba4fbc8 功能:单次特效卡支持赠送——送礼弹框、广播给指定用户/全员、公屏系统消息、购买后关闭商店展示特效 2026-02-27 16:19:21 +08:00
1e2c304754 UI: 商店弹窗改为蓝白风格,与现有设置弹窗保持一致 2026-02-27 16:09:10 +08:00
8ac540c65b 重构:商店从右侧 Tab 移至工具栏按钮弹窗,新增 2 列网格卡片布局 2026-02-27 16:06:15 +08:00
9c8f7b1a95 UI: 商店面板重新设计——紧凑卡片、渐变配色、悬浮特效、绝对定位适配窄侧边栏 2026-02-27 16:02:22 +08:00
7fb86bfe21 Feat: 商店功能完整实现(单次特效卡888/周卡8888/改名卡5000,含购买、周卡覆盖、改名黑名单) 2026-02-27 15:57:12 +08:00
c52998671b Fix: 修复火箭未爆炸bug(动态计算初速度确保必然到达目标高度) 2026-02-27 15:38:21 +08:00
9147dc0d01 Feat: 后台用户列表ID列增加点击排序功能 2026-02-27 15:33:44 +08:00
a5e4c5f46f Fix: 排序链接改用request()辅助函数,修复Blade模板中 2026-02-27 15:32:48 +08:00