From 157aee3812b0af412e310d94f0a0f06b71af303c Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 16:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9AconfirmGift=20null?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=88=E5=85=88=E4=BF=9D=E5=AD=98item?= =?UTF-8?q?=E5=86=8D=E5=85=B3=E5=BC=B9=E6=A1=86=EF=BC=89=EF=BC=9BMessageSe?= =?UTF-8?q?nt=E6=94=B9=E4=B8=BAShouldBroadcastNow=E7=AB=8B=E5=8D=B3?= =?UTF-8?q?=E5=B9=BF=E6=92=AD=EF=BC=9B=E4=BF=AE=E5=A4=8Droute()=E5=BC=95?= =?UTF-8?q?=E5=8F=B7=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Events/MessageSent.php | 4 ++-- app/Http/Controllers/ShopController.php | 7 ++++--- resources/views/chat/partials/toolbar.blade.php | 4 +++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/Events/MessageSent.php b/app/Events/MessageSent.php index 4d26333..5cbe5be 100644 --- a/app/Events/MessageSent.php +++ b/app/Events/MessageSent.php @@ -12,11 +12,11 @@ namespace App\Events; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PresenceChannel; -use Illuminate\Contracts\Broadcasting\ShouldBroadcast; +use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Queue\SerializesModels; -class MessageSent implements ShouldBroadcast +class MessageSent implements ShouldBroadcastNow { use Dispatchable, InteractsWithSockets, SerializesModels; diff --git a/app/Http/Controllers/ShopController.php b/app/Http/Controllers/ShopController.php index d38857d..d1b60c3 100644 --- a/app/Http/Controllers/ShopController.php +++ b/app/Http/Controllers/ShopController.php @@ -117,8 +117,8 @@ class ShopController extends Controller : ''; $sysContent = "{$icon} 【{$user->username}】送出了一张 [{$item->name}],赠给 {$toStr}!{$msgText}"; - // 广播系统消息到公屏 - broadcast(new MessageSent( + // 广播系统消息到公屏(ShouldBroadcastNow 模式) + $sysMsgEvent = new MessageSent( roomId: $roomId, message: [ 'id' => 0, @@ -129,7 +129,8 @@ class ShopController extends Controller 'color' => '#cc6600', 'created_at' => now()->toDateTimeString(), ] - )); + ); + broadcast($sysMsgEvent); } } diff --git a/resources/views/chat/partials/toolbar.blade.php b/resources/views/chat/partials/toolbar.blade.php index 93b9ce5..7ad21ce 100644 --- a/resources/views/chat/partials/toolbar.blade.php +++ b/resources/views/chat/partials/toolbar.blade.php @@ -870,8 +870,10 @@ const recipient = document.getElementById('gift-recipient').value.trim(); const message = document.getElementById('gift-message').value.trim(); document.getElementById('gift-err').textContent = ''; + // 先将商品数据保存到局部变量,再关闭弹框(closeGiftDialog 会把 _giftItem 设为 null) + const item = _giftItem; closeGiftDialog(); - buyItem(_giftItem.id, _giftItem.name, _giftItem.price, recipient, message); + buyItem(item.id, item.name, item.price, recipient, message); }; /** 购买商品(最终执行) */