实时更新与广播
设置 → 高级 → 实时更新配置驱动 LeadHub 管理面板实时更新的 WebSocket 广播层。
启用实时更新后:
- 当新线索到达时,仪表板上的实时线索动态小部件即时更新
- 通知徽章无需刷新页面即可出现
- 看板实时反映其他团队成员的拖放更改
禁用实时更新时,面板回退到轮询(页面每30秒刷新一次)。
支持的驱动程序
| 驱动程序 | 托管方式 | 费用 | 说明 |
|---|---|---|---|
| Pusher | ✅ 云端 | 有免费套餐 | 最流行,设置最简单 |
| Laravel Reverb | ❌ 自托管 | 免费(仅服务器费用) | 官方 Laravel WebSocket 服务器 |
| Soketi | ❌ 自托管 | 免费(仅服务器费用) | 轻量级 Pusher 兼容服务器 |
| 禁用(轮询) | — | 免费 | 无 WebSockets;面板改为轮询 |
共享主机: Pusher 是最简单的选项。自托管的 Reverb/Soketi 需要具有持久进程的 VPS。
方案 A — Pusher(托管)
步骤 1 — 创建 Pusher 应用
- 在 pusher.com 注册(免费套餐:200 个连接,每天 20 万条消息)。
- 前往 Channels → 创建应用。
- 给它起个名称(例如 LeadHub)并选择您的区域。
- 在应用密钥下,复制:
- 应用 ID
- 密钥
- 密钥
- 集群(例如
us2、eu)
步骤 2 — 在 LeadHub 中配置
-
前往 设置 → 高级 → 实时更新。
-
将驱动程序设置为 Pusher / Soketi / Reverb(Pusher 协议)。
-
填写:
字段 值 启用实时更新 开启 应用 ID 来自 Pusher 应用密钥 应用密钥 来自 Pusher 应用密钥 应用 Secret 来自 Pusher 应用密钥 集群 您的 Pusher 集群(例如 us2)自定义主机 留空(Pusher 云端) 端口 443协议 HTTPS -
点击保存设置。
方案 B — Laravel Reverb(自托管)
Reverb 是使用 Pusher 协议的官方 Laravel WebSocket 服务器。
步骤 1 — 安装 Reverb
在您的服务器上:
php artisan reverb:install
使用 Supervisor 启动 Reverb:
[program:reverb]
command=php /var/www/leadhub/artisan reverb:start --host=0.0.0.0 --port=8080
autostart=true
autorestart=true
user=www-data
步骤 2 — 在 LeadHub 中配置
-
前往 设置 → 高级 → 实时更新。
-
填写:
字段 值 应用 ID 任意字符串,例如 leadhub-reverb应用密钥 任意字符串(必须与 Reverb 配置匹配) 应用 Secret 任意字符串(必须与 Reverb 配置匹配) 集群 留空 自定义主机 您服务器的主机名(例如 ws.yourdomain.com)端口 8080(或您的 Reverb 端口)协议 HTTPS(如在 SSL 代理后)或HTTP
方案 C — Soketi(自托管,轻量级)
Soketi 是一个轻量级的 Node.js Pusher 兼容服务器。
步骤 1 — 安装 Soketi
npm install -g @soketi/soketi
soketi start --config.port=6001 --config.appManager.driver=array \
--config.appManager.array.apps.0.id=leadhub \
--config.appManager.array.apps.0.key=leadhub-key \
--config.appManager.array.apps.0.secret=leadhub-secret
步骤 2 — 在 LeadHub 中配置
| 字段 | 值 |
|---|---|
| 应用 ID | leadhub(您的 Soketi 应用 ID) |
| 应用密钥 | leadhub-key |
| 应用 Secret | leadhub-secret |
| 自定义主机 | 您的服务器主机名 |
| 端口 | 6001 |
| 协议 | HTTPS 或 HTTP |
方案 D — 禁用实时更新(轮询)
- 前往 设置 → 高级 → 实时更新。
- 关闭启用实时更新,或将驱动程序设置为禁用(仅轮询)。
- 点击保存设置。
面板每30秒刷新一次。所有功 能正常工作——只是没有即时实时更新。
故障排除
| 问题 | 解决方案 |
|---|---|
| 实时线索动态不更新 | 验证应用密钥/Secret 与您的 Pusher/Reverb/Soketi 配置匹配 |
| 浏览器控制台出现 WebSocket 连接错误 | 检查自定义主机、端口和协议设置 |
| Reverb/Soketi 无法连接 | 确保进程正在运行且端口可访问(防火墙规则) |
| "更改驱动程序后重启队列工作进程" | 如果更改广播驱动程序,请重启队列工作进程 |
更改实时设置后,需要强制刷新浏览器(Ctrl+Shift+R)才能使新设置在前端生效。