<?php
namespace addons\clsms\library;
use think\Config;
//创蓝SMS短信发送--如有问题,请加微信 andiff424 QQ:165607361
class Clsms
{
public $error = '';
protected $config = [];
public function __construct($options = [])
{
if ($config = get_addon_config('clsms')){
$this->config = array_merge($this->config, $config);
}
$this->config = array_merge($this->config, is_array($options) ? $options : []);
}
/**
* 单例
* @param array $options 参数
* @return Clsms
*/
public static function instance($options = []){
if (is_null(self::$instance)){
self::$instance = new static($options);
}
return self::$instance;
}
//立即发送验证码 $sendtype--1会员营销短信0验证码短信 @return boolean
public function send($mobile = '',$msg = '',$sendtype = 0,$needstatus = 'true'){
$this->error = '';
$postArr = array (
'account' => ($sendtype?$this->config['key1']:$this->config['key']),
'password' => ($sendtype?$this->config['secret1']:$this->config['secret']),
'msg' => urlencode($msg.($sendtype?'退订请回T.'.$this->config['sign']:$this->config['sign'])),
'phone' => $mobile,
'report' => $needstatus
);
//print_r($this->config);exit;
$postFields = json_encode($postArr);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, 'http://smssh1.253.com/msg/send/json');
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8'
)
);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt( $ch, CURLOPT_TIMEOUT,1);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec ( $ch );
if (false == $response) {
$result = curl_error( $ch);
} else {
$rsp = curl_getinfo( $ch, CURLINFO_HTTP_CODE);
if (200 != $rsp) {
$result = "请求状态 ". $rsp . " " . curl_error($ch);
} else {
$result = $response;
}
}
curl_close ( $ch );
//$response = $this->_curl($params);
if ($response !== FALSE){
$res = (array) json_decode($response, TRUE);
print_r($res);exit;
if (isset($res['Code']) && $res['Code'] == 'OK')
return TRUE;
$this->error = isset($res['Message']) ? $res['Message'] : 'InvalidResult';
}
else{
$this->error = 'InvalidResult';
}
return FALSE;
}
/**
* 获取错误信息
* @return array
*/
public function getError()
{
return $this->error;
}
}
调用该类的send函数即可。插件配置等信息请加我微信或QQ咨询。