正在显示
1 个修改的文件
包含
63 行增加
和
1 行删除
@@ -10,7 +10,69 @@ namespace app\portal\controller; | @@ -10,7 +10,69 @@ namespace app\portal\controller; | ||
10 | 10 | ||
11 | use cmf\controller\WeChatBaseController; | 11 | use cmf\controller\WeChatBaseController; |
12 | use think\Db; | 12 | use think\Db; |
13 | -use extend\lib\php_Nsms_demo; | 13 | + |
14 | +class sendAPI { | ||
15 | + public $data; //发送数据 | ||
16 | + public $timeout = 30; //超时 | ||
17 | + private $apiUrl; //发送地址 | ||
18 | + private $username; //用户名 | ||
19 | + private $password; //密码 | ||
20 | + | ||
21 | + function __construct($url, $username, $password) { | ||
22 | + $this->apiUrl = $url; | ||
23 | + $this->username = $username; | ||
24 | + $this->password = $password; | ||
25 | + } | ||
26 | + | ||
27 | + private function httpGet() { | ||
28 | + $url = $this->apiUrl . '?' . http_build_query($this->data); | ||
29 | + $curl = curl_init(); | ||
30 | + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); | ||
31 | + curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout); | ||
32 | + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); | ||
33 | + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); | ||
34 | + curl_setopt($curl, CURLOPT_URL, $url); | ||
35 | + $res = curl_exec($curl); | ||
36 | + if (curl_errno($curl)) { | ||
37 | + echo 'Error GET '.curl_error($curl); | ||
38 | + } | ||
39 | + curl_close($curl); | ||
40 | + return $res; | ||
41 | + } | ||
42 | + | ||
43 | + private function httpPost(){ // 模拟提交数据函数 | ||
44 | + $curl = curl_init(); // 启动一个CURL会话 | ||
45 | + curl_setopt($curl, CURLOPT_URL, $this->apiUrl); // 要访问的地址 | ||
46 | + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查 | ||
47 | + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 | ||
48 | + curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 | ||
49 | + curl_setopt($curl, CURLOPT_POST, true); // 发送一个常规的Post请求 | ||
50 | + curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->data)); // Post提交的数据包 | ||
51 | + curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout); // 设置超时限制防止死循环 | ||
52 | + curl_setopt($curl, CURLOPT_HEADER, false); // 显示返回的Header区域内容 | ||
53 | + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 获取的信息以文件流的形式返回 | ||
54 | + $result = curl_exec($curl); // 执行操作 | ||
55 | + if (curl_errno($curl)) { | ||
56 | + echo 'Error POST'.curl_error($curl); | ||
57 | + } | ||
58 | + curl_close($curl); // 关键CURL会话 | ||
59 | + return $result; // 返回数据 | ||
60 | + } | ||
61 | + | ||
62 | + /** | ||
63 | + * @param $type|提交类型 POST/GET | ||
64 | + * @param $isTranscoding|是否需要转 $isTranscoding 是否需要转utf-8 默认 false | ||
65 | + * @return mixed | ||
66 | + */ | ||
67 | + public function sendSMS($type, $isTranscoding = false) { | ||
68 | + $this->data['content'] = $isTranscoding === true ? mb_convert_encoding($this->data['content'], "UTF-8") : $this->data['content']; | ||
69 | + $this->data['username'] = $this->username; | ||
70 | + $this->data['tkey'] = date('YmdHis'); | ||
71 | + $this->data['password'] = md5(md5($this->password) . $this->data['tkey']); | ||
72 | + return $type == "POST" ? $this->httpPost() : $this->httpGet(); | ||
73 | + } | ||
74 | + | ||
75 | +} | ||
14 | 76 | ||
15 | class PersonalcenterController extends WeChatBaseController{ | 77 | class PersonalcenterController extends WeChatBaseController{ |
16 | 78 |
-
请 注册 或 登录 后发表评论