分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Tihinkphp3.2整合最新版阿里大鱼进行短信验证码发送

发布时间:2023-09-06 01:52责任编辑:郭大石关键词:验证码

阿里大鱼最新下载地址:阿里大鱼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:

<?phpuse 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整合最新版阿里大鱼进行短信验证码发送

原文地址:https://www.cnblogs.com/zfy0818/p/8993861.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved