• Stars
    star
    158
  • Rank 236,292 (Top 5 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

EasySms Notification Channel for Laravel.

EasySms Notification Channel for Laravel

使用 overtrue/easy-sms 发送 Laravel 消息通知。

安装

composer require leonis/easysms-notification-channel

配置

  1. 在 config/app.php 注册 ServiceProvider (Laravel 5.5 + 无需手动注册):

    'providers' => [
        // ...
        Leonis\Notifications\EasySms\EasySmsChannelServiceProvider::class,
    ],
  2. 创建配置文件:

    php artisan vendor:publish --provider="Leonis\Notifications\EasySms\EasySmsChannelServiceProvider"
  3. 修改应用根目录下的 config/easysms.php 中对应的参数即可。

使用

  1. 创建通知:

    <?php
    
    namespace App\Notifications;
    
    use Illuminate\Bus\Queueable;
    use Illuminate\Notifications\Notification;
    use Illuminate\Contracts\Queue\ShouldQueue;
    use Illuminate\Notifications\Messages\MailMessage;
    use Leonis\Notifications\EasySms\Channels\EasySmsChannel;
    use Leonis\Notifications\EasySms\Messages\EasySmsMessage;
    
    class VerificationCode extends Notification
    {
        use Queueable;
    
        public function via($notifiable)
        {
            return [EasySmsChannel::class];
        }
    
        public function toEasySms($notifiable)
        {
            return (new EasySmsMessage)
                ->setContent('您的验证码为: 6379')
                ->setTemplate('SMS_001')
                ->setData(['code' => 6379]);
        }
    }
  2. 向已绑定手机号用户发送通知。

    用户模型:

    <?php
    
    namespace App;
    
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    use Overtrue\EasySms\PhoneNumber;
    
    class User extends Authenticatable
    {
        use Notifiable;
     
        public function routeNotificationForEasySms($notification)
        {
            return new PhoneNumber($this->number, $this->area_code);
        }
    }

    发送通知:

    // 使用 Notifiable Trait
    $user->notify(new VerificationCode());
    // 使用 Notification Facade
    Notification::send($user, new VerificationCode());
  3. 向未注册用户或未绑定手机号用户发送通知。

    Notification::route(
        EasySmsChannel::class,
        new PhoneNumber(13333333333, 86)
    )->notify(new VerificationCode());

License

MIT