protected static function request($url, $data = null, $jsonEncode = true)
{
$executeUrl = str_replace('ACCESS_TOKEN', self::getApi()->getAccessToken(), $url);
if ($jsonEncode) {
$data = Json::encode($data);
}
try {
return Json::parseOrFail(Curl::execute($executeUrl, is_null($data) ? 'get' : 'post', $data));
} catch (WechatException $ex) {
//更新AccessToken再次请求
if ($ex->getCode() == 40001) {
$executeUrl = str_replace('ACCESS_TOKEN', self::getApi()->getAccessToken(false), $url);
return Json::parseOrFail(Curl::execute($executeUrl, is_null($data) ? 'get' : 'post', $data));
}
throw $ex;
}
}