Laravel echo socket.io Vue JS通知

时间:2017-08-09 22:10:10

标签: laravel vuejs2 web-push laravel-notification

我正在制作客户端 - 服务器应用程序,我需要发送网络推送通知。

我有一个Laravel api作为后端,带有laravel echo服务器,带有广播器socket.io和Vue JS和前端应用程序。

当我尝试从laravel-echo发送通知时,我可以看到套接字服务器日志。我通过socket.io连接,我不使用推送器。

我有正确的连接,因为我可以看到我的日志,即使我可以看到我在,因为在控制台中我看到了我的日志。

import Echo from "laravel-echo"

window.echo = new Echo({
    broadcaster : 'socket.io',
    host        : url_server+"6001"
});

我在Vue组件中有这个代码:

window.echo.private("App.Entities.User.2")
.notification(notification => {
    console.log("notification demo", notification)
});

这是来自laravel服务器的日志通知:

[2017-08-09 16:57:02] local.INFO: Broadcasting 
[Illuminate\Notifications\Events\BroadcastNotificationCreated] on channels 
[private-App.Entities.User.2] with payload:
{
 "title": "Hello from Laravel!",
 "body": "Thank you for using our application.",
 "action_url": "https:\/\/laravel.com",
 "created": "2017-08-09T16:57:02-05:00",
 "id": "b3e037ce-9f4e-43d0-a847-e8623f56412d",
 "type": "App\\Notifications\\ReminderSeller",
 "socket": null
}  

1 个答案:

答案 0 :(得分:0)

我认为是配置问题,请确保配置在config / broadcasting.php

中是正确的
'default' => env('BROADCAST_DRIVER', 'redis'),

或设置在.env文件BROADCAST_DRIVER=redis