多数据库公司的推动者


Pusher with multi-database companies

我试图找出在我的应用程序中使用 Pusher 的最佳方法是什么。

  1. 我的应用程序包含在用户登录的普通网站中
  2. 每个用户都连接到一个公司
  3. 每家公司都有自己的数据库

因此,我需要我的应用程序允许向仅属于已登录公司的人员发送常规消息和通知(如弹出窗口)。

疑问/问题:

  1. 如果我创建一个名为 notifications 的频道并向它发送事件,所有用户(无论哪个公司)都会收到它
  2. 如果我设置与公司关联的某种令牌将不起作用,因为某些通知/消息只能发送给限制用户

在我之前的项目中,我将一个令牌与公司相关联,因为用户之间没有活动,只是"炫耀"PHP在每个公司中(在循环中)所做的事情,如下所示:

.PHP:

$this->pusher->trigger($company_pusher_token, 'feedback', $data);

.JS:

var token   = $('#company_pusher_token').val();
var channel = pusher.subscribe(token);
channel.bind('feedback', function(data) 
{
   alert('working..');
});

那么,我应该如何继续完成我正在寻找的东西呢?

看起来你正朝着正确的方向前进。

频道名称始终以公司唯一前缀开头。如果只应通知该公司的一部分用户,则将前缀与组 ID 组合在一起。

渠道:

  • "notifications":发送给所有公司,所有客户
  • "<company-token>-notifications":发送给给定公司的所有客户
  • "<company-token>-<group-id>-notifications":发送给给定公司内某个组的所有客户

顺便说一下,如果你想确保你的客户无法绑定到另一个公司的频道,请确保公司令牌不可猜测,或者使用"private-"前缀让你控制频道订阅的授权。