nextgen-tech / laravel-multiinfo
v1.2.1
2021-12-13 10:59 UTC
Requires
- laravel/framework: ^7.0|^8.0
- nextgen-tech/multiinfo: ^0.0.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- phpstan/phpstan: ^0.12.85
This package is auto-updated.
Last update: 2024-09-13 17:20:23 UTC
README
Laravel 的 MultiInfo 集成。
安装
composer require nextgen-tech/laravel-multiinfo
配置
MULTIINFO_CONNECTION= # Connection type (http is the only one supported)
MULTIINFO_API_VERSION= # API version (api1 or api2)
MULTIINFO_CERTIFICATE_PUBLIC_KEY_PATH= # Path to certificate public key
MULTIINFO_CERTIFICATE_PRIVATE_KEY_PATH= # Path to certificate private key
MULTIINFO_CERTIFICATE_PASSWORD= # Certificate password
MULTIINFO_CREDENTIALS_LOGIN= # Service login
MULTIINFO_CREDENTIALS_PASSWORD= # Service password
MULTIINFO_CREDENTIALS_SERVICE_ID= # Service ID
证书需要是 PEM 格式。您可以使用这两个脚本来将 P12 转换为 PEM
openssl pkcs12 -in "/path/to/cert.p12" -out public_key.pem -nocerts -nodes openssl pkcs12 -in "/path/to/cert.p12" -out private_key.pem -clcerts -nokeys
使用方法
通过通知通道
// app/Models/User.php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notification; class User extends Model { use Notifiable; ... public function routeNotificationForMultiinfo(?Notification $notification): string { return $this->phone; } ... } // app/Notifications/ExampleNotification.php namespace App\Notifications; use Illuminate\Notifications\Notification; use NGT\Laravel\MultiInfo\MultiInfoMessage; class ExampleNotification extends Notification { public function via($notifiable): array { return ['multiinfo']; } public function toMultIinfo($notifiable): MultiInfoMessage { return (new MultiInfoMessage()) ->content('test message'); } }
或直接通过处理器
use NGT\MultiInfo\Handler; use NGT\MultiInfo\Requests\SendSmsRequest; $handler = app(Handler::class); $request = app(SendSmsRequest::class) ->setDestination('123123123') ->setContent('test message'); /** @var \NGT\MultiInfo\Responses\SendSmsResponse */ $response = $handler->handle($request);