Laravel Nova Notification Feed软件包不起作用

时间:2019-09-13 16:04:38

标签: laravel pusher laravel-nova laravel-echo

我在CMS Admin面板上使用Laravel Nova。我正在使用https://novapackages.com/packages/coreproc/nova-notification-feed软件包将实时通知供稿功能集成到我的Nova应用程序中。但这不起作用。

我安装了运行此命令的软件包,

composer require coreproc/nova-notification-feed

然后我迁移了所需的数据库表

php artisan notifications:table

php artisan migrate

然后我在环境文件中添加了所需的密钥

BROADCAST_DRIVER=pusher
PUSHER_APP_ID=xxxxxxx
PUSHER_APP_KEY=xxxxxxx
PUSHER_APP_SECRET=xxxxxx
PUSHER_APP_CLUSTER=xxx

我也取消了config / app.php中的BroadcastServiceProvider行的注释。

然后,我在resources / views / vendor / nova / layout.blade.php文件中的文档中提到的适当位置添加了以下几行。

@include('nova-echo::meta') <!-- INCLUDE THIS LINE HERE -->

@include('nova_notification_feed::notification_feed') <!-- AND THIS LINE HERE -->

为确保Echo和Push功能正常运行,在resources / views / vendor / nova / layout.blade.php文件中,我在关闭body标记之前添加了以下代码段。

<script>
        Nova.liftOff()
        Echo.channel('orders')
            .listen('OrderShipped', (e) => {
                alert('Pusher is working')
            });
    </script>

刷新管理页面时,可以看到该频道已在Pusher仪表板/控制台中订阅。

enter image description here

但是当我从Pusher控制台/仪表板推送通知时,它说消息已被推送,但是代码中的事件不起作用。

enter image description here

我的代码有什么错误或缺失?

1 个答案:

答案 0 :(得分:3)

您需要添加“。”例如,在OrderShipped之前

<script>
        Nova.liftOff()
        Echo.channel('orders')
            .listen('.OrderShipped', (e) => {
                alert('Pusher is working')
            });
    </script>