我正在关注 Laravel 文档中的 Presence Channels 部分。1.Authorizing Presence Channels-我创建了我的功能来检查用户是否有权访问它们。
Broadcast::channel('chat', function ($user) {
...
return user_info;
})
2.Joining Presence Channels-他们说我必须使用Echo的join方法。所以我做了。
Echo.join('chat')
.here((users) => {
console.log('hello',users)
this.users = users;
})
.joining((user) => {
console.log('hey you', user)
this.users.push(user);
})
.leaving((user) => {
this.users.splice(this.users.indexOf(user), 1);
})
这是让我困惑的部分。“授权回调返回的数据将提供给 JavaScript 应用程序中的出席频道事件侦听器”。我假设我想拥有这个 Javascript。部分,它应该是一个事件侦听器。我只是不明白它应该在哪里以及我必须如何称呼它。与我在用户登录时使用的功能有关吗?因此,请帮助我了解如何在您的 JavaScript 应用程序中实现这些“在线通道事件侦听器”。
“授权回调返回的数据将提供给 JavaScript 应用程序中的出席频道事件侦听器。”
https://laravel.com/docs/5.8/broadcasting#authorizing-presence-channels
这意味着,您的授权回调返回的数据Broadcast::channel(...)
是$user_info
将提供给joining()
和leaving()
听众,或任何自定义监听器,你的JavaScript应用程序中。
当前定义的侦听器正在等待听到另一个用户加入或离开chat
频道。因此,每个用户还必须在他们自己的应用程序实例中触发相应的事件。
// join the channel — trigger joining()
Echo.join('chat');
// leave the channel — trigger leaving()
Echo.leave('chat');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句