shiroamada/ultrasms-laravel-notification

适用于 Laravel 5.3 及以上版本的 UltraSMS 通知渠道

v2.0.2 2023-07-07 15:15 UTC

This package is auto-updated.

Last update: 2024-09-07 17:58:01 UTC


README

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

本软件包通过 Laravel 5.3+ 简化使用 UltraSMS(https://ultramsg.com/)发送通知。

代码参考自 laravel-notification-channels/smsc-ru

内容

安装

您可以通过 composer 安装该软件包

composer require shiroamada/ultrasms-laravel-notification

然后您必须安装服务提供者

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

设置 UltraSMS 服务

将您的 ultrasms 实例 ID 和令牌添加到 config/services.php

// config/services.php
...
'ultrasms' => [
    'isEnable' => env('ULTRASMS_ENABLE') ?? 0,
    'instanceId' => env('ULTRASMS_INSTANCEID'),
    'token' => env('ULTRASMS_TOKEN'),
    'isMalaysiaMode' => env('ULTRASMS_MALAYSIA_MODE') ?? 0,
    'isDebug' => env('ULTRASMS_DEBUG_ENABLE') ?? 0,
    'debugReceiveNumber' => env('ULTRASMS_DEBUG_RECEIVE_NUMBER'),
],
...

使用方法

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

use Illuminate\Notifications\Notification;
use NotificationChannels\UltraSms\UltraSmsMessage;
use NotificationChannels\UltraSms\UltraSmsChannel;

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

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

在您的可通知模型中,确保包含一个返回电话号码的 routeNotificationForUltraSms() 方法。

public function routeNotificationForUltraSms()
{
    return $this->mobile; //depend what is your db field
}

可用方法

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

sendAt(): 设置计划发送通知消息的时间。

变更日志

请参阅 CHANGELOG 了解最近的变化。

测试

$ composer test

安全

如果您发现任何安全相关的问题,请使用问题跟踪器。

贡献

有关详细信息,请参阅 CONTRIBUTING

鸣谢

许可

MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。