dlmg

新手小白在公司要完成短信验证码注册功能,最初由于没有经验,网上的教程又不是很全,便参考着官方API文档,进行开发

直接进入正题:使用composer下载腾讯云短信接口(记得添加依赖)。在项目目录下新建composer.json,写入以下内容

{
  "require": {
    "qcloudsms/qcloudsms_php": "0.1.*"
  },
}

现在就可以在命令行下进入到项目目录,执行composer install,便下载成功短信接口,接下来把以下文档粘贴到Thinkphp/Library/Org/Qcloud/Sms文件夹下

接下来就是控制器的完成,在控制器中新建方法,内容如下

public function sendPhone($mobile)
    {
// 自己申请的短信应用SDK AppID
        $appid = \'1400xxxxxx\'; // 1400开头

// 自己申请的短信应用SDK AppKey
        $appkey = "xxxxxxxxxxxxxx";

// 需要发送短信的手机号码
        $phoneNumbers = \'13xxxxxx\';

// 短信模板ID,需要在短信应用中申请
        $templateId = \'xxxx\';  // NOTE: 这里的只是一个示例,真实的模板ID需要在短信控制台中申请

// 签名
        $smsSign = "热爱交流的程序员"; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名,签名参数使用的是`签名内容`,而不是`签名ID`
        $code1 = mt_rand(1000,9999);//生成随机数
        session(\'code1\',$code1);    //保存在session(看自己需要保存在哪都行)

        $params = [$code1,5];

// 单发短信
        require (\'./Thinkphp/Library/Org/Qcloud/Sms/index.php\');  //这句代码非常重要不要忽略
       try {
            $ssender = new \Qcloud\Sms\SmsSingleSender($appid, $appkey);//数组具体的元素个数和模板中变量个数必须一致,例如事例中 templateId:5678对应一个变量,参数数组中元素个数也必须是一个
            $result = $ssender->sendWithParam("86", $phoneNumbers, $templateId,
                $params, $smsSign, "", "");  // 签名参数未提供或者为空时,会使用默认签名发送短信
            $rsp = json_decode($result);
        } catch(\Exception $e) {
            echo var_dump($e);
        }

    }

执行该方法便能发送成功

 

 

  

分类:

技术点:

相关文章:

  • 2021-12-31
  • 2021-12-17
  • 2021-11-23
  • 2021-05-04
  • 2021-12-30
  • 2022-12-23
  • 2021-06-23
  • 2021-12-15
猜你喜欢
  • 2021-08-11
  • 2021-08-18
  • 2021-11-23
  • 2021-07-05
  • 2021-12-15
  • 2021-12-05
相关资源
相似解决方案