husnet / laravel-smsup.ch
Laravel 包,用于提供 SmsUp.ch API 集成。
V1.0.0
2021-06-14 18:47 UTC
Requires
- php: >=7.3|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0.1
- laravel/framework: ^8.0
- nesbot/carbon: ^2.0
This package is auto-updated.
Last update: 2024-09-15 02:16:59 UTC
README
安装
安装包
您可以通过 composer 安装此包
composer require husnet/laravel-smsupch
配置
将您的 SmsUp API 密钥添加到 config/services.php
文件中
return [ ... ... 'smsUpCh' => [ 'token' => env('SMSUPCH_TOKEN'), 'simulate' => env('SMSUPCH_SIMULATE'), // true or false 'sender' => env('SMSUPCH_SENDER_NAME', config('app.name')), ] ... ];
如果您想模拟提交消息,请将 simulate
设置为 true
,这对于测试和调试非常理想,它没有任何费用。
用法
使用 Laravel 通知
使用 artisan 创建通知
php artisan make:notification someNotification
在您的通知的 public function via($notifiable)
方法中返回 [smsUpCh]
public function via($notifiable) { return ['smsUpCh']; }
在您的通知中添加方法 public function toSmsUp($notifiable)
,并返回 SmsUpChMessage
实例
use Husnet\LaravelSmsUpCh\SmsUpChMessage; ... public function toSmsUpCh($notifiable) { $message = new SmsUpChMessage(); $message->text($this->text); return $message; }
如果您没有指定参数 to
,请确保您的通知实体已定义 routeNotificationForSmsUpCh
方法
/** * Route notifications for the SmsUp channel. * * @return string */ public function routeNotificationForSmsUpCh(): string { return $this->phone; }
使用 SmsUp 门面
发送消息
use Husnet\LaravelSmsUpCh\SmsUpChMessage; use Husnet\LaravelSmsUpCh\Facades\SmsUpCh; ... try { $phone_owner->notify(new ClientNotification($message_text)); } catch (\Exception $e) { session()->flash('error', __('Error: SMS API Timeout')); }
可用事件
LaravelSmsUp 提供了方便的事件,提供了有关短信消息所需的信息。
消息已发送
在发送一条或多条消息时触发。
示例
use Husnet\LaravelSmsUpCh\Events\SmsUpChMessageWasSent; class SmsUpMessageSentListener { /** * Handle the event. * * @param SmsUpChMessageWasSent $event * @return void */ public function handle(SmsUpChMessageWasSent $event) { $response = $event->response; // Class SmsUpResponse $message = $event->message; // Class SmsUpMessage // flashing to session session()->flash('message.to', $message->getTo()); session()->flash('message.text', $message->getText()); session()->flash('response.status', $response->getStatus()); session()->flash('response.message', $response->getMessage()); session()->flash('response.credits', $response->getCredits()); session()->flash('response.invalid', $response->getInvalid()); } }
在您的 EventServiceProvider
protected $listen = [ ... 'Husnet\LaravelSmsUpCh\Events\SmsUpChMessageWasSent' => [ 'App\Listeners\SmsUpChMessageSentListener', ], ];
SmsUp.ch API 文档
有关更多信息,请访问 SmsUp.ch API 文档
支持
您可以在问题部分自由发布您的问题。
致谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。