config = $config; return $this; } /** * 释放授权 * @return $this */ public function token(): static { $this->header = [ "access-token" => $this->getAccessToken() ]; return $this; } public function getAccessToken() { try { $accessToken = Cache::get($this->getPrefix()); if (!empty($accessToken)) return $accessToken; $result = (new Token)->config($this->config)->getAccessToken(); if (empty($result)) return "获取Token失败"; Cache::set($this->getPrefix(),$result['access_token'],$result['expires_in']); return $result['access_token']; } catch (\Throwable $throwable) { return ""; } } /** * @return string */ protected function getPrefix(): string { return str_replace("[appid]",$this->config['appid'],$this->prefix); } /** * @param string $url * @param array $data * @param string $field * @return array */ public function curlPostApi(string $url = "", array $data = [], string $field = "data"): array { $result = Http::asJson()->withHeaders($this->header)->post($this->gateway.$url,$data)->array(); if(!empty($result[$field])) { return $result[$field]; } return []; } /** * @param string $url * @param array $data * @param string $field * @return array */ public function curlGetApi(string $url = "", array $data = [], string $field = "data"): array { $result = Http::asJson()->withProxy("")->withHeaders($this->header)->get($this->gateway.$url,$data)->array(); if(!empty($result[$field])) { return $result[$field]; } return []; } }