一、下载sdk
二、将sdk包放入tp项目
将api_sdk
放入到tp项目中的extend文件夹,如果没有则自己建,一般tp3中需要建。
三、控制器中引入短信接口
引入导入的配置文件:
实现方法:
/**
* 短信发送
* @param $to 接收人
* @param $model 短信模板ID
* @param $code 短信验证码
* @return json
*/
function send_sms($to, $code){
require_once dirname(__DIR__) .'/../../extend/api_sdk/vendor/autoload.php';
Config::load(); //加载区域结点配置
// $config = '根据你的实际情况读取配置文件或读取数据库,本项目是将配置写入数据库实现';
$accessKeyId = '阿里云生成的accessKeyId';
$accessKeySecret = '阿里云生成的accessKeySecret';
$templateParam = $code;
//短信签名
$signName = "短信签名";
//短信模板ID
$templateCode = "短信模板"; // 注册登录短信验证码模板
//短信API产品名(短信产品名固定,无需修改)
$product = "Dysmsapi";
//短信API产品域名(接口地址固定,无需修改)
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)
$region = "cn-hangzhou";
// 初始化用户Profile实例
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
// 增加服务结点
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
// 初始化AcsClient用于发起请求
$acsClient= new DefaultAcsClient($profile);
// 初始化SendSmsRequest实例用于设置发送短信的参数
$request = new SendSmsRequest();
// 必填,设置雉短信接收号码
$request->setPhoneNumbers($to);
// 必填,设置签名名称
$request->setSignName($signName);
// 必填,设置模板CODE
$request->setTemplateCode($templateCode);
// 可选,设置模板参数
if($templateParam) {
$request->setTemplateParam(json_encode(['code'=>$templateParam]));
}
//发起访问请求
$acsResponse = $acsClient->getAcsResponse($request);
//返回请求结果
$result = json_decode(json_encode($acsResponse),true);
// 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK
return $result;
}
调用该方法即可使用~
温馨提示:
有错的话一定要F12通过Network查看,查看ajax返回结果,出错不用怕,可以从官方文档上的错误码信息中查找原因,加油!