namespace app\index\controller;
use app\index\model\IdouschoolModel;
use think\SignatureHelper;??//將阿里云上面下載的SignatureHelper.php 文件放入到 thinkphp/library/thinkw
use think\Controller;
class Idouschool extends Controller
{
/**
* 調(diào)用發(fā)送短信接口
*
* @access public
* @return array 返回類(lèi)型
*/
? ? public function actionGetSendSms(){
? ? ? ? $telephone=input("post.telephone");
? ? ? ? if(empty($telephone)){
? ? ? ? ? ? echo $this->returnApp(401,$message="參數(shù)缺失");exit;
}
? ? ? ? $code=rand(111111,999999);
? ? ? ? $info=get_object_vars($this->actionSendSms($telephone,$code));
? ? ? ? if($info['Code']=='isv.BUSINESS_LIMIT_CONTROL'){
? ? ? ? ? ? echo $this->returnApp(402,$message="一個(gè)小時(shí)內(nèi)只能請(qǐng)求5條短信");exit;
? ? ? ? }else if($info['Code']=='OK'){
? ? ? ? ? ? echo $this->returnApp(200,$message="驗(yàn)證碼請(qǐng)求成功");exit;
? ? ? ? }else{
? ? ? ? ? ? echo $this->returnApp(202,$message="驗(yàn)證碼請(qǐng)求失敗");exit;
}
}
/**
* 調(diào)起阿里云短信發(fā)送
*
* @access public
?* @param mixed $telephone 手機(jī)號(hào)
?* @param mixed $code 驗(yàn)證碼
* @return array 返回類(lèi)型
*/
? ? public function actionSendSms($telephone,$code){
? ? ? ? try{
? ? ? ? ? ? $params = array ();
? ? ? ? ? ? // *** 需用戶(hù)填寫(xiě)部分 ***
//必填: 請(qǐng)參閱 https://ak-console.aliyun.com/ 取得您的AK信息
? ? ? ? ? ? $accessKeyId = " ";
? ? ? ? ? ? $accessKeySecret = "" ;
? ? ? ? ? ? // 短信接收號(hào)碼
? ? ? ? ? ? $params["PhoneNumbers"] = $telephone;
? ? ? ? ? ? // 短信簽名搔预,應(yīng)嚴(yán)格按"簽名名稱(chēng)"填寫(xiě)沉噩,請(qǐng)參考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
? ? ? ? ? ? $params["SignName"] = "天率校園";
? ? ? ? ? ? // 短信模板Code鸠儿,應(yīng)嚴(yán)格按"模板CODE"填寫(xiě), 請(qǐng)參考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
? ? ? ? ? ? $params["TemplateCode"] = ""; //iDouschool抖音校園音樂(lè)夢(mèng)想賽
//設(shè)置模板參數(shù), 假如模板中存在變量需要替換則為必填項(xiàng)
? ? ? ? ? ? if($code!=""){
? ? ? ? ? ? ? ? $params['TemplateParam'] = Array (
? ? ? ? ? ? ? ? ? ? "code" =>$code, //驗(yàn)證碼
? ? ? ? ? ? ? ? );
}
? ? ? ? ? ? // 可選: 設(shè)置發(fā)送短信流水號(hào)
? ? ? ? ? ? $params['OutId'] = "12345";
? ? ? ? ? ? // 可選: 上行短信擴(kuò)展碼, 擴(kuò)展碼字段控制在7位或以下坎穿,無(wú)特殊需求用戶(hù)請(qǐng)忽略此字段
? ? ? ? ? ? $params['SmsUpExtendCode'] = "123456";
? ? ? ? ? ? // *** 需用戶(hù)填寫(xiě)部分結(jié)束, 以下代碼若無(wú)必要無(wú)需更改 ***
? ? ? ? ? ? if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) {
? ? ? ? ? ? ? ? $params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);
}
? ? ? ? ? ? // 初始化SignatureHelper實(shí)例用于設(shè)置參數(shù)携茂,簽名以及發(fā)送請(qǐng)求
? ? ? ? ? ? $helper = new SignatureHelper();
? ? ? ? ? ? // 此處可能會(huì)拋出異常晦墙,注意catch
? ? ? ? ? ? $content = $helper->request(
? ? ? ? ? ? ? ? $accessKeyId,
? ? ? ? ? ? ? ? $accessKeySecret,
? ? ? ? ? ? ? ? "dysmsapi.aliyuncs.com",
? ? ? ? ? ? ? ? array_merge($params, array(
? ? ? ? ? ? ? ? ? ? "RegionId" => "cn-hangzhou",
? ? ? ? ? ? ? ? ? ? "Action" => "SendSms",
? ? ? ? ? ? ? ? ? ? "Version" => "2017-05-25",
))
);
? ? ? ? ? ? $IdouschoolModel= new IdouschoolModel();
? ? ? ? ? ? $ArrContent=get_object_vars($content);
? ? ? ? if($code!=""){
? ? ? ? ? ? if($ArrContent['Code']=="OK"){? //短信驗(yàn)證碼發(fā)送成功
? ? ? ? ? ? ? ? $param['is_success']='1';
? ? ? ? ? ? }else{? //短信驗(yàn)證碼發(fā)送失敗
? ? ? ? ? ? ? ? $param['is_success']='0';
}
? ? ? ? ? ? return $param;
}
? ? ? ? }catch(\Execption $e){
? ? ? ? ? ? $this->error('接口異常!',$e->getMessage());
}
}
}