适合PbootCMS的阿里云短信发送类

2022-12-15 0 233

前言介绍

一款大佬分享的简单方便阿里云短信封装代码,不用官网复杂的SDK,快速上手。

由CMS88适配成pbootcms,可以拿来快速制作短信发送功能。

封装代码<?php/***@authorCMS88*阿里云SMS*/namespacecore\\sms;usecore\\basic\\Config;classAliyunSms{//保存错误信息public$error;//AccessKeyIDprivate$accessKeyId='';//AccessAccessKeySecretprivate$accessKeySecret='';//签名private$signName='';//模版IDprivate$templateCode='';publicfunction__construct(){//配置参数$this->accessKeyId=Config::get('sms_appid');$this->accessKeySecret=Config::get('sms_secret');$this->signName=Config::get('sms_signame');$this->templateCode=Config::get('sms_checkcodetpl');}privatefunctionpercentEncode($string){$string=urlencode($string);$string=preg_replace('/\\+/','%20',$string);$string=preg_replace('/\\*/','%2A',$string);$string=preg_replace('/%7E/','~',$string);return$string;}/***签名*@paramunknown$parameters*@paramunknown$accessKeySecret*@returnstring*/privatefunctioncomputeSignature($parameters,$accessKeySecret){ksort($parameters);$canonicalizedQueryString='';foreach($parametersas$key=>$value){$canonicalizedQueryString.='&'.$this->percentEncode($key).'='.$this->percentEncode($value);}$stringToSign='GET&%2F&'.$this->percentencode(substr($canonicalizedQueryString,1));$signature=base64_encode(hash_hmac('sha1',$stringToSign,$accessKeySecret.'&',true));return$signature;}/***@paramunknown$mobile*@paramunknown$verify_code**/publicfunctionsend_verify($mobile,$tpljson){$params=array(//此处作了修改'SignName'=>$this->signName,'Format'=>'JSON','Version'=>'2017-05-25','AccessKeyId'=>$this->accessKeyId,'SignatureVersion'=>'1.0','SignatureMethod'=>'HMAC-SHA1','SignatureNonce'=>uniqid(),'Timestamp'=>gmdate('Y-m-d\\TH:i:s\\Z'),'Action'=>'SendSms','TemplateCode'=>$this->templateCode,'PhoneNumbers'=>$mobile,//'TemplateParam'=>'{"code":"'.$verify_code.'"}''TemplateParam'=>$tpljson//更换为自己的实际模版);//var_dump($params);die;//计算签名并把签名结果加入请求参数$params['Signature']=$this->computeSignature($params,$this->accessKeySecret);//发送请求(此处作了修改)//$url='https://sms.aliyuncs.com/?'.http_build_query($params);$url='http://dysmsapi.aliyuncs.com/?'.http_build_query($params);$result=json_decode(get_url($url));if(isset($result->Code)&&$result->Code=='OK'){return['code'=>1,'msg'=>$result->Message];}else{return['code'=>0,'msg'=>$result->Message];}}}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PbootCMS教程 适合PbootCMS的阿里云短信发送类 https://www.u-9.cn/cmssyjc/pbootcms-cmssyjc/9823.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载