6
0
Fork 0

优化短信验证码通知

release
李静 2021-11-25 11:08:14 +08:00
parent 3532b1a136
commit 2054d5e749
3 changed files with 14 additions and 12 deletions

View File

@ -2,10 +2,9 @@
namespace App\Notifications\Channels; namespace App\Notifications\Channels;
use App\Notifications\Messages\SmsMessage;
use Illuminate\Notifications\Notification; use Illuminate\Notifications\Notification;
use Overtrue\EasySms\EasySms; use Overtrue\EasySms\EasySms;
use Overtrue\EasySms\Exceptions\NoGatewayAvailableException;
use Overtrue\EasySms\Message;
class SmsChannel class SmsChannel
{ {
@ -27,16 +26,10 @@ class SmsChannel
$message = $notification->toSms($notifiable); $message = $notification->toSms($notifiable);
$phone = $notifiable->routeNotificationFor('sms', $notification); $phone = $notifiable->routeNotificationFor('sms', $notification);
if (! $phone && ! $message instanceof Message) { if (! $phone && ! $message instanceof SmsMessage) {
return; return;
} }
try { $this->easySms->send($phone, $message);
$this->easySms->send($phone, $message);
} catch (NoGatewayAvailableException $e) {
foreach ($e->getExceptions() as $exception) {
report($exception);
}
}
} }
} }

View File

@ -0,0 +1,9 @@
<?php
namespace App\Notifications\Messages;
use Overtrue\EasySms\Message;
class SmsMessage extends Message
{
}

View File

@ -4,10 +4,10 @@ namespace App\Notifications;
use App\Models\SmsCode; use App\Models\SmsCode;
use App\Notifications\Channels\SmsChannel; use App\Notifications\Channels\SmsChannel;
use App\Notifications\Messages\SmsMessage;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Notification; use Illuminate\Notifications\Notification;
use Overtrue\EasySms\Message as SmsMessage;
class SmsCodeCreated extends Notification implements ShouldQueue class SmsCodeCreated extends Notification implements ShouldQueue
{ {
@ -36,7 +36,7 @@ class SmsCodeCreated extends Notification implements ShouldQueue
* 发送短信消息通知. * 发送短信消息通知.
* *
* @param mixed $notifiable * @param mixed $notifiable
* @return \Overtrue\EasySms\Message * @return \App\Notifications\Messages\SmsMessage
*/ */
public function toSms($notifiable): SmsMessage public function toSms($notifiable): SmsMessage
{ {