新手小白在公司要完成短信验证码注册功能,最初由于没有经验,网上的教程又不是很全,便参考着官方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); } }
执行该方法便能发送成功