|
|
23d2dee8ec
|
修复:说明页 @section('content') 缺少 @endsection 导致导航跑到底部
|
2026-02-27 02:05:05 +08:00 |
|
|
|
fefa275771
|
功能:留言板新建留言改为弹窗形式,并新增用户选择下拉列表
- GuestbookController::index() 追加传入 $users 用户名列表
- 顶部内联展开表单改为居中 Modal 弹窗,带遮罩层和过渡动画
- 收件人从普通文本输入改为下拉选择器(含全部注册用户)
- 悄悄话改为 toggle 开关样式
- 增加顶级渐变色标题栏
|
2026-02-27 02:02:38 +08:00 |
|
|
|
6cb788b81f
|
修复:留言板 x-data 容器缺少 w-full 导致页面居中变窄
|
2026-02-27 01:59:47 +08:00 |
|
|
|
a446834c12
|
统一三个页面内容区布局宽度为 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8
与顶部导航栏 header 保持完全相同的宽度和留空规范,确保视觉对齐
|
2026-02-27 01:57:49 +08:00 |
|
|
|
458b515f14
|
统一三个页面内容区为 w-full 铺满屏幕,不居中
- 大厅(rooms/index): max-w-7xl mx-auto → w-full
- 排行榜(leaderboard/index): max-w-7xl mx-auto → w-full
- 留言板(guestbook/index)已在上次修改完成
|
2026-02-27 01:56:03 +08:00 |
|
|
|
02478f2836
|
统一各页面布局宽度,移除所有返回大厅按钮
- 留言板、排行榜页面全部移除 nav-left 中的返回大厅链接
- 留言板主体容器改为 max-w-7xl mx-auto,与大厅和排行榜统一
|
2026-02-27 01:53:54 +08:00 |
|
|
|
3e1ee7394d
|
优化:留言板页面布局加宽,充分利用屏幕宽度
- 左侧导航从 w-64 加宽至 w-72,现代圆角和阴影
- 主容器去掉 max-w-7xl 限制,改为 w-full px-6 充满屏幕
- 右侧列表去掉 max-w-4xl 约束,flex-1 自动铺满剩余空间
|
2026-02-27 01:52:12 +08:00 |
|
|
|
8063200f0b
|
修复:留言板新建按钮失效的 AlpineJS x-data 作用域问题
原因:按钮元素被移除了原先包裹它的 body-data 组件树中。
解决:将留言板的所有内容(包括表单和按钮)都包裹在一个顶级 x-data=showWriteForm... 容器内。
|
2026-02-27 01:46:03 +08:00 |
|
|
|
db95ee0e29
|
修复:留言板列表无法显示的问题
- 移除了 body-class 的 h-screen overflow-hidden 导致高度被截断吃掉列表的 bug
- 重构了分类导航和右侧留言流的布局,允许自然高度滚动和自适应显示
- 使得全局的 session('success') 能正常随着页面流展示出提示横幅
|
2026-02-27 01:43:52 +08:00 |
|
|
|
d5a9e7d6a6
|
优化:留言板新建留言按钮移至左侧导航区
不再占用顶部公共导航栏,让所有大厅页面的顶部导航保持绝对一致。
|
2026-02-27 01:38:12 +08:00 |
|
|
|
c75a9d8069
|
修复:清理大厅导航栏重复的老代码
- 彻底移除 rooms/index.blade.php 中的 nav-right 定义块
- 移除 layouts/app.blade.php 中多增加的资料按钮
- 修正退出登录按钮的文案
- 修复前台页面由于继承引起的头部菜单重复显示问题
|
2026-02-27 01:36:05 +08:00 |
|
|
|
9b79b0f34f
|
重构:统一前台页面级导航栏
- 移除大厅和说明页多余的 nav-right 内容
- 统一在 layouts/app.blade.php 内展示 大厅/风云榜/留言板/后台/使用说明/个人资料/退出 等功能
- 去除重复的个人资料按钮,取消前台新建房间的功能(已转至后台),精简导航展示
|
2026-02-27 01:30:55 +08:00 |
|
|
|
92835d44e4
|
修复:右侧导航改用 fixed 定位 + 补回丢失的 @section
- aside 用 position:fixed 固定在右侧,不再依赖 flex/sticky
- JS 控制 >= 1024px 显示,窗口缩放自动响应
- 补回被意外删除的 @section('content')
|
2026-02-27 01:28:08 +08:00 |
|
|
|
78b0a43c48
|
修复:右侧导航定位 - aside 移到主内容后 + self-start sticky
|
2026-02-27 01:26:28 +08:00 |
|
|
|
342238b8ee
|
优化:使用说明页增加后台入口和退出登录按钮
|
2026-02-27 01:24:52 +08:00 |
|
|
|
b98b2d011d
|
优化:使用说明页面增加右侧固定导航栏
- 双栏布局:左侧主内容 + 右侧 sticky 导航
- 8 个锚点快速跳转(经验/金币/魅力/礼物/VIP/权限/排行/操作)
- 滚动时自动高亮当前板块
- smooth scroll 平滑滚动效果
|
2026-02-27 01:23:28 +08:00 |
|
|
|
1147ea64f8
|
功能:聊天室使用说明页面
- 新增 /guide 路由和 rooms/guide.blade.php 视图
- 动态读取后台配置:经验阈值、金币/魅力奖励、管理权限等级、VIP 等级、礼物列表
- 8 个板块:经验与等级、金币系统、魅力系统、礼物系统、VIP 会员、管理权限、排行榜、基础操作
- 星光大厅导航栏增加「📖 使用说明」入口
|
2026-02-27 01:20:43 +08:00 |
|
|
|
b72e2a5936
|
优化:送花消息改为普通通知样式 + 在收花人私聊屏显示
- from_user 从'系统传音'改为'送花播报',不再使用红色公告样式
- to_user 从'大家'改为收花人用户名,消息在收花人 say2 显示
- 礼物图片渲染逻辑移到普通系统用户分支
|
2026-02-27 01:09:26 +08:00 |
|
|
|
a1ccaae4c2
|
修复:将 Alpine.js 名片弹窗组件提取为命名函数
- 将整个组件逻辑从 x-data 属性提取到 userCardComponent() 函数
- x-data 改为引用函数名,彻底解决 HTML 属性引号冲突问题
- 提取 _headers() 通用方法减少代码重复
- 礼物数据仍通过 window.__gifts 全局变量注入
|
2026-02-27 01:06:29 +08:00 |
|
|
|
2e184832cb
|
修复:礼物 JSON 数据破坏 Alpine.js x-data 属性解析
- 将 Js::from() 移到 script 标签输出为全局变量
- Alpine 组件通过 window.__gifts 引用,避免双引号冲突
|
2026-02-27 01:04:03 +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 |
|
|
|
28e938a462
|
清理:移除已废弃的 executeAdminAction 函数(约90行)
管理操作已迁移到名片弹窗(user-actions.blade.php),输入栏下拉也已移除
|
2026-02-27 00:47:31 +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 |
|
|
|
8c05e0fb83
|
优化排行榜:隐藏管理员 + 盖世神豪榜单位改为枚
- 所有榜单查询排除 user_level >= superLevel 的管理员
- 盖世神豪榜单位从'万'改为'枚'
- 缓存的查询也会过滤管理员(缓存到期后自动生效)
|
2026-02-27 00:33:25 +08:00 |
|
|
|
2f4f8fac8c
|
优化:工具条按钮状态调整
- 商店、娱乐、银行、呼叫、提议改为待开发提示
- 管理员显示'管理'按钮(跳转后台)
- 普通用户显示'排行'按钮(跳转排行榜)
- 移除重复的管理员名单按钮
|
2026-02-27 00:28:06 +08:00 |
|
|
|
dc40d866ab
|
修复:移除 scripts.blade.php 中遗留的多余花括号导致的 JS 语法错误
|
2026-02-27 00:25:08 +08:00 |
|
|
|
74c4a6f11c
|
重构:将头像弹窗和设置弹窗迁移到 toolbar.blade.php
- 头像选择弹窗、个人设置弹窗、savePassword/saveSettings JS 移入 toolbar
- frame.blade.php 从 298 行减至约 100 行,只保留框架结构
- 按钮和弹窗集中在同一文件,职责清晰
|
2026-02-27 00:24:21 +08:00 |
|
|
|
cc5cd680f1
|
重构:将用户名片弹窗完整迁移到 user-actions.blade.php
- 从 frame.blade.php 中移除 276 行用户名片弹窗代码
- 全部整合到 user-actions.blade.php(全局函数 + Alpine 组件 + 弹窗 HTML)
- frame.blade.php 减负至约 300 行,结构更清晰
- 所有用户交互逻辑集中管理:单击切换目标、双击名片弹窗、管理操作
|
2026-02-27 00:20:49 +08:00 |
|
|
|
bf6f378613
|
重构:抽取 switchTarget/openUserCard 到独立文件 user-actions.blade.php
- 新增 chat/partials/user-actions.blade.php 作为用户交互全局函数
- 从 scripts.blade.php 中移除 switchTarget、openUserCard、showUserInfoInSay2
- frame.blade.php 在 scripts 之前引入 user-actions
- 代码职责更清晰,方便维护
|
2026-02-27 00:17:32 +08:00 |
|
|
|
ad8315f4a6
|
重构:双击用户名统一走 openUserCard 全局函数
- 新增全局 openUserCard() 函数,所有双击用户名入口统一调用
- 聊天消息区 clickableUser 的 ondblclick 改为 openUserCard
- 右侧用户列表双击简化为调用 openUserCard
- 移除输入栏底部的管理操作下拉框和执行按钮
- 管理操作统一通过双击用户名 → 名片弹窗执行
|
2026-02-27 00:16:07 +08:00 |
|
|
|
fc09a6b895
|
修复:loadWhispers 加 Accept: application/json header
- 确保控制器返回 JSON 而不是 HTML 视图
- 解决名片弹窗查看私聊报网络异常的问题
|
2026-02-27 00:07:36 +08:00 |
|
|
|
14d70556aa
|
修复:双击用户名打开名片弹窗
- 用户列表项双击触发 Alpine.js fetchUser 方法
- 打开用户名片弹窗,可查看资料和执行管理操作
- 单击仍为选中聊天目标
|
2026-02-27 00:03:19 +08:00 |
|
|
|
bba47d2698
|
美化:私聊查看页面从原始 JSON 改为美观的 HTML 页面
- 新增 admin/whispers.blade.php 暗色主题聊天气泡样式
- 控制器支持 JSON(弹窗用)和 HTML(新窗口用)双模式
- 区分发出/收到方向,显示时间和消息数量
|
2026-02-26 23:59:17 +08:00 |
|
|
|
ec76d39350
|
修复:管理操作下拉框添加警告和查看私聊选项
- input-bar 下拉新增 '⚠️ 警告' 和 '🔍 查看私聊' 选项
- executeAdminAction 增加 warn/whispers 的交互逻辑
- 修正 warn 参数名匹配后端(username/reason)
- 所有操作项添加 emoji 图标提升辨识度
|
2026-02-26 23:56:25 +08:00 |
|
|
|
772edf65ab
|
修复:全员清屏 DOM 选择器 ID 错误
- getElementById('say') → getElementById('chat-messages-container')
- getElementById('say2') → getElementById('chat-messages-container2')
- 这是清屏事件收到但页面无反应的根本原因
|
2026-02-26 23:45:24 +08:00 |
|
|
|
62b963fb9b
|
修复:全员清屏广播不生效
- ScreenCleared 改用 ShouldBroadcastNow 绕过队列,避免 Horizon 未重启问题
- Echo 监听移入 DOMContentLoaded + 500ms 重试,确保 window.Echo 就绪后再注册
- 添加 console.log 便于调试
|
2026-02-26 23:43:09 +08:00 |
|
|
|
f92fae599e
|
修复:前端 headface 引用统一 toLowerCase() 防止大写和 undefined
- 用户列表和发言头像引用加 .toLowerCase()
- 兼容 Redis 缓存中的旧 .GIF 大写数据
|
2026-02-26 23:39:32 +08:00 |
|
|
|
a19ff20988
|
优化:表情图片懒加载 + 统一剩余 .GIF 引用为 .gif
- 贴图面板使用 data-src 懒加载,切换到贴图 Tab 时才加载图片
- 避免页面刷新时发起 50 个表情图片请求
- 统一 frame.blade.php 和 scripts.blade.php 中残余的 .GIF 大写引用
|
2026-02-26 23:37:51 +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 |
|
|
|
0e82c3fff0
|
修复:全员清屏改用 Echo 直接监听(不依赖编译产物)
- 从 CustomEvent 中转改为 window.Echo.join().listen() 直接监听
- Blade 模板同步即生效,无需 npm run build
|
2026-02-26 23:20:02 +08:00 |
|
|
|
065e82f8b7
|
优化:禁言/解禁通知路由到被禁言者的包厢窗口(say2)
- 被禁言者在 say2 看到禁言/解禁提示
- 其他人在 say1(公聊)看到禁言通知
|
2026-02-26 23:15:27 +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 |
|
|
|
b80a74655c
|
样式:女生用户名显示为玫粉色(#e91e8c) + 修复 sex 整数比较
- 用户列表中女性(sex=2)名字颜色设为玫粉色
- 修复 scripts.blade.php 中 sex 从字符串比较改为整数比较
|
2026-02-26 22:59:41 +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 |
|
|
|
7126d844dc
|
修复:设置弹窗保存无提示 - 用 @json() 替代直接引号嵌入避免 JS 语法错误
|
2026-02-26 22:53:20 +08:00 |
|
|
|
c38a53fa74
|
功能:注册保存性别 + 聊天室个人设置弹窗
- 登录表单的性别选择(bSex)在注册时保存到数据库(男/女/保密)
- 新增 question/answer 密保字段迁移(hasColumn 安全检查)
- User 模型 fillable 增加 sign/question/answer
- UpdateProfileRequest 增加 email/question/answer 验证
- 聊天室工具栏新增设置按钮
- 设置弹窗包含:修改密码、性别、邮箱、密保问题
|
2026-02-26 22:50:35 +08:00 |
|
|
|
ba1c94e0f7
|
优化:管理操作按等级独立显示,查看私信仅站长可用
- 新增 level_warn(警告等级) 和 level_freeze(冻结等级) 系统参数
- AdminCommandController 各操作使用独立等级检查
- 弹窗各按钮按 sysparam 等级条件独立显示/隐藏
- 查看私信(🔍)仅 superlevel 站长可见
- 后台系统参数可配置各操作所需等级
|
2026-02-26 22:38:33 +08:00 |
|
|
|
5722d5be25
|
优化:系统公告/传音消息以大字醒目样式显示
- 红色渐变边框背景、14px大字、阴影效果
- 钓鱼播报/AI小助手等保持普通样式
|
2026-02-26 22:34:00 +08:00 |
|