35 Commits

Author SHA1 Message Date
lkddi 891e18e83f 迁移婚礼弹窗组件脚本 2026-04-25 19:22:13 +08:00
lkddi 2e8bfb61c2 迁移离婚弹窗组件脚本 2026-04-25 19:20:33 +08:00
lkddi be0052119f 迁移婚姻通知弹窗组件 2026-04-25 19:18:21 +08:00
lkddi 5b6f687db6 迁移求婚弹窗组件脚本 2026-04-25 19:15:52 +08:00
lkddi e53f2f5d9d 迁移婚姻广播弹窗脚本 2026-04-25 19:13:40 +08:00
lkddi ee4abdff85 迁移婚姻弹窗全局入口 2026-04-25 19:11:07 +08:00
lkddi e9a3310649 迁移婚礼红包领取事件 2026-04-25 10:48:05 +08:00
lkddi 83fff919a5 迁移婚姻商店入口事件 2026-04-25 10:21:17 +08:00
lkddi f1d8d20180 迁移聊天室前端工具并优化消息渲染 2026-04-25 03:34:31 +08:00
lkddi bfb1a3bca4 重构(chat): 聊天室 Partials 第二阶段分类拆分及修复红包弹窗隐藏 Bug
- 完成对 scripts.blade.php 中非核心业务逻辑(钓鱼游戏、AI机器人、系统全局公告)的深度抽象隔离
- 修复抢红包逻辑中 setInterval 缺失时间参数(1000)引发浏览器前端主线程挂起的重度阻塞问题
- 修复 lottery-panel 组件结尾漏写 </div> 导致的连锁级渲染树崩溃(该崩溃导致红包节点被意外当作隐藏后代节点渲染,造成彻底不可见)
- 对相关模板规范代码结构,执行 Laravel Pint 格式化并提交
2026-03-09 11:30:11 +08:00
lkddi 040dbdef3c 优化:全站金币图标由 🪙(银灰色)统一替换为 💰(金黄色)
🪙 在多数平台/字体上渲染为银灰色,与「金币」语义不符;
💰 各平台均渲染为金黄色,更直观传达金币概念。

涉及文件(43处):
- app/Jobs:百家乐、赛马结算广播
- app/Http/Controllers:管理员命令、红包、老虎机、神秘箱子
- app/Listeners
- resources/views:聊天室各游戏面板、商店、toolbar、后台页面等
2026-03-04 15:00:02 +08:00
lkddi f45483bcba 功能更新与UI优化:游戏图标移除、用户名片修复、婚礼红包界面重设计
- 移除聊天室右下角浮动游戏图标(占卜、百家乐、赛马、老虎机)
- 用户名片按钮区:修复已婚/已好友时按钮换行问题,统一单行显示
- 婚礼红包弹窗:重设计为喜庆鲜红背景,领取按钮改为圆形米黄样式
- 新增婚礼红包恢复接口(/wedding/pending-envelopes),刷新后自动恢复领取按钮
- 修复 Alpine :style 字符串覆盖静态 style 导致圆形按钮失效的问题
- 撤职后用户等级改为根据经验值重新计算,不再无条件重置为1
- 管理员修改用户经验值后自动重算等级,有职务用户等级锁定
- 娱乐大厅钓鱼游戏按钮直接调用 startFishing() 简化操作流程
- 新增赛马、占卜、百家乐游戏及相关后端逻辑
2026-03-03 23:19:59 +08:00
lkddi a37b04aca0 修复红包领取三重问题:①getOnlineUserIds 兼容旧版用户(fallback数据库查询) ②聊天领取按钮用全局Map替代内嵌JSON避免HTML属性破坏 ③doClaim改判 data.ok 而非不存在的 data.status 2026-03-01 19:36:44 +08:00
lkddi 23fca927d5 升级红包领取按钮:深色外框+内部金色实心按钮,仿同意离婚按钮质感 2026-03-01 19:31:52 +08:00
lkddi 392b1b06bb 修复婚礼红包领取:①ChatController userJoin 写入 user_id ②WeddingService 从 room:1:users Hash 读在线用户 ③新郎新娘也可领红包 ④删除结婚弹窗冗余的'举办婚礼'按钮 ⑤升级红包领取按钮为橙色渐变样式 2026-03-01 19:27:28 +08:00
lkddi 0990a13c2e 修复弹窗闪烁:添加 [x-cloak] CSS 规则 + 删除重复的 chat:marriage-accepted 监听器 2026-03-01 19:22:40 +08:00
lkddi eefdae93fe 简化婚礼流程:去掉立即/定时选择,同意结婚后直接立即举办婚礼 2026-03-01 19:11:29 +08:00
lkddi e9a41995be 修复婚礼红包弹窗:①名字字段兼容 user.username/groom_name 双格式 ②领取路由修正为 /wedding/ceremony/{id}/claim 2026-03-01 19:08:59 +08:00
lkddi 84a4b42f31 离婚流程全面升级:①发起方专属确认弹窗(含对方拒绝后果+魅力/金币惩罚实时值)②被申请方三选弹窗(同意/不同意/稍后)③不同意=强制离婚申请人赔一半金币④所有惩罚数值从后台实时查询 2026-03-01 19:02:43 +08:00
lkddi 9b55b5558b 完善婚姻系统:①离婚弹窗展示魅力惩罚警告 ②婚礼档位强制必选(移除无选项默认第一档)③婚礼消息含领取红包按钮 ④AppendSystemMessage全局函数(支持HTML) 2026-03-01 18:49:11 +08:00
lkddi 6b32fe38c8 特性:离婚全屏公告弹窗(暗色阴郁风格+断裂心形动效)+ 先雷电后下雨双特效;弹窗触发重构为Alpine数据访问 2026-03-01 18:39:02 +08:00
lkddi 87d91db1ee 特性:婚礼结成弹窗触发全员双倍礼花特效,粉金配色浪漫爆炸,持续12秒 2026-03-01 18:35:08 +08:00
lkddi 1e5d11929e 修复:结婚弹窗及公屏公告显示 undefined 的问题,对齐后端事件字段名 user.username/partner.username 2026-03-01 18:31:57 +08:00
lkddi 73c78ee6d7 特性:支持在后台配置结婚离婚冷静期规则,并优化冷却时间文本提示;修复全局的离婚公告事件对象接收名称不匹配问题 2026-03-01 18:15:37 +08:00
lkddi 52c252f525 变更:修复求婚同意消息未收到问题,重构求婚流程支持直接选婚礼档位 2026-03-01 17:53:43 +08:00
lkddi 420efbc093 UI修复:求婚弹窗双按钮对齐,完美复刻「加好友大卡片」风格
- 彻底修复  字符串形式  覆盖内联  导致按钮形变的 bug,改用对象格式动态绑定样式,实现平滑继承
- 匹配大卡片公共弹窗按钮的标准尺寸:取消灰色边框,增加按钮高度 (padding: 10px 0, border-radius: 8px)
- 强制等分按钮宽度 (flex: 1)
- 根据金币充足/不足状态及点击状态,准确反映颜色、阴影及禁用态鼠标指针
2026-03-01 17:31:56 +08:00
lkddi b6188ce2c3 UI优化:求婚弹窗戒指改为居中展示,双按钮等宽参照名片风格
- 「选择求婚戒指」→「赠送的求婚戒」
- 移除选择网格,改为居中展示第一枚戒指(粉色卡片)
- 底部双按钮与好友名片操作栏完全统一:
  padding:7px 10px; border-radius:5px; font-size:12px;
  flex:1 等宽,gap:6px
2026-03-01 17:28:28 +08:00
lkddi be2d02cb8f UI:求婚弹窗底部改为「取消」+「确认求婚」横排双按钮
参照用户名片操作栏按钮风格:
  取消:灰色边框底,hover 加深
  确认求婚:粉玫瑰渐变,禁用态灰色
  两按钮等宽 flex:1 横排排列
2026-03-01 17:24:29 +08:00
lkddi 050aec1db4 优化:婚礼费用提示内嵌弹窗,移除多余的二次确认弹窗
在求婚弹窗底部(戒指列表与按钮之间)内嵌费用提示面板:
   金币充足:绿色背景,显示最低费用和当前余额
  ⚠️ 金币不足:红色背景提示,说明可先求婚再准备金币

移除 doPropose() 里的 chatDialog.confirm 二次确认,
点击'确认求婚'按钮直接发送,流程更顺畅。
2026-03-01 17:22:57 +08:00
lkddi c53cd7784a UI重设计:求婚弹窗全面升级为浪漫高端风格
- 背景:深紫玫瑰色磨砂遮罩(backdrop-filter blur)
- 封面区:深玫瑰→粉红渐变,大 💍 图标投影,
  对象名用磨砂胶囊标签显示
- 弹窗入场动画:opacity+scale 过渡
- 戒指卡片:选中态渐变背景+粉色阴影+右上角✓勾
  未选中态浅灰底,悬停有过渡
- 无戒指:粉色虚线框+💔图标+直接跳商店按钮
- 确认按钮:三段深玫瑰渐变+红粉阴影,禁用态灰色
2026-03-01 17:21:48 +08:00
lkddi 9ccc0b379d 优化:求婚前提示最低婚礼费用并检查金币余额
点击「送出求婚」前弹出确认弹窗:
  💍 确认向【XXX】发出求婚吗?
  📋 婚礼费用说明:
    • 婚礼最低费用:🪙 5,888 金币
    • 您当前金币:🪙 XXX 金币
  ⚠️ 戒指一旦送出即消耗,对方拒绝则戒指遗失。

金币不足时:直接拦截并弹 alert 说明,不发出请求
金币充足时:需确认后才发出求婚请求

同时在 chatContext 注入 userJjb 和 minWeddingCost
2026-03-01 17:19:27 +08:00
lkddi 9c4598ab66 修复:所有婚姻弹窗无法显示的 bug
根因:外层容器 style='display:none' 写死,
Alpine x-show 把内层改为 flex,但外层 CSS 始终覆盖,
导致求婚弹窗、收婚弹窗、结婚成功弹窗、婚礼设置弹窗、
婚礼红包弹窗一律无法显示。

修复方案:将 show 状态的 x-show 移到外层容器,
内层固定显示(position:fixed + flex),去掉冲突的 display:none。
同时补充 x-cloak 防止页面加载时闪烁。
2026-03-01 17:17:14 +08:00
lkddi 3132f013b7 修复:无戒指时点确定改为打开商店浮窗而非新标签页 2026-03-01 15:47:01 +08:00
lkddi 1f33013216 优化:求婚前先检查戒指库存,无戒指则引导购买
openProposeModal() 改为 async:
1. 先调 /marriage/rings 检查背包
2. 无戒指 → 弹确认框 → 同意则新窗口打开 /shop
3. 有戒指 → 直接传入弹窗(openWithRings),避免二次请求

marriageProposeModal 新增 openWithRings(username, rings)
方法,接收预加载列表,无 loading 状态直接展示。
2026-03-01 15:38:52 +08:00
lkddi 877fd1935f 功能:婚姻系统第12步(前端交互)
chat.js:
- 监听婚姻全局广播(MarriageAccepted/Divorced/WeddingCelebration)
- initMarriagePrivateChannel() 监听私人频道
  (求婚/拒绝/过期/离婚申请/红包领取)

frame.blade.php:
- chatContext.marriage 注入所有婚姻 API URL
- 引入 marriage-modals.blade.php 弹窗组件

marriage-modals.blade.php(新建):
- 求婚弹窗(选戒指→求婚)
- 收到求婚弹窗(接受/拒绝)
- 结婚成功公告弹窗(可跳转婚礼设置)
- 婚礼设置弹窗(档位/支付方式/立即OR定时)
- 婚礼红包领取弹窗
- 所有 WebSocket 事件处理

user-actions.blade.php:
- 名片加「💍 求婚」按钮(对方未婚时)
- 名片加「💑 已婚状态」标签(对方已婚时)
- fetchUser 同步拉取对方婚姻状态

MarriageController:
- targetStatus 返回增加 status/partner_name/marriage_id
- myRings 返回增加 status/intimacy_bonus/charm_bonus
2026-03-01 15:31:07 +08:00