From 87431f3ffe6f3dea67076ea38fc4487cd9ce0722 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Wed, 27 Jan 2021 23:45:28 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#1897=20=E3=80=90=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E3=80=91=E6=8E=A5=E5=8F=A3=E8=AF=B7=E6=B1=82=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E7=9A=84=E5=9F=9F=E5=90=8D=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=AE=BE=E7=BD=AE=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/api/WxMaMsgService.java | 7 ++++--- .../miniapp/api/impl/BaseWxMaServiceImpl.java | 4 ++++ .../WxMaPubTemplateTitleListResult.java | 3 ++- .../wx/miniapp/config/WxMaConfig.java | 19 +++++++++++++++++-- .../config/impl/WxMaDefaultConfigImpl.java | 9 ++++++++- 5 files changed, 35 insertions(+), 7 deletions(-) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaMsgService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaMsgService.java index f166a2b24..70fd3301d 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaMsgService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaMsgService.java @@ -1,13 +1,14 @@ package cn.binarywang.wx.miniapp.api; -import cn.binarywang.wx.miniapp.bean.*; +import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage; +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; +import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage; +import cn.binarywang.wx.miniapp.bean.WxMaUpdatableMsg; import com.google.gson.JsonObject; import me.chanjar.weixin.common.error.WxErrorException; /** - *
  * 消息发送接口
- * 
* * @author Binary Wang */ diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java index 1a2ca1ea6..9c0fc6722 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java @@ -243,6 +243,10 @@ public abstract class BaseWxMaServiceImpl implements WxMaService, RequestH } String accessToken = getAccessToken(false); + if(StringUtils.isNotEmpty(this.getWxMaConfig().getApiHostUrl())){ + uri = uri.replace("https://api.weixin.qq.com",this.getWxMaConfig().getApiHostUrl() ); + } + String uriWithAccessToken = uri + (uri.contains("?") ? "&" : "?") + "access_token=" + accessToken; try { diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/template/WxMaPubTemplateTitleListResult.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/template/WxMaPubTemplateTitleListResult.java index d2dacc6e6..6c68b0148 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/template/WxMaPubTemplateTitleListResult.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/template/WxMaPubTemplateTitleListResult.java @@ -22,7 +22,8 @@ public class WxMaPubTemplateTitleListResult implements Serializable { } @Data - public static class TemplateItem { + public static class TemplateItem implements Serializable { + private static final long serialVersionUID = 6888726696879905332L; private Integer type; diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java index 6854c87e7..c1ad10682 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/WxMaConfig.java @@ -1,10 +1,10 @@ package cn.binarywang.wx.miniapp.config; -import java.util.concurrent.locks.Lock; - import me.chanjar.weixin.common.bean.WxAccessToken; import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; +import java.util.concurrent.locks.Lock; + /** * 小程序配置 * @@ -219,4 +219,19 @@ public interface WxMaConfig { */ boolean autoRefreshToken(); + /** + * 设置自定义的apiHost地址 + * 具体取值,可以参考https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Interface_field_description.html + * + * @param apiHostUrl api域名地址 + */ + void setApiHostUrl(String apiHostUrl); + + /** + * 获取自定义的apiHost地址,用于替换原请求中的https://api.weixin.qq.com + * 具体取值,可以参考https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Interface_field_description.html + * + * @return 自定义的api域名地址 + */ + String getApiHostUrl(); } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaDefaultConfigImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaDefaultConfigImpl.java index 73104bd36..ffec79141 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaDefaultConfigImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaDefaultConfigImpl.java @@ -2,6 +2,7 @@ package cn.binarywang.wx.miniapp.config.impl; import cn.binarywang.wx.miniapp.config.WxMaConfig; import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder; +import lombok.Getter; import me.chanjar.weixin.common.bean.WxAccessToken; import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; @@ -14,6 +15,7 @@ import java.util.concurrent.locks.ReentrantLock; * * @author Binary Wang */ +@Getter public class WxMaDefaultConfigImpl implements WxMaConfig { protected volatile String appid; protected volatile String token; @@ -49,6 +51,7 @@ public class WxMaDefaultConfigImpl implements WxMaConfig { protected volatile Lock jsapiTicketLock = new ReentrantLock(); protected volatile Lock cardApiTicketLock = new ReentrantLock(); private volatile ApacheHttpClientBuilder apacheHttpClientBuilder; + private String apiHostUrl; /** * 会过期的数据提前过期时间,默认预留200秒的时间 @@ -124,7 +127,6 @@ public class WxMaDefaultConfigImpl implements WxMaConfig { this.jsapiTicketExpiresTime = expiresAheadInMillis(expiresInSeconds); } - @Override public String getCardApiTicket() { return this.cardApiTicket; @@ -274,6 +276,11 @@ public class WxMaDefaultConfigImpl implements WxMaConfig { return true; } + @Override + public void setApiHostUrl(String apiHostUrl) { + this.apiHostUrl = apiHostUrl; + } + @Override public String getAppid() { return appid;