🎨 #2726 【小程序】小程序配置类增加设置自定义的获取accessToken地址

This commit is contained in:
jianlajideYU 2022-07-06 23:48:35 +08:00 committed by GitHub
parent 2b93f91af6
commit 918daa2a55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 30 additions and 4 deletions

View File

@ -62,10 +62,12 @@ public class WxMaServiceHttpClientImpl extends BaseWxMaServiceImpl {
@Override
protected String doGetAccessTokenRequest() throws IOException {
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getAccessTokenUrl()) ?
this.getWxMaConfig().getAccessTokenUrl() : StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
WxMaService.GET_ACCESS_TOKEN_URL.replace("https://api.weixin.qq.com", this.getWxMaConfig().getApiHostUrl()) :
WxMaService.GET_ACCESS_TOKEN_URL;
url = String.format(url, this.getWxMaConfig().getAppid(), this.getWxMaConfig().getSecret());
HttpGet httpGet = null;

View File

@ -46,7 +46,8 @@ public class WxMaServiceJoddHttpImpl extends BaseWxMaServiceImpl<HttpConnectionP
@Override
protected String doGetAccessTokenRequest() throws IOException {
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getAccessTokenUrl()) ?
this.getWxMaConfig().getAccessTokenUrl() : StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
WxMaService.GET_ACCESS_TOKEN_URL.replace("https://api.weixin.qq.com", this.getWxMaConfig().getApiHostUrl()) :
WxMaService.GET_ACCESS_TOKEN_URL;

View File

@ -64,7 +64,8 @@ public class WxMaServiceOkHttpImpl extends BaseWxMaServiceImpl<OkHttpClient, OkH
@Override
protected String doGetAccessTokenRequest() throws IOException {
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
String url = StringUtils.isNotEmpty(this.getWxMaConfig().getAccessTokenUrl()) ?
this.getWxMaConfig().getAccessTokenUrl() : StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl()) ?
WxMaService.GET_ACCESS_TOKEN_URL.replace("https://api.weixin.qq.com", this.getWxMaConfig().getApiHostUrl()) :
WxMaService.GET_ACCESS_TOKEN_URL;

View File

@ -250,4 +250,19 @@ public interface WxMaConfig {
* @return 自定义的api域名地址
*/
String getApiHostUrl();
/**
* 获取自定义的获取accessToken地址用于向自定义统一服务获取accessToken
*
* @return 自定义的获取accessToken地址
*/
String getAccessTokenUrl();
/**
* 设置自定义的获取accessToken地址
* 可用于设置获取accessToken的自定义服务
*
* @param accessTokenUrl 自定义的获取accessToken地址
*/
void setAccessTokenUrl(String accessTokenUrl);
}

View File

@ -56,6 +56,7 @@ public class WxMaDefaultConfigImpl implements WxMaConfig {
protected volatile Lock cardApiTicketLock = new ReentrantLock();
private volatile ApacheHttpClientBuilder apacheHttpClientBuilder;
private String apiHostUrl;
private String accessTokenUrl;
/**
* 会过期的数据提前过期时间默认预留200秒的时间
@ -303,6 +304,11 @@ public class WxMaDefaultConfigImpl implements WxMaConfig {
this.apiHostUrl = apiHostUrl;
}
@Override
public void setAccessTokenUrl(String accessTokenUrl) {
this.accessTokenUrl = accessTokenUrl;
}
@Override
public String getAppid() {
return appid;

View File

@ -257,6 +257,7 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage {
private final String appId;
private WxMpHostConfig hostConfig;
private String apiHostUrl;
private String accessTokenUrl;
/**
* 小程序原始ID