Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送相关的知识,希望对你有一定的参考价值。
阿里大鱼最新下载地址:阿里大鱼SDK下载 或者从官网进行下载:阿里大鱼SDK官网下载
下载完成后,将压缩包内的api_sdk文件夹放到Thinkphp\Library\Vendor目录下,修改文件名为Aliyun,若修改为其他名称,请修改命名空间!
阿里大鱼申请步骤就不说了!开始接入吧~
设置阿里大鱼配置信息:
在配置文件中配置:
1 ‘ALI_SMS‘ => [ 2 ‘PRODUCT‘ => ‘Dysmsapi‘, 3 ‘DOMAIN‘ => ‘dysmsapi.aliyuncs.com‘, 4 ‘REGION‘ => ‘cn-hangzhou‘, 5 ‘END_POINT_NAME‘ => ‘cn-hangzhou‘, 6 ‘KEY_ID‘ => ‘你的 Access Key ID‘, 7 ‘KEY_SECRET‘ => ‘你的 Access Key Secret‘, 8 ‘SIGN_NAME‘ => ‘签名名称‘, 9 ‘TEMPLATE_CODE‘ =>‘模板code‘, 10 ],
设置完成以后,在function.php文件中新建发送短信函数,这里命名为sendCode:
<?php use Aliyun\Core\Config; use Aliyun\Core\Profile\DefaultProfile; use Aliyun\Core\DefaultAcsClient; use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; /** * Created by PhpStorm. * User: Administrator * Date: 2018/5/2 0002 * Time: 10:20 */ function sendCode($num,$code){ require_once ‘/ThinkPHP/Library/Vendor/Aliyun/vendor/autoload.php‘; //加载区域结点配置 Config::load(); // 初始化用户Profile实例 $profile = DefaultProfile::getProfile(C(‘ALI_SMS.REGION‘), C(‘ALI_SMS.KEY_ID‘), C(‘ALI_SMS.KEY_SECRET‘)); // 增加服务结点 DefaultProfile::addEndpoint(C(‘ALI_SMS.END_POINT_NAME‘), C(‘ALI_SMS.REGION‘), C(‘ALI_SMS.PRODUCT‘), C(‘ALI_SMS.DOMAIN‘)); // 初始化AcsClient用于发起请求 $acsClient= new DefaultAcsClient($profile); // 初始化SendSmsRequest实例用于设置发送短信的参数 $request = new SendSmsRequest(); // 必填,设置雉短信接收号码 $request->setPhoneNumbers($num); // 必填,设置签名名称 $request->setSignName(C(‘ALI_SMS.SIGN_NAME‘)); // 必填,设置模板CODE $request->setTemplateCode(C(‘ALI_SMS.TEMPLATE_CODE‘)); // 可选,设置模板参数 $request->setTemplateParam(json_encode(array( // 短信模板中字段的值 "code"=>$code, "product"=>"dsd" ), JSON_UNESCAPED_UNICODE)); //发起访问请求 $acsResponse = $acsClient->getAcsResponse($request); //返回请求结果 $result = json_decode(json_encode($acsResponse),true); return $result; }
使用,只在=在控制器中调用sendCode函数即可:
public function sendmsg(){ $phone = input(‘post.phone_num‘); $code = rand(100000,999999); $res = sendCode($phone,$code); if($code == "OK"){ $data = array(‘msg‘=>‘success‘); }else{ $data = array(‘msg‘=>‘error‘); } return json_encode($data); }
效果如下所示:
原文地址:张先生的博客 http://www.zhangfayuan.cn/archives/201805041200198.html
以上是关于Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送的主要内容,如果未能解决你的问题,请参考以下文章