self::$appKey, 'appSecret' => self::$appSecret ]); $err = $result['err']; if ($err) return "cURL Error #:" . $err; $response = $result['response']; $jsonResponse = json_decode($response,true); if ($jsonResponse['code'] != '200') return $jsonResponse['msg']; self::$accessToken = $jsonResponse['data']['accessToken']; } /** * 获取设备状态信息 * @param $accessToken * @param $deviceSerial * @return mixed|string */ public static function DeviceStatus($accessToken,$deviceSerial) { $url = 'https://open.ys7.com/api/lapp/device/status/get'; $curlData = self::curlYingshiApi($url,[ 'accessToken' => $accessToken, 'deviceSerial' => $deviceSerial ]); $err = $curlData['err']; $response = $curlData['response']; if ($err) return "cURL Error #:" . $err; $jsonResponse = json_decode($response,true); if ($jsonResponse['code'] != '200') return $jsonResponse['msg']; return $jsonResponse['data']; } /** * 获取单个设备信息 * @param $accessToken * @param $deviceSerial * @return mixed|string */ public static function DeviceInfo($accessToken,$deviceSerial) { $url = 'https://open.ys7.com/api/lapp/device/info'; $curlDataInfo = YingShiSdk::curlYingshiApi($url,[ 'accessToken' => $accessToken, 'deviceSerial' => $deviceSerial ]); $err = $curlDataInfo['err']; if ($err) return "cURL Error #:" . $err; $response = $curlDataInfo['response']; $jsonResponse = json_decode($response,true); if ($jsonResponse['code'] != '200') return $jsonResponse['msg']; return $jsonResponse['data']; } /** * 请求接口数据 * @param $url // 请求地址 * @param $data // 请求参数 * @return array */ public static function curlYingshiApi($url,$data,$query = 'POST') { $dataArr = []; foreach ($data as $key => $value) $dataArr[] = $key . '=' . $value; $dataStr = implode('&',$dataArr); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "{$url}?{$dataStr}", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => $query, CURLOPT_HTTPHEADER => [ "Content-Type: application/x-www-form-urlencoded" ], ]); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($curl,CURLOPT_SSLVERSION,0); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); return [ 'err' => $err, 'response' => $response ]; } }