SmscRu 通知通道用于 Laravel 5.3。

v3.4.0 2023-07-12 10:24 UTC

README

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

此包使用 smsc.ru(又名 СМС–Центр)和 Laravel 5.3+ 简化发送通知。

内容

安装

使用 Composer 安装此包

composer require laravel-notification-channels/smsc-ru

如果您使用 Laravel 5.x,您还需要指定版本约束

composer require laravel-notification-channels/smsc-ru -v 2.0.3

服务提供程序会自动加载。或者,您可以手动执行此操作

// config/app.php
'providers' => [
    ...
    NotificationChannels\SmscRu\SmscRuServiceProvider::class,
],

设置 SmscRu 服务

将您的 SmscRu 登录名、密钥(散列密码)和默认发送者名称(或电话号码)添加到您的 config/services.php

// config/services.php
...
'smscru' => [
    'login'  => env('SMSCRU_LOGIN'),
    'secret' => env('SMSCRU_SECRET'),
    'sender' => 'John_Doe',
    'extra'  => [
        // any other API parameters
        // 'tinyurl' => 1
    ],
],
...

如果您想使用除了 smsc.ru 之外的其他主机,您必须设置带有尾随斜杠的自定义主机。

// .env
...
SMSCRU_HOST=http://www1.smsc.kz/
...
// config/services.php
...
'smscru' => [
    ...
    'host' => env('SMSCRU_HOST'),
    ...
],
...

用法

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

use Illuminate\Notifications\Notification;
use NotificationChannels\SmscRu\SmscRuMessage;
use NotificationChannels\SmscRu\SmscRuChannel;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return [SmscRuChannel::class];
    }

    public function toSmscRu($notifiable)
    {
        return SmscRuMessage::create("Task #{$notifiable->id} is complete!");
    }
}

在您的可通知模型中,请确保包含一个 routeNotificationForSmscru() 方法,该方法返回一个电话号码或电话号码数组。

public function routeNotificationForSmscru()
{
    return $this->phone;
}

可用方法

from(): 设置发送者的名称或电话号码。

content(): 设置通知消息的内容。

sendAt(): 设置安排通知消息的时间。

变更日志

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

测试

$ composer test

安全

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

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可

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