100 lines
2.6 KiB
PHP
Executable File
100 lines
2.6 KiB
PHP
Executable File
<?php
|
|
|
|
|
|
namespace app\common\server;
|
|
|
|
|
|
use TencentCloud\Common\Credential;
|
|
use TencentCloud\Common\Exception\TencentCloudSDKException;
|
|
use TencentCloud\Common\Profile\ClientProfile;
|
|
use TencentCloud\Common\Profile\HttpProfile;
|
|
use TencentCloud\Sms\V20190711\Models\SendSmsRequest;
|
|
use TencentCloud\Sms\V20190711\SmsClient;
|
|
|
|
class TencentSms
|
|
{
|
|
private $app_key = ''; //AppKey
|
|
private $secret_key = ''; //SecretKey
|
|
private $appid = ''; //Appid
|
|
private $sign = ''; //签名
|
|
private $mobile = ''; //手机号
|
|
private $template_code = ''; //模板编码
|
|
private $template_param = ''; //模板参数
|
|
|
|
/**
|
|
* 初始化
|
|
* TencentSms constructor.
|
|
* @param $config
|
|
*/
|
|
public function __construct($config)
|
|
{
|
|
$this->sign = $config['sign'];
|
|
$this->appid = $config['app_id'];
|
|
$this->app_key = $config['app_key'];
|
|
$this->secret_key = $config['secret_key'];
|
|
}
|
|
|
|
/**
|
|
* @Notes: 设置模板编码
|
|
* @Author: kiki
|
|
* @param $template_code
|
|
* @return $this
|
|
*/
|
|
public function setTemplateCode($template_code){
|
|
$this->template_code = $template_code;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @Notes: 设置手机号
|
|
* @Author: kiki
|
|
* @param $mobile
|
|
* @return $this
|
|
*/
|
|
public function setMobile($mobile){
|
|
$this->mobile = $mobile;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @Notes: 设置模板参数
|
|
* @Author: kiki
|
|
* @param string $template_param
|
|
* @return $this
|
|
*/
|
|
public function setTemplateParam($template_param = ''){
|
|
$this->template_param = $template_param;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @Notes: 发送短信
|
|
* @Author: kiki
|
|
*/
|
|
public function sendSms()
|
|
{
|
|
$cred = new Credential($this->app_key, $this->secret_key);
|
|
$httpProfile = new HttpProfile();
|
|
$httpProfile->setEndpoint('sms.tencentcloudapi.com');
|
|
|
|
$clientProfile = new ClientProfile();
|
|
$clientProfile->setHttpProfile($httpProfile);
|
|
|
|
$client = new SmsClient($cred, "", $clientProfile);
|
|
$req = new SendSmsRequest();
|
|
|
|
$params = [
|
|
'Sign' => $this->sign,
|
|
'SmsSdkAppid' => $this->appid,
|
|
'TemplateID' => $this->template_code,
|
|
'PhoneNumberSet' => ['+86'.$this->mobile],
|
|
'TemplateParamSet' => $this->template_param,
|
|
];
|
|
|
|
$req->fromJsonString(json_encode($params));
|
|
$resp = $client->SendSms($req);
|
|
|
|
// return $resp->toJsonString();
|
|
return json_decode($resp->toJsonString(), true);
|
|
}
|
|
} |