Thinkphp3.2整合阿里大鱼短信验证码发送(亲测可用)

1 篇文章 0 订阅
1 篇文章 0 订阅

阿里大鱼最新下载地址:阿里大鱼SDK下载 或者从官网进行下载:阿里大鱼SDK官网下载

下载完成后,将压缩包内的api_sdk文件夹放到ThinkPHP\Library\Vendor目录下,修改文件名为Aliyun,若修改为其他名称,请修改命名空间!

阿里大鱼申请步骤就不说了!开始接入吧~

设置阿里大鱼配置信息:

在配置文件中配置:

'ALI_SMS' => [ 
        'PRODUCT' => 'Dysmsapi', 
        'DOMAIN' => 'dysmsapi.aliyuncs.com', 
        'REGION' => 'cn-hangzhou', 
        'END_POINT_NAME' => 'cn-hangzhou', 
        'KEY_ID' => '你的 Access Key ID', 
        'KEY_SECRET' => '你的 Access Key Secret', 
        'SIGN_NAME' => '签名名称', 
        'TEMPLATE_CODE' =>'模板code', 
    ], 

设置完成以后,在function.php文件中新建发送短信函数,这里命名为sendCode:

<?php 
use Aliyun\Core\Config; 
use Aliyun\Core\Profile\DefaultProfile; 
use Aliyun\Core\DefaultAcsClient; 
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; 
 
 
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.bcty365.com/content-83-6290-1.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值