一、下載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返回結果,出錯不用怕,可以從官方文檔上的錯誤碼信息中查找原因,加油!