From e9a33106496922268682fdce00d5e0f71e897488 Mon Sep 17 00:00:00 2001 From: lkddi Date: Sat, 25 Apr 2026 10:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=A9=9A=E7=A4=BC=E7=BA=A2?= =?UTF-8?q?=E5=8C=85=E9=A2=86=E5=8F=96=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/js/chat-room/marriage-status.js | 27 ++++++++++++++++++- .../chat/partials/marriage-modals.blade.php | 4 +-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/resources/js/chat-room/marriage-status.js b/resources/js/chat-room/marriage-status.js index ab8a9ac..7fa83f6 100644 --- a/resources/js/chat-room/marriage-status.js +++ b/resources/js/chat-room/marriage-status.js @@ -29,7 +29,25 @@ function resolveCurrentMarriedPage() { } /** - * 绑定婚姻弹窗 tab、分页、用户名片和状态操作按钮事件。 + * 打开婚礼红包领取弹窗。 + * + * @param {string} ceremonyId 婚礼记录 ID + * @returns {void} + */ +function openWeddingEnvelopeClaim(ceremonyId) { + const detail = window._weddingEnvelopes?.[ceremonyId]; + const modal = document.getElementById("wedding-envelope-modal"); + + if (!detail || !modal || typeof window.Alpine?.$data !== "function") { + return; + } + + // 红包详情仍由 Blade 旧脚本写入 window._weddingEnvelopes,这里只按 ID 打开现有 Alpine 弹窗。 + window.Alpine.$data(modal).open(detail); +} + +/** + * 绑定婚姻弹窗 tab、分页、用户名片、状态操作和婚礼红包领取事件。 * * @returns {void} */ @@ -67,6 +85,13 @@ export function bindMarriageStatusControls() { return; } + const weddingEnvelopeButton = event.target.closest("[data-wedding-envelope-claim]"); + if (weddingEnvelopeButton) { + event.preventDefault(); + openWeddingEnvelopeClaim(weddingEnvelopeButton.getAttribute("data-wedding-envelope-claim") || ""); + return; + } + const pageButton = event.target.closest("[data-marriage-page-delta]"); if (pageButton) { event.preventDefault(); diff --git a/resources/views/chat/partials/marriage-modals.blade.php b/resources/views/chat/partials/marriage-modals.blade.php index f76ea57..6018cdb 100644 --- a/resources/views/chat/partials/marriage-modals.blade.php +++ b/resources/views/chat/partials/marriage-modals.blade.php @@ -1339,7 +1339,7 @@ // 公屏追加带按钮的系统消息(按钮通过 ceremonyId 引用全局 Map) if (typeof appendSystemMessage === 'function') { - const claimBtn = `