首页 > 解决方案 > 如何在没有 vue.js 的情况下使用推送器 laravel“实时”计算未读通知数据

问题描述

我正在使用带有推送器的通知 [数据库,广播],当执行该通知时,我将其放在控制器上:

$user->notify(new SendProcess());

将在通知表上添加新数据并发送到推送器,最后在刀片文件中我设法捕获推送器,如下所示

在此处输入图像描述

    <script>
        window.Laravel = {!! json_encode(['csrfToken' => csrf_token(), ]); !!};
        var module = { };
    </script>

    <script type="module">

        import Echo from "{{ asset('tempelate/stisla/vendor/laravel-websocket/echo.js') }}"
        import {Pusher} from "{{ asset('tempelate/stisla/vendor/laravel-websocket/pusher.js') }}"

        window.Pusher = Pusher
        
        window.Echo = new Echo({
            broadcaster: 'pusher',
            key: '{{ config('broadcasting.connections.pusher.key') }}',
            cluster: 'ap1',
        });

        window.Echo.private('usulan-opd-from-anggota.{{auth()->id()}}')
            .notification((notification) => {
                console.log(notification);
                console.log(0);
            });

        console.log("websokets in use")

    </script>

结果:

在此处输入图像描述

如何统计未读通知数据,附注我不想用vue.js获取未读通知数。

然后将其显示在视图文件中,如下所示:

在此处输入图像描述

可以这样做吗?而不是使用推送器作为网络套接字?我必须使用 ajax jquery 吗?还是直接使用 laravel echo ?

标签: phplaravelvue.jspusherlaravel-echo

解决方案


推荐阅读