php - Laravel 广播适用于一个用户
问题描述
我正在按照互联网上的一个简单示例进行通知跟踪。不幸的是,到目前为止,我已经设法让它只为一个用户工作。当我打开两个用户时,从 A 到 B 的消息有效,但从 B 到 A 的消息不起作用。有人能帮我吗?
频道.php
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
引导程序.js
window.Pusher = require('pusher-js');
import Echo from "laravel-echo";
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'some-key',
cluster: 'mt1',
forceTLS: true
});
global.js
var urlChannel = 'App.User.' + $('#user_logado_id').val();
window.Echo.private(urlChannel)
.notification((notification) => {
addNotificacao(notification);
});
向用户发送通知。
$user->notify(new NotificacaoPadrao($param));
我希望向所有用户发送通知。
解决方案
那是因为第一个用户的频道是 App.User.1,第二个是 App.User.2。您应该为他们创建一个共享的频道。例如:App.Channel.1-2。
推荐阅读
- azure - 如何使用 AGIC 将主机名分配给 Azure 应用程序网关
- python - 查找重复值束并分别对它们执行操作
- api - SonarQube v8.4 API 文档:获取所有项目和特定指标
- react-native - 如何以编程方式删除 React Navigation 中的抽屉项?
- javascript - 为什么茉莉间谍返回一个函数?
- javascript - 带有数据的对象到带有键和值列表的对象中 - javascript
- amazon-web-services - AWS Amplify:使用套接字 IO 作为后端
- javascript - 在 webView Android Studio 中执行按钮单击
- excel - 从剪贴板粘贴适用于某些人而不适用于其他人
- node.js - 如何在 fastify 中使用 node-sspi