0

リアルタイム通知を使用して Web サイトを構築しています。しかし、Laravel Echo で通知を聞くことができません。なぜ機能しないのか理解できませんでした。

聞いている

this.$echo.private('App.User.' + this.user.id)
    .notification(notification => {
        console.log(notification);
    });

通知:

user->notify(new \App\Notifications\SomeoneRepliedYourPikir([
        'pikir_id' => request()->get('pikir_id'),
        'username' => request()->user()->username
    ]));

チャネル:

Broadcast::channel('App.User.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});

自分の状況を理解するために必要なものはすべて貼り付けたと思います。プレゼンス チャネルなど、他の機能は正常に動作しています。

私の Laravel-echo-server.json

{
"authHost": "http://pikirler.dev",
"authEndpoint": "/broadcasting/auth",
"clients": [
    {
        "appId": "2051a3c22fdd8a43",
        "key": "500c9e2934af4f6e93892f56abfcdc27"
    }
],
"database": "redis",
"databaseConfig": {
    "redis": {
        "port": "6379",
        "host": "127.0.0.1"
    },
    "sqlite": {
        "databasePath": "/database/laravel-echo-server.sqlite"
    }
},
"devMode": true,
"host": "pikirler.dev",
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""}
4

1 に答える 1

-1

この関数を User モデルに入れます。問題なく動作します。

public function receivesBroadcastNotificationsOn()
    {
        return 'App.User.'.$this->id;
    }
于 2020-01-06T03:22:39.853 に答える