shiroamada / ultrasms-laravel-notification
适用于 Laravel 5.3 及以上版本的 UltraSMS 通知渠道
v2.0.2
2023-07-07 15:15 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- illuminate/notifications: 5.1 - 5.8|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/queue: 5.1 - 5.8|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: 5.1 - 5.8|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.3
README
本软件包通过 Laravel 5.3+ 简化使用 UltraSMS(https://ultramsg.com/)发送通知。
代码参考自 laravel-notification-channels/smsc-ru
内容
安装
您可以通过 composer 安装该软件包
composer require shiroamada/ultrasms-laravel-notification
然后您必须安装服务提供者
// config/app.php 'providers' => [ ... NotificationChannels\UltraSms\UltraSmsServiceProvider::class, ],
设置 UltraSMS 服务
将您的 ultrasms 实例 ID 和令牌添加到 config/services.php
// config/services.php ... 'ultrasms' => [ 'isEnable' => env('ULTRASMS_ENABLE') ?? 0, 'instanceId' => env('ULTRASMS_INSTANCEID'), 'token' => env('ULTRASMS_TOKEN'), 'isMalaysiaMode' => env('ULTRASMS_MALAYSIA_MODE') ?? 0, 'isDebug' => env('ULTRASMS_DEBUG_ENABLE') ?? 0, 'debugReceiveNumber' => env('ULTRASMS_DEBUG_RECEIVE_NUMBER'), ], ...
使用方法
您可以在通知中的 via()
方法中使用该通道
use Illuminate\Notifications\Notification; use NotificationChannels\UltraSms\UltraSmsMessage; use NotificationChannels\UltraSms\UltraSmsChannel; class AccountApproved extends Notification { public function via($notifiable) { return [UltraSmsChannel::class]; } public function toUltraSms($notifiable) { return UltraSmsMessage::create("Task #{$notifiable->id} is complete!"); } }
在您的可通知模型中,确保包含一个返回电话号码的 routeNotificationForUltraSms() 方法。
public function routeNotificationForUltraSms() { return $this->mobile; //depend what is your db field }
可用方法
content()
: 设置通知消息的内容。
sendAt()
: 设置计划发送通知消息的时间。
变更日志
请参阅 CHANGELOG 了解最近的变化。
测试
$ composer test
安全
如果您发现任何安全相关的问题,请使用问题跟踪器。
贡献
有关详细信息,请参阅 CONTRIBUTING。
鸣谢
许可
MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。