Laravel Nova 通知源包不工作

Laravel Nova Notification Feed package is not working

我正在使用 Laravel Nova 作为 CMS 管理面板。我正在使用这个包 https://novapackages.com/packages/coreproc/nova-notification-feed 将实时通知提要功能集成到我的 Nova 应用程序中。但它不起作用。

我安装了包 运行 这个命令,

composer require coreproc/nova-notification-feed

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

php artisan notifications:table

php artisan migrate

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

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 文件中,我在结束正文标记之前添加了以下代码片段。

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

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

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

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

您需要添加一个“.”在 OrderShipped 之前,例如

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