diff --git a/app/Http/Controllers/ChatController.php b/app/Http/Controllers/ChatController.php
index 8067f58..533ea12 100644
--- a/app/Http/Controllers/ChatController.php
+++ b/app/Http/Controllers/ChatController.php
@@ -122,14 +122,16 @@ class ChatController extends Controller
}
// 5. 获取历史消息用于初次渲染
- // TODO: 可在前端通过请求另外的接口拉取历史记录,或者直接在这里 attach
+ // 获取最近的所有消息(由于 Redis list 已限制保留条数,传 0 为拉取所有缓存的记录)
+ $historyMessages = $this->chatState->getNewMessages($id, 0);
// 渲染主聊天框架视图
return view('chat.frame', [
- 'room' => $room,
- 'user' => $user,
- 'weekEffect' => $this->shopService->getActiveWeekEffect($user), // 周卡特效(登录自动播放)
- 'newbieEffect' => $newbieEffect, // 新人入场专属特效
+ 'room' => $room,
+ 'user' => $user,
+ 'weekEffect' => $this->shopService->getActiveWeekEffect($user), // 周卡特效(登录自动播放)
+ 'newbieEffect' => $newbieEffect, // 新人入场专属特效
+ 'historyMessages' => $historyMessages, // 把历史消息附带给前端
]);
}
diff --git a/resources/views/chat/frame.blade.php b/resources/views/chat/frame.blade.php
index 414700e..1a35a1d 100644
--- a/resources/views/chat/frame.blade.php
+++ b/resources/views/chat/frame.blade.php
@@ -103,6 +103,22 @@
@include('chat.partials.scripts')
+ {{-- 页面初始加载时,渲染自带的历史记录(解决入场欢迎语错过断网的问题) --}}
+ @if (!empty($historyMessages))
+
+ @endif
{{-- 进房特效自动播放:新人烟花礼包 / 周卡特效 --}}
@if (!empty($newbieEffect) || !empty($weekEffect))