granada-pride/unifonic-sms

一个用于将 Unifonic SMS 与 Laravel 通知系统集成的高级 Laravel 包。

v1.1.1 2024-08-19 00:29 UTC

This package is auto-updated.

Last update: 2024-09-19 00:42:02 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。

配置选项

示例配置(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 许可。有关更多信息,请参阅许可证文件。