|
|
700ab9def4
|
feat: 好友系统全实现
后端:
- FriendController:add/remove/status/index 四个接口
- FriendAdded / FriendRemoved 广播事件(私有频道)
- channels.php 注册 user.{username} 私有频道鉴权
- routes/web.php 注册好友路由
- ChatController::init() 修复 DutyLog 在 return 后执行的 bug
- ChatController::notifyFriendsOnline() 上线时悄悄话通知好友
前端:
- user-actions:写私信 → 加好友/删好友按钮(动态状态)
- toggleFriend() 方法 + fetchUser 后加载好友状态
- scripts:监听私有频道 FriendAdded/FriendRemoved
- showFriendToast() 右下角浮窗通知(5秒自动消失)
- global-dialog 加 fdSlideIn 动画
|
2026-03-01 00:48:51 +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 |
|
|
|
7643740eda
|
功能:今日风云榜独立页 /leaderboard/today,导航新增「今日榜」按钮
|
2026-02-28 13:50:51 +08:00 |
|
|
|
72d23af335
|
功能:ChatController 新人礼包 6666 金币接入积分流水,记录 newbie_bonus 来源
|
2026-02-28 13:34:40 +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 |
|
|
|
ffe35c048d
|
修复:历史消息服务端过滤,只加载与当前用户相关的记录,避免他人私聊和系统通知混入包厢窗
|
2026-02-28 11:54:29 +08:00 |
|
|
|
9a98bdfbe6
|
修复:聊天室初次加载时附带历史消息,解决因网络延迟错失入场欢迎语的问题
|
2026-02-28 11:17:09 +08:00 |
|
|
|
4ef95eaa27
|
新增:新人首次入住聊天室大礼包自动发放功能(6666金币 + 满场烟花 + 公屏欢迎)
|
2026-02-27 17:21:33 +08:00 |
|
|
|
3ad67a1610
|
优化:修改单次特效卡的公屏广播文案,避免让大家误以为是赠送了道具卡实体
|
2026-02-27 17:00:26 +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 |
|
|
|
7fb86bfe21
|
Feat: 商店功能完整实现(单次特效卡888/周卡8888/改名卡5000,含购买、周卡覆盖、改名黑名单)
|
2026-02-27 15:57:12 +08:00 |
|
|
|
b366c9888f
|
Feat: 后台用户列表增加金币/魅力列,表头支持点击排序(等级/经验/金币/魅力)
|
2026-02-27 15:31:29 +08:00 |
|
|
|
4668c163aa
|
Feat: 管理员进入聊天室自动触发烟花+公屏欢迎公告
|
2026-02-27 14:34:04 +08:00 |
|
|
|
4da2d19b1f
|
Feat: 新增下雪特效,加强烟花/下雨在浅色背景的显色(发光粒子+深色雨线)
|
2026-02-27 14:22:13 +08:00 |
|
|
|
709e0d4975
|
Feat: 实现全屏特效系统(烟花/下雨/雷电),管理员一键触发全房间广播
|
2026-02-27 14:14:35 +08:00 |
|
|
|
dc9294207b
|
Fix: ip2region改用包自带内置数据库,避免自定义xdb格式不兼容问题
|
2026-02-27 12:26:37 +08:00 |
|
|
|
e1dbd9889d
|
Fix: 修正ip2region调用方式,改用getIpInfo()兼容各版本,并正确传入xdb路径
|
2026-02-27 12:24:46 +08:00 |
|
|
|
cb25e5b408
|
Feat: 切换IP归属地解析引擎为ip2region,原生返回中文省市运营商,精度到市级
|
2026-02-27 12:22:46 +08:00 |
|
|
|
96712df9cf
|
Fix: 强制Flex横排三列显示,修复GeoLite2本地库返回英文省市名改为中文翻译
|
2026-02-27 12:08:38 +08:00 |
|
|
|
1834a8e9ff
|
Fix: 修正名片资产格子在部分环境下垂直堆叠的BUG改为Flex布局,并修复省市所在地因为缓存匹配不上导致不显示的问题
|
2026-02-27 12:05:57 +08:00 |
|
|
|
006da4f5d6
|
Feat: 切换 IP 归属地解析引擎至本地离线库 MaxMind GeoLite2 并开启原生中文支持
|
2026-02-27 12:00:20 +08:00 |
|
|
|
63f7cfbb25
|
UI&Feat: 压缩资产数据显示在一行以节省空间,同时增加 IP 归属地中英文本地化翻译映射
|
2026-02-27 11:56:29 +08:00 |
|
|
|
d73dda6cd2
|
Fix: 防止生产环境未运行 composer install 导致 Location facade 找不到引发 500 错误
|
2026-02-27 11:44:28 +08:00 |
|
|
|
731792fab6
|
Feature: 权限优化 - 名片弹窗按等级展示资料,高管可查IP及归属地
|
2026-02-27 11:29:48 +08:00 |
|
|
|
74217896d1
|
Feature: 调整AI聊天机器人的形象为“AI小班长”并更新了军人卡通风格头像
|
2026-02-27 10:54:41 +08:00 |
|
|
|
5c2172c2af
|
增强:完善用户考勤记录机制,增加进出房间时间和登录次数统计
|
2026-02-27 10:11:09 +08:00 |
|
|
|
ea7331dd98
|
增强:聊天室内修改绑定邮箱时强制要求邮件验证码校验,并增加 60 秒发送频率限制防滥发机制
|
2026-02-27 10:02:33 +08:00 |
|
|
|
02356666ca
|
修复:增强 SMTP 连通性测试容错,加入 10 秒超时限制避免端口不通导致页面死锁,并捕获 Throwable 防止致命异常
|
2026-02-27 09:53:46 +08:00 |
|
|
|
baae2cc26f
|
特性:增加创始人专享的在线 SMTP 配置系统并在 AppServiceProvider 中动态加载以拦截系统发件
|
2026-02-27 09:47:47 +08:00 |
|
|
|
5e6101483d
|
UI调整:在系统参数配置中移除 chatbot_enabled 显示,统一由AI厂商配置专用入口管理
|
2026-02-27 09:41:47 +08:00 |
|
|
|
44ac4742d8
|
增强:实现真正的创始人(ID=1)特权控制:限制非 ID=1 管理员访问部分后台模块及修改他人等级的能力
|
2026-02-27 09:39:26 +08:00 |
|
|
|
4c48530a4f
|
优化:登录豁免等级改为动态读取 sysparam 中的 superlevel (管理员级别)
|
2026-02-27 09:34:24 +08:00 |
|
|
|
3925ecaeb2
|
增强:登录接口增加封号和封IP拦截检测,并为管理员提供强登豁免
|
2026-02-27 09:30:14 +08:00 |
|
|
|
fefa275771
|
功能:留言板新建留言改为弹窗形式,并新增用户选择下拉列表
- GuestbookController::index() 追加传入 $users 用户名列表
- 顶部内联展开表单改为居中 Modal 弹窗,带遮罩层和过渡动画
- 收件人从普通文本输入改为下拉选择器(含全部注册用户)
- 悄悄话改为 toggle 开关样式
- 增加顶级渐变色标题栏
|
2026-02-27 02:02:38 +08:00 |
|
|
|
f745db3990
|
功能:聊天获取魅力值(方案 B)
- 对指定用户发言时根据性别给魅力:异性 +2,同性 +1(后台可配)
- Redis 每小时上限 20(后台可配 charm_hourly_limit)
- 系统用户、对'大家'发言、悄悄话不触发
- 新增 sysparam:charm_cross_sex / charm_same_sex / charm_hourly_limit
|
2026-02-27 01:14:24 +08:00 |
|
|
|
b72e2a5936
|
优化:送花消息改为普通通知样式 + 在收花人私聊屏显示
- from_user 从'系统传音'改为'送花播报',不再使用红色公告样式
- to_user 从'大家'改为收花人用户名,消息在收花人 say2 显示
- 礼物图片渲染逻辑移到普通系统用户分支
|
2026-02-27 01:09:26 +08:00 |
|
|
|
c5cc55fc84
|
功能:送花/礼物系统完整开发
- 新增 Gift 模型和 gifts 数据表(7种默认花卉,各有图片/金币/魅力配置)
- 7张花卉图片生成并存放于 public/images/gifts/
- 名片弹窗新增送礼物 UI:图片选择列表、金币/魅力标注、数量选择
- sendFlower 控制器方法:按 gift_id 查找礼物、扣金币、加魅力、广播消息
- 聊天消息渲染支持显示礼物图片(含弹跳动画效果)
- 后台可在 gifts 表中管理花卉类型(名称、图标、图片、金币、魅力、排序、启禁用)
|
2026-02-27 01:01:56 +08:00 |
|
|
|
a2190f7b88
|
优化:存点称号改为后端动态返回
- 后端根据 VIP 等级/管理员身份返回 title 字段
- 前端移除硬编码的等级-称号映射,直接使用返回值
- 管理员显示'管理员',VIP 显示会员名称,其他显示'普通会员'
|
2026-02-27 00:49:35 +08:00 |
|
|
|
4cc2982d9f
|
功能:自动存点增加金币奖励 + VIP 加成
- heartbeat 增加金币奖励逻辑,读取 jjb_per_heartbeat 配置
- 支持固定值('5')和范围('1-10')两种奖励配置格式
- VIP 会员自动应用经验和金币加成倍率
- 前端手动存点显示金币余额和本次获得的奖励增量
- 新增迁移文件插入 jjb_per_heartbeat 配置项(默认 1-3)
- 更新 exp_per_heartbeat 描述说明支持范围格式
|
2026-02-27 00:44:45 +08:00 |
|
|
|
b72330342b
|
优化:排行榜显示人数改为后台可配置
- 新增 sysparam leaderboard_limit 配置项,默认 20
- 后台修改后清缓存即可生效
|
2026-02-27 00:36:26 +08:00 |
|
|
|
8c05e0fb83
|
优化排行榜:隐藏管理员 + 盖世神豪榜单位改为枚
- 所有榜单查询排除 user_level >= superLevel 的管理员
- 盖世神豪榜单位从'万'改为'枚'
- 缓存的查询也会过滤管理员(缓存到期后自动生效)
|
2026-02-27 00:33:25 +08:00 |
|
|
|
add92488a6
|
修复:UserController::show 返回格式改为 {status, data} 包装
- 匹配 Alpine.js fetchUser 期望的 data.status === 'success' 判断
- 这是双击用户名弹窗不显示的根本原因
|
2026-02-27 00:05:31 +08:00 |
|
|
|
bba47d2698
|
美化:私聊查看页面从原始 JSON 改为美观的 HTML 页面
- 新增 admin/whispers.blade.php 暗色主题聊天气泡样式
- 控制器支持 JSON(弹窗用)和 HTML(新窗口用)双模式
- 区分发出/收到方向,显示时间和消息数量
|
2026-02-26 23:59:17 +08:00 |
|
|
|
718d6901ac
|
修复:心跳存点经验增加加入30秒冷却间隔
- 用 Redis setex 设置30秒冷却,防止频繁点击存点刷经验
- 冷却期内点击存点仍正常保存数据,但不增加经验
|
2026-02-26 23:49:55 +08:00 |
|
|
|
bfd90ca882
|
统一:所有图片后缀从 .GIF 改为 .gif
- headface 目录 371 个文件重命名为小写后缀
- 代码中所有 .GIF 引用改为 .gif(User.php/AuthController/channels.php/frame.blade/scripts.blade)
- 新增迁移:将 users 表 usersf 列中的 .GIF 批量替换为 .gif
- 解决 Linux 大小写敏感导致图片加载失败的问题
|
2026-02-26 23:27:35 +08:00 |
|
|
|
2d45e52591
|
优化:禁言提示显示操作者 + 被禁言发言改用持久提示
- UserMuted 事件增加 operator 字段,禁言通知显示管理员名字
- 输入框 placeholder 显示操作者名字
- 被禁言用户发言时改为在包厢窗口显示红色持久提示(替代 alert 弹窗)
|
2026-02-26 23:12:55 +08:00 |
|
|
|
66f68bab85
|
功能:管理员全员清屏 + 离开提示趣味风格
- 新增 ScreenCleared 广播事件
- AdminCommandController 添加 clearScreen 方法(站长权限)
- ChatStateService 添加 clearMessages 方法
- chat.js 添加 ScreenCleared Echo 监听
- 前端:全员清屏按钮(红色🧹)+ 清屏处理逻辑(保留悄悄话)
- 离开提示改为与进入一致的趣味随机语风格(橙色【离开】标签)
|
2026-02-26 23:05:56 +08:00 |
|