zoukankan      html  css  js  c++  java
  • Laravel 集成 阿里大于 短信接口

    一、配置

    1.从终端或命令行进入您的项目目录,运行

    composer require iscms/alisms-for-laravel  
    

    2.在config/app.phpproviders数组中配置

    iscmsAlismsAlidayuServiceProvider::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=**************
    

    此处ALISMS_SECRETKEY是指您的账户应用密码,请勿透露给他人

    二、开始使用

    1.首先在命名空间里引入

    <?php
    
    namespace AppHttpControllershome;  
    use AppHttpControllersController;  
    use IlluminateSupportFacadesRedis as Redis;  
    use iscmsAlismsSendsmsPusher as Sms;
    
    class RegisterController extends Controller  
    {
        public $sms;
    
        public function __construct(Sms $sms)
        {
            $this->sms=$sms;
        }
    
    
    
        public function code(Request $request)
        {
    
            $input = $request->all();
            // 判断该手机在10分钟内是否已经发过短信
            $exists = Redis::exists('IT:STRING:USER:CODE:'.$input['phone']);
    
            if(!empty($exists)){
                return response()->json(['ResultData'=>'失败','info'=>'重复发送']);
            }
    
            $num = rand(100000,999999);
            $smsParams = [
                'code'    => "$num",
                'product' => '案例展示'
            ];
    
            $phone = "$input[phone]";
            $name = '注册验证';
            $content = json_encode($smsParams);
            $code = 'SMS_3166316';
            //
            $data=$this->sms->send("$phone","$name","$content","$code");
            if(property_exists($data,'result')){
                Redis::sEtex('IT:STRING:USER:CODE:'.$phone,600,$num);
                return response()->json(['ResultData'=>'成功','info'=>'已发送']);
            }else{
                return response()->json(['ResultData'=>'失败','info'=>'重复发送']);
            }
        }
    }
    
    1. 返回执行发送的结果

    参数说明

    在开始使用中 send 方法一共加入了4个参数

    $phone,$name,$content,$code

    $phone 指接受短信方的短信号码,
    $name 指短信签名 可以在阿里大鱼短信签名 http://www.alidayu.com/admin/service/sign 找到
    $content 是指短信模板中的变量内容.举个例子
    

    在自己的阿里大鱼模板里面有下面一个短信模板

    那么里面存在着2个变量需要替换,一个是${code} ,一个是${product}

    那么对应的我们的$content 就应该为

    {
      code:"生成的验证码",
      product:"示例项目"
    }
    

    $code 指在阿里云中的模板ID,上面的例子中使用了一个身份验证模板,那$code 应该填写 SMS_3166316

    [原文地址](http://www.blog8090.com/)

  • 相关阅读:
    实验四 代码评审
    实验三、UML 建模工具的安装与使用
    结对编程 第二阶段
    结对编程第一阶段
    实验一 GIT代码版本管理
    实验五 单元测试
    实验四 代码评审
    实验三 UML 建模工具的安装与使用
    结对编程阶段二
    结对编程第一阶段
  • 原文地址:https://www.cnblogs.com/jhcyzxx/p/10479915.html
Copyright © 2011-2022 走看看