阿里大于

1.拉组件

composer require iscms/alisms-for-laravel  

2.在config/app.php的providers数组中配置

iscms\Alisms\AlidayuServiceProvider::class,  

3.在项目根目录执行

php artisan vendor:publish  

4.config目录应该增加alisms.php配置文件

env('ALISMS_KEY',null),
    'SECRETKEY'=>env('ALISMS_SECRETKEY',null),
];

5.项目的.ENV 配置文件中写入 SMS 配置 例如

 ALISMS_KEY=31663166
 ALISMS_SECRETKEY=**************

6.实例

  use iscms\Alisms\SendsmsPusher as Sms;
  public function sendSms($phone)
{
    //数据验证
    if (empty($phone)) ['ServerNo' => 400, 'ResultData' => '参数错误'];
    // 生成验证码
    $num = rand(100000, 999999);

    // 定义用户名称和验证码
    $smsParams = [
        'phone' => '用户',
        'code' => "$num"
    ];

    // 定义接收用户和配置
    $name = '贾济林';
    $content = json_encode($smsParams);
    $code = 'SMS_47955294';

    // 执行发送动作
    $data = $this->sms->send("$phone", "$name", "$content", "$code");

    // 判断短信发送结果
    if (property_exists($data, 'result')) {

        // 如果成功,将验证码存入redis 设置2分钟失效时间
        Redis::setex(CAPTCHA_SMS.$phone,120,$num);

        \Log::info('注册--短信验证码发送成功,验证码是:'.Redis::get(CAPTCHA_SMS.$phone));
        return ['ServerNo' => 200, 'ResultData' => '短信发送成功'];
    } else {
        return ['ServerNo' => 500, 'ResultData' => '短信失败'];
    }
}

7.参数解释

阿里大于_第1张图片
Paste_Image.png

登录阿里大于,在这里找到短信验证码的控制台。 你需要配置短信签名和短信模板,需要审批,审批的时候去消息中心可以看到审批不通过的原因。

阿里大于_第2张图片
Paste_Image.png
阿里大于_第3张图片
Paste_Image.png

可以看到,短信签名的签名名称 以及模板里的模板id,是方法中要用到的,需要注意那么模板长啥样呢。

阿里大于_第4张图片
Paste_Image.png

可以看到模板中有一个${phone} ${code},意思是说,在这里定义一个变量区,再在方法中定义好$phone 和 $code ,并用作为数组的两个键值对。类似上面方法中的写法。

[
    'phone' => '18106503226',
    'code'   => '这是验证码'
]

目前为止,方法中的四个参数已经都讲过了,再总结一下,

$data = $this->sms->send("$phone", "$name", "$content", "$code");

第一个参数是目标手机号,第二个参数是短信签名的名称,第三个参数是短信模板中使用到的参数,注意需要转成对象,第四个参数是短信模板ID。

你可能感兴趣的:(阿里大于)