diff --git a/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java b/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java index ebd6f57720cec1df61e75c6b840b8e0d5884a1fa..377fb5b6ab8ea7d2a205e427e3899447b53f2ed9 100644 --- a/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java +++ b/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java @@ -110,7 +110,7 @@ public class WxMpProperties { /** * 读数据超时时间,即socketTimeout,单位毫秒 */ - private int soTimeout = 1; + private int soTimeout = 5000; /** * 从连接池获取链接的超时时间,单位毫秒 diff --git a/spring-boot-starters/wx-java-open-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/open/properties/WxOpenProperties.java b/spring-boot-starters/wx-java-open-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/open/properties/WxOpenProperties.java index 293d251397c16258d7bd6c94007982f0bede0a80..af9e55876baa6ccb55ce62546796188a89475be8 100644 --- a/spring-boot-starters/wx-java-open-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/open/properties/WxOpenProperties.java +++ b/spring-boot-starters/wx-java-open-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/open/properties/WxOpenProperties.java @@ -116,7 +116,7 @@ public class WxOpenProperties { /** * 读数据超时时间,即socketTimeout,单位毫秒 */ - private int soTimeout = 1; + private int soTimeout = 5000; /** * 从连接池获取链接的超时时间,单位毫秒 diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMessage.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMessage.java index 75d8174caf1817f4de1722edb67590b3e2dbc24f..d95882a2404355cd4cf49ceba67335dfd116e9eb 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMessage.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMessage.java @@ -212,6 +212,51 @@ public class WxMaMessage implements Serializable { @XStreamAlias("SubscribeMsgSentEvent") private WxMaSubscribeMsgEvent.SubscribeMsgSentEvent subscribeMsgSentEvent; + // 小程序基本信息 + + //region 小程序基本信息 infoType=notify_3rd_wxa_auth_and_icp + + /** + * 返回值 + */ + @XStreamAlias("ret") + private String ret; + + /** + * 一级类目id + */ + @XStreamAlias("first") + private String first; + + /** + * 二级类目id + */ + @XStreamAlias("second") + private String second; + + /** + * 驳回原因 + */ + @XStreamAlias("reason") + private String reason; + + /** + * 小程序代码审核驳回原因 + */ + @XStreamAlias("Reason") + private String weAppReason; + + /** + * 昵称 + */ + @XStreamAlias("nickname") + private String nickname; + + /** + * 原始通知内容 + */ + private String context; + /** * 不要直接使用这个字段, * 这个字段只是为了适配 SubscribeMsgPopupEvent SubscribeMsgChangeEvent SubscribeMsgSentEvent @@ -261,7 +306,9 @@ public class WxMaMessage implements Serializable { WxMaConfig wxMaConfig, String timestamp, String nonce, String msgSignature) { String plainText = new WxMaCryptUtils(wxMaConfig).decryptXml(msgSignature, timestamp, nonce, encryptedXml); - return fromXml(plainText); + WxMaMessage wxMaMessage = fromXml(plainText); + wxMaMessage.setContext(plainText); + return wxMaMessage; } public static WxMaMessage fromEncryptedXml(InputStream is, WxMaConfig wxMaConfig, String timestamp, diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java index 487604999e0b8a0078e53a2200de699ab7cc2bf5..3952f7dbf9fd327968a0c470f56448ea292f61f4 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaBasicService.java @@ -4,6 +4,7 @@ import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.open.bean.ma.WxFastMaCategory; import me.chanjar.weixin.open.bean.result.*; +import java.io.UnsupportedEncodingException; import java.util.List; /** @@ -78,6 +79,8 @@ public interface WxOpenMaBasicService { */ String OPEN_GET_ORDER_PATH_INFO = "https://api.weixin.qq.com/wxa/security/getorderpathinfo"; + String URL_COMPONENT_REBIND_ADMIN = "https://mp.weixin.qq.com/wxopen/componentrebindadmin?appid=%s&component_appid=%s&redirect_uri=%s"; + /** * 1.获取小程序的信息 @@ -148,6 +151,14 @@ public interface WxOpenMaBasicService { */ WxOpenResult modifySignature(String signature) throws WxErrorException; + /** + * 7.1 获取换绑管理员URL + * @param redirectUri 跳转URL + * @param appId 公众号的 appid + * @return 换绑管理员URL + */ + String getComponentRebindAdminUrl(String redirectUri, String appId) throws UnsupportedEncodingException; + /** * 7.3 管理员换绑 * diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java index f07a48d21d293af818e9901126ffd1ebf32df4e9..84ff7b495cab852c6eb22f044c411d979b06039c 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenFastMaServiceImpl.java @@ -11,6 +11,7 @@ import me.chanjar.weixin.open.bean.ma.WxFastMaCategory; import me.chanjar.weixin.open.bean.result.*; import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; +import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -99,6 +100,11 @@ public class WxOpenFastMaServiceImpl extends WxMaServiceImpl implements WxOpenFa return WxOpenGsonBuilder.create().fromJson(response, WxOpenResult.class); } + @Override + public String getComponentRebindAdminUrl(String redirectUri, String appId) { + return ""; + } + @Override public WxOpenResult componentRebindAdmin(String taskid) throws WxErrorException { JsonObject params = new JsonObject(); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java index ff82394ada8fc60e17b180232e32d4c16a6440f0..56d209a322346a22287ceb55bde6836ad92b17e8 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaBasicServiceImpl.java @@ -3,12 +3,16 @@ package me.chanjar.weixin.open.api.impl; import cn.binarywang.wx.miniapp.api.WxMaService; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import lombok.SneakyThrows; import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.open.api.WxOpenComponentService; import me.chanjar.weixin.open.api.WxOpenMaBasicService; import me.chanjar.weixin.open.bean.ma.WxFastMaCategory; import me.chanjar.weixin.open.bean.result.*; import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -21,9 +25,11 @@ import java.util.Map; public class WxOpenMaBasicServiceImpl implements WxOpenMaBasicService { private final WxMaService wxMaService; + private final WxOpenComponentService wxOpenComponentService; - public WxOpenMaBasicServiceImpl(WxMaService wxMaService) { + public WxOpenMaBasicServiceImpl(WxMaService wxMaService, WxOpenComponentService wxOpenComponentService) { this.wxMaService = wxMaService; + this.wxOpenComponentService = wxOpenComponentService; } @@ -81,6 +87,15 @@ public class WxOpenMaBasicServiceImpl implements WxOpenMaBasicService { return WxOpenGsonBuilder.create().fromJson(response, WxOpenResult.class); } + @SneakyThrows + @Override + public String getComponentRebindAdminUrl(String redirectUri, String appId) { + String componentAppId = wxOpenComponentService.getWxOpenConfigStorage().getComponentAppId(); + String encoded = URLEncoder.encode(redirectUri, "UTF-8"); + return String.format(URL_COMPONENT_REBIND_ADMIN, appId, componentAppId, encoded); + } + + @Override public WxOpenResult componentRebindAdmin(String taskid) throws WxErrorException { JsonObject params = new JsonObject(); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImpl.java index 3489060355fd1784a2599bd968cdfc3f18bbb631..85ce41fd0c75e649ccb210355b3e4d4af7898811 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImpl.java @@ -63,7 +63,7 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ this.wxOpenComponentService = wxOpenComponentService; this.appId = appId; this.wxMaConfig = wxMaConfig; - this.basicService = new WxOpenMaBasicServiceImpl(this); + this.basicService = new WxOpenMaBasicServiceImpl(this, wxOpenComponentService); this.authService = new WxOpenMaAuthServiceImpl(this); this.icpService = new WxOpenMaIcpServiceImpl(this); this.privacyService = new WxOpenMaPrivacyServiceImpl(this); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/authandicp/WxOpenSubmitAuthAndIcpParam.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/authandicp/WxOpenSubmitAuthAndIcpParam.java index c3377c3a8b4c51d9c9344edfbaf18fd6833f092a..3de4a0c9aab45729b5186812fef8ecc0e84a74dd 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/authandicp/WxOpenSubmitAuthAndIcpParam.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/authandicp/WxOpenSubmitAuthAndIcpParam.java @@ -518,7 +518,7 @@ public class WxOpenSubmitAuthAndIcpParam implements Serializable { * 微信小程序基本信息 */ @SerializedName("base_info") - private AppletsBaseInfo AppleBaseInfo; + private AppletsBaseInfo baseInfo; /** * 小程序负责人信息 diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/icp/WxOpenApplyIcpFilingParam.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/icp/WxOpenApplyIcpFilingParam.java index ef24a5360c8a51f4d9c86ba2f2474ffa51af84c0..c09bfc73f6451e96a5ed189b4b0fe3d7fb8d1392 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/icp/WxOpenApplyIcpFilingParam.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/icp/WxOpenApplyIcpFilingParam.java @@ -313,7 +313,7 @@ public class WxOpenApplyIcpFilingParam implements Serializable { * 微信小程序基本信息 */ @SerializedName("base_info") - private AppletsBaseInfo basInfo; + private AppletsBaseInfo baseInfo; /** * 小程序负责人信息