Commit Graph

49 Commits

Author SHA1 Message Date
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
1556ed632d Feature: AI系统提示词改为动态生成,实时读取Sysparam数据库配置(精准获取金币/经验/魅力等数值) 2026-02-27 11:22:47 +08:00
5203723b2e Feature: 扩充AI客服知识库,包含经验、金币、魅力、礼物及操作指南等防刷规则 2026-02-27 11:18:10 +08:00
13914fe029 Feature: 扩充AI聊天机器人的角色设定(小熊班长、和平聊吧、流星、Laravel 12) 2026-02-27 11:14:42 +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
e3cc1d2c70 新增:聊天记录定期清理任务
- 新增 messages:purge Artisan 命令,分批删除旧消息
- 默认保留最近 30 天,可通过 sysparam message_retention_days 配置
- 支持 --days 参数覆盖和 --dry-run 预览模式
- 每天凌晨 3 点自动执行
- 线上需配置 crontab: * * * * * php artisan schedule:run
2026-02-27 00:12:16 +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
62b963fb9b 修复:全员清屏广播不生效
- ScreenCleared 改用 ShouldBroadcastNow 绕过队列,避免 Horizon 未重启问题
- Echo 监听移入 DOMContentLoaded + 500ms 重试,确保 window.Echo 就绪后再注册
- 添加 console.log 便于调试
2026-02-26 23:43:09 +08:00
2735cbf1dd 修复:headface accessor 自动转小写后缀
- getter 使用 strtolower() 兼容数据库中存量的 .GIF 大写记录
- setter 也自动转小写,确保新数据统一
2026-02-26 23:30:41 +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
bc80c42fa3 修复:sex 字段类型统一为整数(0=保密 1=男 2=女)
- 生产库 sex 列为 int,之前错误传入中文字符串
- AuthController 注册时直接保存整数
- UpdateProfileRequest 验证改为 in:0,1,2
- 设置弹窗 select value 改为整数
2026-02-26 22:57:30 +08:00
c38a53fa74 功能:注册保存性别 + 聊天室个人设置弹窗
- 登录表单的性别选择(bSex)在注册时保存到数据库(男/女/保密)
- 新增 question/answer 密保字段迁移(hasColumn 安全检查)
- User 模型 fillable 增加 sign/question/answer
- UpdateProfileRequest 增加 email/question/answer 验证
- 聊天室工具栏新增设置按钮
- 设置弹窗包含:修改密码、性别、邮箱、密保问题
2026-02-26 22:50:35 +08:00
86732deaca 安全:后台强杀功能增加管理员保护,不允许删除管理员账号 2026-02-26 22:41:42 +08:00
ba1c94e0f7 优化:管理操作按等级独立显示,查看私信仅站长可用
- 新增 level_warn(警告等级) 和 level_freeze(冻结等级) 系统参数
- AdminCommandController 各操作使用独立等级检查
- 弹窗各按钮按 sysparam 等级条件独立显示/隐藏
- 查看私信(🔍)仅 superlevel 站长可见
- 后台系统参数可配置各操作所需等级
2026-02-26 22:38:33 +08:00
14c4effefa 新增:管理员命令系统(警告/踢出/禁言/冻结/查看私信/站长公屏)
- 新建 AdminCommandController 处理6个管理操作命令
- 注册管理员命令路由 /command/*
- 更新 UserKicked 事件增加原因字段
- 更新 UserMuted 事件支持自定义提示消息
- 重构用户名片弹窗管理面板:警告/踢出/禁言/冻结按钮
- 站长专属:查看私信记录、📢公屏讲话按钮
- 被踢出时显示踢出原因
2026-02-26 22:27:49 +08:00
f5d8a593c9 优化:AI对话改为公开广播,所有人可见
- ChatBotController 将用户提问和AI回复都广播到聊天室
- 前端不再本地渲染AI消息,由WebSocket广播统一处理
- AI小助手加入系统用户列表(公告样式展示)
- 思考中提示延迟500ms显示在包厢窗口,避免排序混乱
2026-02-26 22:11:11 +08:00
2386948fde 修复:用户名单头像全显示默认的问题
- User::headface accessor 补充 setter,确保后台管理赋值时正确写入 usersf 字段
- changeAvatar() 修改头像后同步更新 Redis 在线用户列表
- ChatStateService 新增 getUserRooms() 方法,支持查找用户所在房间
2026-02-26 21:49:37 +08:00
5d722bbb0b 优化:AI小助手在线列表样式改为与普通用户一致 2026-02-26 21:46:25 +08:00
fd3214eaff 功能:VIP 赞助会员系统
- 新建 vip_levels 表(名称、图标、颜色、经验/金币倍率、专属进入/离开模板)
- 默认4个等级种子:白银🥈(×1.5)、黄金🥇(×2.0)、钻石💎(×3.0)、至尊👑(×5.0)
- 后台 VIP 等级 CRUD 管理(新增/编辑/删除,配置模板和倍率)
- 后台用户编辑弹窗支持设置 VIP 等级和到期时间
- ChatController 心跳经验按 VIP 倍率加成
- FishingController 正向奖励按 VIP 倍率加成(负面惩罚不变)
- 在线名单显示 VIP 图标和管理员🛡️标识
- VIP 用户进入/离开使用专属颜色和标题
- 后台侧栏新增「👑 VIP 会员等级」入口
2026-02-26 21:30:07 +08:00
ea06328885 功能:字体颜色持久化、等级体系升级至99级、钓鱼小游戏、补充系统参数
- 字体颜色:s_color 改为 varchar,发消息时保存颜色,进入聊天室自动恢复
- 等级体系:maxlevel 15→99,superlevel 16→100,99级经验阶梯(幂次曲线)
- 管理权限等级按比例调整:禁言50、踢人60、设公告60、封号80、封IP90
- 钓鱼小游戏:FishingController(抛竿扣金币+收竿随机结果+广播)
- 补充6个缺失的 sysparam 参数 + 4个钓鱼参数
- 用户列表点击用户名后自动聚焦输入框
- Pint 格式化
2026-02-26 21:10:34 +08:00
d884853968 修复:排行榜/留言板缺失布局、退出登录跳转、WebSocket 配置与部署文档
- 修复 LeaderboardController 查询不存在的 sign 字段导致 500 错误
- 修复 leaderboard/index 和 guestbook/index 引用不存在的 layouts.app 布局
- 将排行榜和留言板改为独立 HTML 页面结构(含 Tailwind CDN)
- 修复退出登录返回 JSON 而非重定向的问题,现在会正确跳转回登录页
- 将 REDIS_CLIENT 从 phpredis 改为 predis(兼容无扩展环境)
- 新增 RoomSeeder 自动创建默认公共大厅房间
- 新增 Nginx 生产环境配置示例(含 WebSocket 反向代理)
- 重写 README.md 为完整的中文部署指南
- 修复 rooms/index 和 chat/frame 中 Alpine.js 语法错误
- 将 chat.js 加入 Vite 构建配置
- 新增验证码配置文件
2026-02-26 14:57:24 +08:00
50fc804402 feat: 实现挂机修仙、排行榜、大厅重构与全站留言板系统
- (Phase 8) 后台各维度管理与配置
- (Phase 9) 全自动静默挂机修仙升级
- (Phase 9) 四大维度风云排行榜页面
- (Phase 10) 全站留言板与悄悄话私信功能
- 运行 Pint 代码格式化
2026-02-26 13:35:38 +08:00
7d6423902d first commit 2026-02-26 12:02:00 +08:00