JPushNotificationChannel.php 602 Bytes
<?php

namespace App\Channels;

use App\Jobs\JPushMessageJob;
use App\Models\User;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Arr;

class JPushNotificationChannel
{
    public function send(User $notifiable, Notification $notification): void
    {
        // @phpstan-ignore-next-line
        $message = $notification->toJPush($notifiable);

        JPushMessageJob::dispatchSync(
            Arr::get($message, 'user', []),
            Arr::get($message, 'title', ''),
            Arr::get($message, 'content', ''),
            Arr::get($message, 'data', [])
        );
    }
}