function.php.bak.2021-12-13 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. <?php
  2. header('content-type:text/html;charset=utf-8');
  3. //这里开始
  4. function query_187_jdxf($sql)
  5. {
  6. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'jdxf', 3306);
  7. mysqli_query($link, "set character set 'utf8'");
  8. $res1 = mysqli_query($link, $sql);
  9. if ($res1 == FALSE) {
  10. return $list = null;
  11. }
  12. $list = array();
  13. while ($row = $res1->fetch_assoc()) {
  14. $list[] = $row;
  15. }
  16. mysqli_free_result($res1);
  17. mysqli_close($link);
  18. return $list;
  19. }
  20. function insert_187_jdxf($sql)
  21. {
  22. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'jdxf', 3306);
  23. mysqli_query($link, "set character set 'utf8'");
  24. $res1 = mysqli_query($link, $sql);
  25. mysqli_close($link);
  26. return $res1;
  27. }
  28. function query_187_ytapi($sql)
  29. {
  30. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytapi', 3306);
  31. mysqli_query($link, "set character set 'utf8'");
  32. $res1 = mysqli_query($link, $sql);
  33. if ($res1 == FALSE) {
  34. return $list = null;
  35. }
  36. $list = array();
  37. while ($row = $res1->fetch_assoc()) {
  38. $list[] = $row;
  39. }
  40. mysqli_free_result($res1);
  41. mysqli_close($link);
  42. return $list;
  43. }
  44. function insert_187_ytapi($sql)
  45. {
  46. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytapi', 3306);
  47. mysqli_query($link, "set character set 'utf8'");
  48. $res1 = mysqli_query($link, $sql);
  49. mysqli_close($link);
  50. return $res1;
  51. }
  52. function query_187_ytIoT($sql)
  53. {
  54. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytIoT', 3306);
  55. mysqli_query($link, "set character set 'utf8'");
  56. $res1 = mysqli_query($link, $sql);
  57. if ($res1 == FALSE) {
  58. return $list = null;
  59. }
  60. $list = array();
  61. while ($row = $res1->fetch_assoc()) {
  62. $list[] = $row;
  63. }
  64. mysqli_free_result($res1);
  65. mysqli_close($link);
  66. return $list;
  67. }
  68. function insert_187_ytIoT($sql)
  69. {
  70. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytIoT', 3306);
  71. mysqli_query($link, "set character set 'utf8'");
  72. $res1 = mysqli_query($link, $sql);
  73. mysqli_close($link);
  74. return $res1;
  75. }
  76. function http_post_advertise($url, $data)
  77. { //封装curl方法
  78. $ch = curl_init(); //初始化
  79. curl_setopt($ch, CURLOPT_URL, $url); //请求地址
  80. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  81. curl_setopt($ch, CURLOPT_POST, true);
  82. //https协议需要以下两行,否则请求不成功
  83. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  84. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  85. //post方法所需要的参数
  86. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  87. // curl_setopt($ch, CURLOPT_HTTPHEADER,array());
  88. $result = curl_exec($ch);
  89. curl_close($ch);
  90. return $result; //返回所获取的方法
  91. }
  92. function ytapi187_query($sql)
  93. {
  94. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytapi', 3306);
  95. mysqli_query($link, "set character set 'utf8'");
  96. $res1 = mysqli_query($link, $sql);
  97. if ($res1 == FALSE) {
  98. return $list = null;
  99. }
  100. $list = array();
  101. while ($row = $res1->fetch_assoc()) {
  102. $list[] = $row;
  103. }
  104. mysqli_free_result($res1);
  105. mysqli_close($link);
  106. return $list;
  107. }
  108. function ytapi187_inset($sql)
  109. {
  110. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'ytapi', 3306);
  111. mysqli_query($link, "set character set 'utf8'");
  112. $res1 = mysqli_query($link, $sql);
  113. mysqli_close($link);
  114. return $res1;
  115. }
  116. function addtable($device_id, $deviceType)
  117. {
  118. if ($deviceType == 'Smoke') {
  119. $device_table = "sp_" . "y" . $device_id;
  120. $create_sql = "
  121. CREATE TABLE `" . $device_table . "` (
  122. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  123. `device_id` varchar(200) DEFAULT NULL,
  124. `RSRQ` varchar(255) DEFAULT NULL,
  125. `CSQ` varchar(255) DEFAULT NULL,
  126. `DeviceType` varchar(50) DEFAULT NULL,
  127. `DeviceStatus` varchar(50) DEFAULT NULL,
  128. `BatteryLevel` varchar(50) DEFAULT NULL,
  129. `SensorLevel` varchar(50) DEFAULT NULL,
  130. `eventTime` varchar(50) DEFAULT NULL,
  131. `storeTime` varchar(50) DEFAULT NULL,
  132. PRIMARY KEY (`id`)
  133. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  134. ";
  135. } else {
  136. $device_table = "sp_d" . $device_id;
  137. $create_sql = "
  138. CREATE TABLE `" . $device_table . "` (
  139. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  140. `device_code` varchar(30) DEFAULT NULL,
  141. `port` varchar(55) DEFAULT NULL,
  142. `time` datetime DEFAULT '2012-01-01',
  143. `status` varchar(50) DEFAULT NULL,
  144. `address` varchar(50) DEFAULT NULL,
  145. `ncmd` varchar(50) DEFAULT NULL,
  146. `data1` varchar(50) DEFAULT NULL,
  147. `data2` varchar(255) DEFAULT NULL,
  148. `data3` varchar(255) DEFAULT NULL,
  149. `data4` varchar(255) DEFAULT NULL,
  150. `data5` varchar(255) DEFAULT NULL,
  151. PRIMARY KEY (`id`)
  152. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  153. ";
  154. }
  155. return $create_sql;
  156. }
  157. //function sql_exec($sql){
  158. // $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'jdxf', 3306);
  159. // mysqli_query($link,"set character set 'utf8'");
  160. // mysqli_query($link,$sql);
  161. // mysqli_close($link);
  162. //}
  163. function owner($device_id)
  164. {
  165. $link = mysqli_connect('47.98.201.187', 'root', 'Yt2018IoT', 'jdxf', 3306);
  166. mysqli_query($link, "set character set 'utf8'");
  167. $sql = "SELECT company,louyu,unitinfo FROM sp_owner WHERE owner_code = '$device_id'";
  168. $res1 = mysqli_query($link, $sql);
  169. $row = $res1->fetch_assoc();
  170. mysqli_free_result($res1);
  171. mysqli_close($link);
  172. return $row;
  173. }
  174. function gettoken()
  175. {
  176. if (file_exists("./token.json")) {
  177. $token = json_decode(file_get_contents('./token.json'), true);
  178. if ($token['token_time_out'] >= time()) {
  179. return json_encode($token);
  180. } else {
  181. return refreshtoken();
  182. }
  183. } else {
  184. return Auth();
  185. }
  186. }
  187. function gettoken1()
  188. {
  189. if (file_exists("./token1.json")) {
  190. $token = json_decode(file_get_contents('./token1.json'), true);
  191. if ($token['token_time_out'] >= time()) {
  192. return json_encode($token);
  193. } else {
  194. return refreshtoken1();
  195. }
  196. } else {
  197. return Auth1();
  198. }
  199. }
  200. function Auth()
  201. {
  202. $data = "appId=wvdOfp7JVe0ULwnFKwBF0edfbcAa&secret=Bihoe_rY9vebXMw6sFfpQy0jiRca";
  203. $header = [
  204. "Content-Type:application/x-www-form-urlencoded",
  205. ];
  206. $rescurl = curl("https://device.api.ct10649.com:8743/iocm/app/sec/v1.1.0/login", $data, $header);
  207. // echo $rescurl;
  208. // exit();
  209. // echo '第一'.$rescurl;
  210. if ($rescurl[0] == 200) {
  211. $res = json_decode($rescurl[1], true);
  212. $res["token_time_out"] = $res['expiresIn'] + time();
  213. $res["refresh_token_time_out"] = time() + 86400 * 7;
  214. $result = json_encode($res);
  215. file_put_contents("./token.json", $result);
  216. return $result;
  217. } else {
  218. return $rescurl[1];
  219. }
  220. }
  221. function Auth1()
  222. {
  223. $data = "appId=bIS92ndpAf_fhmPdLaNuTidbFfka&secret=NZMe1G42OdSmzlEuDpR_3ywKPhIa";
  224. $header = [
  225. "Content-Type:application/x-www-form-urlencoded",
  226. ];
  227. $rescurl = curl("https://device.api.ct10649.com:8743/iocm/app/sec/v1.1.0/login", $data, $header);
  228. // echo $rescurl;
  229. // exit();
  230. // echo '第一'.$rescurl;
  231. if ($rescurl[0] == 200) {
  232. $res = json_decode($rescurl[1], true);
  233. $res["token_time_out"] = $res['expiresIn'] + time();
  234. $res["refresh_token_time_out"] = time() + 86400 * 7;
  235. $result = json_encode($res);
  236. file_put_contents("./token1.json", $result);
  237. return $result;
  238. } else {
  239. return $rescurl[1];
  240. }
  241. }
  242. function refreshtoken()
  243. {
  244. $token = session("token");
  245. if ($token["refresh_token_time_out"] >= time()) {
  246. $data = [
  247. "appId" => "wvdOfp7JVe0ULwnFKwBF0edfbcAa",
  248. "secret" => "Bihoe_rY9vebXMw6sFfpQy0jiRca",
  249. "refreshToken" => $token["refreshToken"],
  250. ];
  251. $header = [
  252. "Content-Type:application/json",
  253. ];
  254. $rescurl = curl("https://device.api.ct10649.com:8743/iocm/app/sec/v1.1.0/refreshToken", json_encode($data), $header);
  255. if ($rescurl[0] == 200) {
  256. $res = json_decode($rescurl[1], true);
  257. $res["token_time_out"] = time() + $res['expiresIn'];
  258. $res["refresh_token_time_out"] = time() + 86400 * 7;
  259. //session('token',$res);//
  260. $result = json_encode($res);
  261. file_put_contents("./token.json", $result);
  262. return $result;
  263. } else {
  264. return $rescurl[1];
  265. }
  266. } else {
  267. return Auth();
  268. }
  269. }
  270. function refreshtoken1()
  271. {
  272. $token = session("token");
  273. if ($token["refresh_token_time_out"] >= time()) {
  274. $data = [
  275. "appId" => "bIS92ndpAf_fhmPdLaNuTidbFfka",
  276. "secret" => "NZMe1G42OdSmzlEuDpR_3ywKPhIa",
  277. "refreshToken" => $token["refreshToken"],
  278. ];
  279. $header = [
  280. "Content-Type:application/json",
  281. ];
  282. $rescurl = curl("https://device.api.ct10649.com:8743/iocm/app/sec/v1.1.0/refreshToken", json_encode($data), $header);
  283. if ($rescurl[0] == 200) {
  284. $res = json_decode($rescurl[1], true);
  285. $res["token_time_out"] = time() + $res['expiresIn'];
  286. $res["refresh_token_time_out"] = time() + 86400 * 7;
  287. //session('token',$res);//
  288. $result = json_encode($res);
  289. file_put_contents("./token1.json", $result);
  290. return $result;
  291. } else {
  292. return $rescurl[1];
  293. }
  294. } else {
  295. return Auth1();
  296. }
  297. }
  298. function curl($url, $data = '', $header = "", $method = "POST")
  299. {
  300. $ch = curl_init();
  301. curl_setopt($ch, CURLOPT_URL, $url);
  302. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  303. // curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
  304. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  305. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  306. /* curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');*/
  307. // curl_setopt($ch, CURLOPT_VERBOSE, 1); //debugģʽ
  308. curl_setopt($ch, CURLOPT_SSLCERT, "./server.crt");
  309. curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "IoM@1234");
  310. curl_setopt($ch, CURLOPT_SSLKEY, "./server.key");
  311. if ($method == "POST" || $method == "PUT" || $method == "DELETE") {
  312. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
  313. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  314. }
  315. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  316. $info = curl_exec($ch);
  317. $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  318. if (curl_errno($ch)) {
  319. $infores = 'Errno' . curl_error($ch);
  320. } else {
  321. $infores = array($status, $info);
  322. }
  323. curl_close($ch);
  324. return $infores;
  325. }
  326. function http_post($url, $post, $timeout)
  327. {
  328. $curl = curl_init();
  329. curl_setopt($curl, CURLOPT_URL, $url);
  330. curl_setopt($curl, CURLOPT_POST, 1);
  331. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  332. // curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
  333. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  334. $output = curl_exec($curl);
  335. $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  336. $errMsg = curl_multi_getcontent($curl);
  337. if (curl_errno($curl)) {
  338. $infores = 'Errno' . curl_error($curl);
  339. } else {
  340. $infores = array($code, $output);
  341. }
  342. curl_close($curl);
  343. return $infores;
  344. }
  345. function json_post($url, $data)
  346. {
  347. $curl = curl_init();
  348. curl_setopt($curl, CURLOPT_URL, $url);
  349. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  350. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  351. if (!$data) {
  352. return 'data is null';
  353. }
  354. if (is_array($data)) {
  355. $data = json_encode($data);
  356. }
  357. curl_setopt($curl, CURLOPT_POST, 1);
  358. curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  359. curl_setopt($curl, CURLOPT_HEADER, 0);
  360. curl_setopt($curl, CURLOPT_HTTPHEADER, array(
  361. 'Content-Type: application/json; charset=utf-8',
  362. 'Content-Length:' . strlen($data),
  363. 'Cache-Control: no-cache',
  364. 'Pragma: no-cache'
  365. ));
  366. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  367. $res = curl_exec($curl);
  368. $errorno = curl_errno($curl);
  369. if ($errorno) {
  370. return $errorno;
  371. }
  372. curl_close($curl);
  373. return $res;
  374. }
  375. function curl_get($url)
  376. {
  377. $header = array(
  378. 'Accept: application/json',
  379. );
  380. $curl = curl_init();
  381. //设置抓取的url
  382. curl_setopt($curl, CURLOPT_URL, $url);
  383. //设置头文件的信息作为数据流输出
  384. curl_setopt($curl, CURLOPT_HEADER, 0);
  385. // 超时设置,以秒为单位
  386. curl_setopt($curl, CURLOPT_TIMEOUT, 1);
  387. // 超时设置,以毫秒为单位
  388. // curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
  389. // 设置请求头
  390. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  391. //设置获取的信息以文件流的形式返回,而不是直接输出。
  392. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  393. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  394. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  395. //执行命令
  396. $data = curl_exec($curl);
  397. $errorno=curl_error($curl);
  398. // 显示错误信息
  399. if ($errorno) {
  400. return $errorno;
  401. }
  402. curl_close($curl);
  403. return $data;
  404. }
  405. function array_column($arr2, $column_key) {
  406. $data = [];
  407. foreach ($arr2 as $key => $value) {
  408. $data[] = $value[$column_key];
  409. }
  410. return $data;
  411. }