Commit Graph

36 Commits

Author SHA1 Message Date
46fde766e5 新增欢迎语快捷按钮:职务人员/id=1可见,10条预设语,自动填入输入框 2026-03-17 21:12:14 +08:00
630a3a6dde 删除分屏选项:移除 HTML 控件、JS 函数、CSS 规则 2026-03-17 21:02:05 +08:00
0ce969ef69 修复手机名单抽屉滚动:height:80vh 给 flex 子项确定高度,滚动生效 2026-03-17 20:59:06 +08:00
4927e815b5 修复手机端名单抽屉滚动失效问题:打通 flex 高度约束链,启用 overflow-y:auto 2026-03-17 20:30:59 +08:00
1181162219 feat(mobile): 优化手机端浮动按钮样式与布局
- 浮动按钮改为半透明磨砂玻璃效果(白底 + backdrop-filter blur)
- 按钮改为上下竖排排列
- 按钮位置调整到屏幕中间偏上(35%)
- 手机端隐藏房间介绍和输入栏动作/字色/字号/禁音/分屏控件
- 抽屉改为从顶部向下滑入
2026-03-17 17:51:17 +08:00
35a80279e6 feat: 聊天室手机端自适应
- 新增 mobile-drawer.blade.php:手机端浮动按钮 + 工具菜单抽屉 + 名单抽屉(独立维护)
- frame.blade.php:手机端代码改为 @include 引入
- chat.css:添加 @media (max-width: 640px) 响应式样式
  - 隐藏桌面端工具条和右侧名单面板
  - 浮动按钮样式(位于屏幕中间偏右)
  - 抽屉组件从顶部向下展开
  - 手机端隐藏房间介绍、输入栏动作/字色/字号/禁音/分屏控件
  - 现有 modal 弹窗 max-width 自适应修复
- scripts.blade.php:重构 renderUserList 提取 _renderUserListToContainer
  - 修复代码损坏残留,补回 setAction/scrollToBottom/autoScrollEl
2026-03-17 17:49:14 +08:00
4cf7ef1bd1 修复:Alpine.js 改为本地加载,解决部分用户无法访问 CDN 导致 Alpine 未定义的问题 2026-03-15 17:08:13 +08:00
ec95d69e92 style: 移除右侧用户列表顶部的空白2px内边距 2026-03-12 13:36:26 +08:00
eab300851a refactor: 移除聊天室右侧废弃的酷库表情与贴图相关代码及资源 2026-03-12 13:19:26 +08:00
10cd89f9f9 style: 调整聊天室右侧名单列表整体宽度 2026-03-12 13:17:10 +08:00
0990a13c2e 修复弹窗闪烁:添加 [x-cloak] CSS 规则 + 删除重复的 chat:marriage-accepted 监听器 2026-03-01 19:22:40 +08:00
87d91db1ee 特性:婚礼结成弹窗触发全员双倍礼花特效,粉金配色浪漫爆炸,持续12秒 2026-03-01 18:35:08 +08:00
48b31e7cff 修复:管理员进房烟花无声问题(AudioContext suspended)
根本原因:管理员进房特效在 800ms 后自动触发,
此时用户尚未与新页面交互,浏览器的 AudioContext
处于 suspended 状态,之前代码同步调用 resume()
但未 await 其 Promise,导致音频节点创建后无法出声。

修复方式:
- play() 和 ding() 均改为先检查 ctx.state
- 若为 suspended,用 ctx.resume().then(...) 链式执行
- resolver 成功后真正创建音频节点并播放
- 若浏览器拒绝 resume(无用户手势),catch 静默处理

此修复使所有自动触发的音效(进房烟花、任命公告等)
在 AudioContext 未激活时也能正确播放。
2026-03-01 13:32:00 +08:00
58b63fa8d3 功能:大卡片/小卡片弹出时播放叮咚通知音
effect-sounds.js:
- 新增 ding() 函数:A5(880Hz) + E5(659Hz) 两音叮咚
  每音含基音×2.76铃铛泛音,快冲击+铃铛式衰减
  自动检查 chat_sound_muted 禁音标志
- 导出 ding 至返回对象,底部暴露 window.chatSound = {ding}

toast-notification.blade.php:
- chatToast.show() 中 appendChild 后调用 window.chatSound.ding()

scripts.blade.php:
- chatBanner.show() 开头调用 window.chatSound.ding()
2026-03-01 13:28:19 +08:00
dac7750fe1 功能:特效音效三项优化 + 禁音开关
音效改进(effect-sounds.js):
1. 雷电 - 三层合成更贴近真实:
   ①放电啪声(带通噪声 ~50ms)
   ②低频轰鸣(120→38Hz 扫频,快冲击 2s 衰减)
   ③极低频滚动余韵(55→22Hz,缓慢堆积 3.6s 长衰减)
2. 下雨 - 音量 0.40→0.15,时长与视觉效果统一(8000ms)
3. 下雪 - 移除风声,只保留五声音阶铃音(C/E/G/C)
   铃音加第二泛音(×2.76倍频)模拟真实铃铛共鸣感
   8次随机铃声分布在 10 秒内

禁音开关:
- input-bar.blade.php:悄悄话旁新增「🔇 禁音」复选框
- scripts.blade.php:toggleSoundMute() 函数,
  localStorage chat_sound_muted 持久化,
  DOMContentLoaded 恢复复选框状态
- effect-sounds.js:play() 先检查 chat_sound_muted 标志
2026-03-01 13:19:24 +08:00
1d7aa636a0 功能:4种全屏特效增加 Web Audio API 实时合成音效
新建 public/js/effects/effect-sounds.js:
- 雷电:低频白噪声爆裂 + 雷鸣渐衰(10次,与视觉同步)
- 烟花:发射滑音(200→700Hz)+ 带通噪声爆炸(9轮)
- 下雨:双层带通白噪声(1200Hz+3500Hz)持续淡入淡出
- 下雪:4000Hz+高频风声 + 五声音阶轻柔铃音(5次随机)
- 所有音效纯 Web Audio API 合成,无外部音频文件
- 旧 AudioContext 若被 suspended 自动 resume

effect-manager.js:
- play() 调用 EffectSounds.play(type) 同步触发音效
- _cleanup() 调用 EffectSounds.stop() 兜底停止

frame.blade.php:effect-sounds.js 在 effect-manager 前引入
2026-03-01 13:07:36 +08:00
2219d7e26e 修复:增强 Flexbox 布局约束,防止过长的历史消息打破 100vh 将底部输入框挤出屏幕 2026-02-28 11:29:56 +08:00
c52998671b Fix: 修复火箭未爆炸bug(动态计算初速度确保必然到达目标高度) 2026-02-27 15:38:21 +08:00
3aac261a34 Feat: 烟花时长延长至10秒,发射数量增至12枚 2026-02-27 14:35:16 +08:00
998611f4ba Fix: 雪花改为深蓝轮廓+白色主体双遍绘制,浅色背景下清晰可辨 2026-02-27 14:29:03 +08:00
57278c76c3 Feat: 烟花特效完全重写,火箭升空+三种爆炸形态(球形/柳叶/环形)+粒子尾迹 2026-02-27 14:26:50 +08:00
3ce69914e9 Fix: 下雪特效改为真实六角雪花(6主臂+斜向分叉),支持缓慢旋转和左右飘动 2026-02-27 14:25:00 +08:00
4da2d19b1f Feat: 新增下雪特效,加强烟花/下雨在浅色背景的显色(发光粒子+深色雨线) 2026-02-27 14:22:13 +08:00
215fbd7221 Fix: 烟花/下雨改用clearRect不遮挡背景,雷电次数增至10次更密集 2026-02-27 14:17:56 +08:00
709e0d4975 Feat: 实现全屏特效系统(烟花/下雨/雷电),管理员一键触发全房间广播 2026-02-27 14:14:35 +08:00
adab033afc Feat: 系统播报用户头像改为像素军号图标(钓鱼播报/星海小博士/送花播报等) 2026-02-27 13:48:18 +08:00
0aed0827de UI: 将 mix-blend-mode 应用到所有用户的头像,解决白底问题 2026-02-27 11:05:42 +08:00
d7b52f8419 Fix: 隔离AI头像,防止普通用户使用,并修复聊天公屏图像的调用 2026-02-27 10:57:46 +08:00
74217896d1 Feature: 调整AI聊天机器人的形象为“AI小班长”并更新了军人卡通风格头像 2026-02-27 10:54:41 +08:00
c5cc55fc84 功能:送花/礼物系统完整开发
- 新增 Gift 模型和 gifts 数据表(7种默认花卉,各有图片/金币/魅力配置)
- 7张花卉图片生成并存放于 public/images/gifts/
- 名片弹窗新增送礼物 UI:图片选择列表、金币/魅力标注、数量选择
- sendFlower 控制器方法:按 gift_id 查找礼物、扣金币、加魅力、广播消息
- 聊天消息渲染支持显示礼物图片(含弹跳动画效果)
- 后台可在 gifts 表中管理花卉类型(名称、图标、图片、金币、魅力、排序、启禁用)
2026-02-27 01:01:56 +08:00
a62eb3dd39 优化:工具条按钮上下边界与消息区域对齐
- padding-top 对齐标题栏+公告栏底部
- padding-bottom 对齐输入栏顶部
- 按钮只分布在消息区域对应的高度范围内
2026-02-27 00:30:41 +08:00
23149a76c0 优化:工具条按钮平均分布铺满整个高度
- 移除固定 padding 和 justify-content: flex-start
- 按钮加 flex:1 自动均分高度,视觉效果更整洁
2026-02-27 00:28:57 +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
a7af3e3e06 资源:从原版项目复制 320 个表情 GIF 到 public/images/emoji/ 2026-02-26 23:23:02 +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
7d6423902d first commit 2026-02-26 12:02:00 +08:00