/** * 获取accesstoken * * @param int $id * @return \think\Response */ public function AccessToken($appid) { //获取url $file = $this->accesstoken_url; if(!file_exists($file)){ $token = $this->get_accesstoken($appid); }else{ $fileInfo = explode(",",file_get_contents($file)); if(!empty(trim($fileInfo[0])) && $fileInfo[1] >= time()){ $token = $fileInfo[0]; }else{ $token = $this->get_accesstoken($appid); } } return $token; } /** * 获取token */ private function get_accesstoken($appid) { $data = [ "grant_type"=>"client_credential", "appid"=>$appid, "secret"=>$this->AppSecret ]; $url = $this->url_token; $tokeninfo = $this->jsonDecode(https_request($url,$data),"access_token"); if($tokeninfo){ $text = $tokeninfo.",".(time()+7000); //写入文件中 $file = $this->accesstoken_url; if(!file_exists($file)){ fopen($file,"wb"); } //把值存入文件中 $myfile = fopen($file,"w"); fwrite($myfile, $text);//写入文件 fclose($myfile);//关闭文件 } return $tokeninfo; } /** * json数据处理 */ private function jsonDecode($data,$key) { $new_data = json_decode($data,true); if(array_key_exists($key,$new_data)){ return $new_data[$key]; } return $data; }