granada-pride / unifonic-sms
一个用于将 Unifonic SMS 与 Laravel 通知系统集成的高级 Laravel 包。
v1.1.1
2024-08-19 00:29 UTC
README
Unifonic SMS 是一个 Laravel 包,提供了与 Unifonic SMS 服务的无缝集成。它允许您通过 Laravel 的原生通知系统通过 Unifonic 平台发送短信。无论您需要发送 OTP、警报还是营销信息,此包都可以通过直接集成到 Laravel 中简化此过程。
特性
- 无缝集成:通过 Unifonic 轻松发送短信通知。
- 可配置:通过 Laravel 配置系统调整设置。
- 错误处理:全面支持异常处理和日志记录。
- Laravel 兼容性:兼容 Laravel 8.x、9.x 和 10.x。
- 安全:安全处理敏感数据。
目录
安装
要开始使用,请通过 Composer 安装此包
composer require granada-pride/unifonic-sms
要求
- PHP >= 8.0
- Laravel >= 8.x
配置
安装包后,发布配置文件
php artisan vendor:publish --provider="GranadaPride\UnifonicSms\UnifonicSmsServiceProvider"
这将发布一个 unifonic.php 配置文件到您的配置目录,您可以在其中设置您的 AppSid、SenderID 和 Endpoint。
配置选项
- AppSid:您的 Unifonic 应用程序 SID。
- SenderID:将作为短信发送者显示的名称或号码。
- Endpoint:Unifonic API 端点(默认:https://el.cloud.unifonic.com/rest/SMS/messages)。
示例配置(config/unifonic.php)
return [ 'appsId' => env('UNIFONIC_APP_SID', 'your-app-sid'), 'senderId' => env('UNIFONIC_SENDER_ID', 'your-sender-id'), 'endpoint' => env('UNIFONIC_ENDPOINT', 'https://el.cloud.unifonic.com/rest/SMS/messages'), ];
要为 Unifonic SMS 包启用日志记录,您可以在 config/logging.php 文件中添加自定义日志通道
'channels' => [ // Other log channels... 'unifonic' => [ 'driver' => 'single', 'path' => storage_path('logs/unifonic.log'), 'level' => 'error', ], ],
此配置确保 Unifonic SMS 日志存储在单独的日志文件 storage/logs/unifonic.log 中,并且只记录严重程度为错误或更高的消息。
使用
配置包后,您可以发送短信通知
use GranadaPride\UnifonicSms\Notifications\UnifonicSmsNotification; $phone = '1234567890'; $message = "Your verification code is 123456"; $user->notify(new UnifonicSmsNotification($phone, $message));
高级使用
要进一步自定义短信或处理不同场景,您可以修改通知类
use GranadaPride\UnifonicSms\Notifications\UnifonicSmsNotification; class CustomSmsNotification extends UnifonicSmsNotification { public function toSms($notifiable) { return [ 'phone' => $this->phone, 'message' => "Your custom message", ]; } } // Sending the custom SMS $user->notify(new CustomSmsNotification($phone, $message));
贡献
欢迎贡献!请随时提交拉取请求或打开一个问题来改进此包。
许可证
此包是开源软件,许可协议为 MIT 许可。有关更多信息,请参阅许可证文件。