我在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仪表板/控制台中订阅。
但是当我从Pusher控制台/仪表板推送通知时,它说消息已被推送,但是代码中的事件不起作用。
我的代码有什么错误或缺失?
答案 0 :(得分:3)
您需要添加“。”例如,在OrderShipped之前
<script>
Nova.liftOff()
Echo.channel('orders')
.listen('.OrderShipped', (e) => {
alert('Pusher is working')
});
</script>