huami-cloud/laravel-notification-channel-dayusms

阿里云短信渠道,适用于Laravel 5.3

此包的官方仓库似乎已消失,因此该包已被冻结。

0.1.0 2017-02-03 09:26 UTC

This package is not auto-updated.

Last update: 2022-03-05 13:40:26 UTC


README

此包使您能够轻松地使用Laravel 5.3发送阿里云短信通知

内容

安装

您可以通过composer安装此包

composer require huami-cloud/laravel-notification-channel-dayusms

您必须安装服务提供者

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

设置您的阿里云账户

将您的阿里云账户App Key、App Secret、短信模板代码(可选)、签名名称(可选)作为sms_from(可选)添加到您的 config/services.php

// config/services.php
...
'dayu' => [
    'app_key' => env('DAYU_APP_KEY'),
    'app_secret' => env('DAYU_APP_SECRET'),
    'format' => 'json',
    'log_dir' => '/tmp',
    'sms_from' => env('DAYU_SMS_SIGN_NAME'),
    'sms_type' => 'normal',
    'sms_template' => env('DAYU_SMS_TEMPLATE','SMS_9655108')
],
...

使用方法

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

use NotificationChannels\Dayusms\DayusmsChannel;
use NotificationChannels\Dayusms\DayusmsMessage;
use Illuminate\Notifications\Notification;

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

    public function toDayusms($notifiable)
    {
        return (new DayusmsMessage())
            ->content('{"level":"P0", "service":"'.$notifiable->service.'", "info":"502"}');
    }
}

为了使您的通知知道您要发送给哪个手机号码,请将 routeNotificationForDayusms 方法添加到您的可通知模型中,例如您的用户模型

public function routeNotificationForDayusms()
{
    // where `phone` is a field in your users table;
    // can set multiple phones as string which separated by comma `,` .
    return $this->phone;
}

可用的消息方法

SmsMessage

  • from(''): 接受用于通知发送者的签名名称。
  • content(''): 接受用于通知主体的json字符串值。
  • content([]): 接受用于通知主体的数组值。
  • type(''): 接受用于短信类型的字符串值。
  • template(''): 接受用于短信模板的字符串值。
  • extend(''): 接受用于短信回调使用的字符串值。

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

测试

$ composer test

安全

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

许可协议

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