diff --git a/src/main/java/com/jfinal/weixin/sdk/api/AccessTokenApi.java b/src/main/java/com/jfinal/weixin/sdk/api/AccessTokenApi.java index 71234f16f374d50bc44acf570d4a498c97372737..542682b7ba8309dd200f0a331d965e028e1c79b1 100644 --- a/src/main/java/com/jfinal/weixin/sdk/api/AccessTokenApi.java +++ b/src/main/java/com/jfinal/weixin/sdk/api/AccessTokenApi.java @@ -31,11 +31,23 @@ public class AccessTokenApi { // "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; private static String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential"; + // 用于手动设置的 accessToken + private static AccessToken accessToken=null; + + public static void setAccessToken(AccessToken ak){ + accessToken=ak; + } + + public static void removeAccessToken(){ + accessToken=null; + } /** * 从缓存中获取 access token,如果未取到或者 access token 不可用则先更新再获取 * @return AccessToken accessToken */ public static AccessToken getAccessToken() { + if (accessToken!=null) + return accessToken; ApiConfig ac = ApiConfigKit.getApiConfig(); AccessToken result = getAvailableAccessToken(ac); if (result == null) { @@ -52,7 +64,7 @@ public class AccessTokenApi { private static AccessToken getAvailableAccessToken(ApiConfig ac) { // 利用 appId 与 accessToken 建立关联,支持多账户 IAccessTokenCache accessTokenCache = ApiConfigKit.getAccessTokenCache(); - + String accessTokenJson = accessTokenCache.get(ac.getAppId()); if (StrKit.notBlank(accessTokenJson)) { AccessToken result = new AccessToken(accessTokenJson);