Laravel 的 AllMySms 通知驱动程序

v1.3.0 2024-06-14 15:21 UTC

This package is auto-updated.

Last update: 2024-09-14 15:47:42 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

本包使您能够通过 Laravel 5.5+、6.x 和 7.x 使用 AllMySms 发送通知变得简单。

内容

安装

您可以通过 composer 安装此包

composer require laravel-notification-channels/all-my-sms

设置 AllMySms 服务

将以下代码添加到您的 config/services.php

// config/services.php
...
'all_my_sms' => [
    'uri' => env('ALL_MY_SMS_URI', 'https://api.allmysms.com/http/9.0'),
    'login' => env('ALL_MY_SMS_LOGIN'),
    'api_key' => env('ALL_MY_SMS_API_KEY'),
    'format' => env('ALL_MY_SMS_FORMAT', 'json'),
    'sender' => env('ALL_MY_SMS_SENDER'),
    'universal_to' => env('ALL_MY_SMS_UNIVERSAL_TO'),
],
...

使用

现在您可以在通知内的 via() 方法中使用该通道

use NotificationChannels\AllMySms\AllMySmsChannel;
use NotificationChannels\AllMySms\AllMySmsMessage;
use Illuminate\Notifications\Notification;

class ProjectCreated extends Notification
{
    public function via($notifiable)
    {
        return [AllMySmsChannel::class]; // or 'all_my_sms'
    }

    public function toAllMySms($notifiable)
    {
        return new AllMySmsMessage('Content');
    }
}

为了使通知知道使用哪个电话号码,将 routeNotificationForAllMySms 方法添加到您的 Notifiable 模型中。

此方法需要返回一个电话号码。

public function routeNotificationForAllMySms(Notification $notification)
{
    return $this->phone_number;
}

本地开发

当开发一个发送短信的应用程序时,您可能不希望实际上向真实电话号码发送短信。您可以设置所有发送短信的通用接收者。这可以通过 ALL_MY_SMS_UNIVERSAL_TO 环境变量或 universal_to 选项来完成。

可用的消息方法

  • content(string $content): 接受短信内容的字符串值。
  • sender(string $sender): 接受发送者名称的字符串值。
  • campaign(string $campaign): 接受短信活动名称的字符串值。
  • sendAt(\DateTimeInterface|string $sendAt): 接受短信到期日期的 DateTimeInterface 或字符串。
  • parameters(array $parameters): 接受短信参数的数组。

变更日志

有关最近更改的更多信息,请参阅 变更日志

测试

$ composer test

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 mikael.popowicz@gmail.com 而不是使用问题跟踪器。

贡献

有关详细信息,请参阅 贡献

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件