[求助]Laravel使用presence的时候,Unable to join channel
我在使用presence广播的时候,当新用户加入的时候,laravel-echo-server 提示Unable to join channel. Member data for presence channel missing
我的触发事件
Route::group(["prefix"=>"room","middleware"=>"auth"],function (){
Route::get('room_id/{room_id}', function ($room_id) {
broadcast(new \App\Events\GrounpChat($room_id));
return view("group",compact('room_id'));
})->name("room.room_id");
Route::post('msg', function () {
$msg = request("msg","这是一条默认的私有消息");
$room_id = request("room_id");
$user = auth()->user();
broadcast(new \App\Events\GroupMessage($room_id,$msg));
return response()->json(["msg"=>$msg,'user'=>$user]);
})->name("room.msg");
});
前端
var room_id = '{{ $room_id ?? 0 }}';
// 监听消息
window.Echo.join(`room.${room_id}`)
.here((user) =>{
console.log("here:已经在聊天室的小伙伴")
console.log(user)
})
.joining((user)=>{
console.log("joining:某个用户进来会受到什么消息")
console.log(user)
})
.leaving((user)=>{
console.log("leaving:某个用户离开了")
console.log(user)
})
.listen("GroupMessage",(res)=>{
console.log(res)
})
按照文档走了一遍,共有广播和私有广播都没问题,google了一下,错误的原因好像是说:在认证频道的时候,如果通过认证,需要返回一个数组,而不是true
or null
,但是好像都没有用,缓存已经清理过了,有人能指点一下吗?
gitee:gitee.com/orangbus/laravel-broadca...