From 6b32fe38c8c41c7016b9ed5261db8714a1c85429 Mon Sep 17 00:00:00 2001 From: lkddi Date: Sun, 1 Mar 2026 18:39:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=B9=E6=80=A7=EF=BC=9A=E7=A6=BB=E5=A9=9A?= =?UTF-8?q?=E5=85=A8=E5=B1=8F=E5=85=AC=E5=91=8A=E5=BC=B9=E7=AA=97=EF=BC=88?= =?UTF-8?q?=E6=9A=97=E8=89=B2=E9=98=B4=E9=83=81=E9=A3=8E=E6=A0=BC+?= =?UTF-8?q?=E6=96=AD=E8=A3=82=E5=BF=83=E5=BD=A2=E5=8A=A8=E6=95=88=EF=BC=89?= =?UTF-8?q?+=20=E5=85=88=E9=9B=B7=E7=94=B5=E5=90=8E=E4=B8=8B=E9=9B=A8?= =?UTF-8?q?=E5=8F=8C=E7=89=B9=E6=95=88=EF=BC=9B=E5=BC=B9=E7=AA=97=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E9=87=8D=E6=9E=84=E4=B8=BAAlpine=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat/partials/marriage-modals.blade.php | 125 +++++++++++++++++- 1 file changed, 119 insertions(+), 6 deletions(-) diff --git a/resources/views/chat/partials/marriage-modals.blade.php b/resources/views/chat/partials/marriage-modals.blade.php index a39ca71..72b90d1 100644 --- a/resources/views/chat/partials/marriage-modals.blade.php +++ b/resources/views/chat/partials/marriage-modals.blade.php @@ -269,6 +269,76 @@ +{{-- ═══════════ 3.5. 离婚全屏公告(阴郁深色风格 + 雷雨特效) ═══════════ --}} +
+
+
+ {{-- 头部 --}} +
+ {{-- 断裂心形动效 --}} +
+ 💔 +
+
+ — 缘尽于此 — +
+
+
+
+ {{-- 底部按钮 --}} +
+ +
+
+
+
+ + + + {{-- ═══════════ 4. 婚礼设置弹窗 ═══════════ --}}
{ + if (window.EffectManager) { + window.EffectManager.play('rain'); + } + }, 3500); + } + }, + + close() { + this.show = false; + } + }; + } + + /** * 婚礼设置弹窗组件 */ @@ -978,7 +1083,7 @@ window.chatDialog?.alert(`+${amount.toLocaleString()} 金币已到账 🎉`, '红包到手!', '#f59e0b'); }); - /** 结婚/离婚全局公告:在聊天消息区追加一条系统消息 */ + /** 结婚/离婚全局公告:弹出全屏通知 + 追加公屏文字 */ window.addEventListener('chat:marriage-accepted', (e) => { const detail = e.detail; const groomName = detail.user?.username ?? detail.groom_name ?? '??'; @@ -986,17 +1091,25 @@ if (typeof appendSystemMessage === 'function') { appendSystemMessage(`💑 ${groomName} 与 ${brideName} 喜结连理!`); } + // 触发全屏结婚公告弹窗(由 marriageAcceptedModal 组件监听此事件) + const modal = document.getElementById('marriage-accepted-modal')?._x_dataStack?.[0]; + if (modal && typeof modal.open === 'function') modal.open(detail); }); + window.addEventListener('chat:marriage-divorced', (e) => { - const { - user_username, - partner_username - } = e.detail; + const detail = e.detail; + const userName = detail.user_username ?? detail.user?.username ?? '??'; + const partnerName = detail.partner_username ?? detail.partner?.username ?? '??'; + // 追加公屏文字 if (typeof appendSystemMessage === 'function') { - appendSystemMessage(`💔 ${user_username} 与 ${partner_username} 解除了婚姻关系。`); + appendSystemMessage(`💔 ${userName} 与 ${partnerName} 解除了婚姻关系。`); } + // 触发全屏离婚公告弹窗(暗色阴郁风格 + 雷雨特效) + const modal = document.getElementById('marriage-divorced-modal')?._x_dataStack?.[0]; + if (modal && typeof modal.open === 'function') modal.open(detail); }); + /** 页面加载完成后初始化私人频道监听 */ document.addEventListener('DOMContentLoaded', () => { const userId = window.chatContext?.userId;