阿里大于

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配置文件

<?php  
return [
    'KEY' =>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.参数解释

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

Paste_Image.png

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

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

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

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

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

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

本作品采用《CC 协议》,转载必须注明作者和本文链接
毛仔
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

Laravel 5.5 的 “vendor:publish” 新增 provider 提示
如上面的动画所展示的,如果不加任何参数,会先提示一个列表,让你选择要发布哪一个 provider 或者 tag 下的资源。
所以 这一步php artisan vendor:publish 会提示要选择的参数,请按 自己的需求选择,其实这里就是自动创建 ailsms.php文件在 config目录下, :joy:

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!