accessTokenFilename); $assess_token = $fileData ?: $this->getAccessToken(); $config = $this->config('api_config'); $url = $this->dataUrl . $assess_token; $result = $this->sendGetCurl($url); $result_data = json_decode($result,true); # token过期重新获取 if (isset($result_data['error']) && $result_data['error'] == 'invalid_token') { $assess_token = $this->getAccessToken(); $url = $this->dataUrl . $assess_token; $result = $this->sendGetCurl($url); $result_data = json_decode($result,true); } if ($result_data['result'] != 'success') return '失败'; $requestData = [ [ 'library' => '044007', 'newreader' => $result_data['newreader'], 'servcount' => $result_data['servcount'], 'returncount' => $result_data['returncount'] ] ]; $requestRes = $this->request_create_data($requestData,'/api/library.pass/createLibraryLease',$config['host_path'],true); if (!$requestRes['status']) return $requestRes['msg']; return true; } /** * 获取登陆token */ protected function getAccessToken() { $url = $this->accessTokenUrl; $url .= "&client_id=".$this->client_id; $url .= "&client_secret=".$this->client_secret; $url .= "&username=".$this->username; $url .= "&password=".md5($this->password); $result = $this->curl_post($url); $deResult = json_decode($result,true); if (isset($deResult['error'])) { exit($deResult['error_description']); } $access_token = $deResult['access_token']; file_put_contents($this->accessTokenFilename,$access_token); return $access_token; } /** * 发送get请求 * @param $url * @return bool|string|void */ protected function sendGetCurl($url) { $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", ]); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { exit("cURL Error #:" . $err); } return $response; } } $lib = new LibLease(); echo $lib->run();