From 2b150b21b7b8fb6902dfa2540c59fda55cca001a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BA=AF=E5=AD=90?= <3046836433@qq.com> Date: Sat, 1 Oct 2022 18:42:03 +0800 Subject: [PATCH] =?UTF-8?q?:new:=20=E5=A2=9E=E5=8A=A0DNS=E9=A2=84=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/open/api/WxOpenMaService.java | 28 ++++++++++++++++ .../open/api/impl/WxOpenMaServiceImpl.java | 13 ++++++++ .../open/bean/ma/WxMaPrefetchDomain.java | 24 ++++++++++++++ .../result/WxOpenMaPrefetchDomainResult.java | 33 +++++++++++++++++++ 4 files changed, 98 insertions(+) create mode 100644 weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaPrefetchDomain.java create mode 100644 weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaPrefetchDomainResult.java diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaService.java index ceb7a6a88..9f13ee6d8 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaService.java @@ -3,6 +3,7 @@ package me.chanjar.weixin.open.api; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaAuditMediaUploadResult; import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.open.bean.ma.WxMaPrefetchDomain; import me.chanjar.weixin.open.bean.ma.WxMaScheme; import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; import me.chanjar.weixin.open.bean.result.*; @@ -256,6 +257,16 @@ public interface WxOpenMaService extends WxMaService { */ String API_GET_VERSION_INFO = "https://api.weixin.qq.com/wxa/getversioninfo"; + /** + * 设置DNS预解析域名 + */ + String API_WX_SET_PREFETCH_DOMAIN = "https://api.weixin.qq.com/wxa/set_prefetchdnsdomain"; + + /** + * 获取DNS预解析域名 + */ + String API_GET_PREFETCH_DOMAIN = "https://api.weixin.qq.com/wxa/get_prefetchdnsdomain"; + /** * 获得小程序的域名配置信息 * @@ -715,4 +726,21 @@ public interface WxOpenMaService extends WxMaService { */ WxOpenVersioninfoResult getVersionInfo() throws WxErrorException; + /** + * 设置DNS预解析域名 + * + * @param domain 预解析域名列表 + * @return {@link WxOpenResult} + * @throws WxErrorException the wx error exception + */ + WxOpenResult setPrefetchDomain(WxMaPrefetchDomain domain) throws WxErrorException; + + /** + * 获取DNS预解析域名 + * + * @return {@link WxOpenMaPrefetchDomainResult} + * @throws WxErrorException he wx error exception + */ + WxOpenMaPrefetchDomainResult getPrefetchDomain() throws WxErrorException; + } 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 a90430ce5..67dab4aa5 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 @@ -17,6 +17,7 @@ import me.chanjar.weixin.open.api.WxOpenComponentService; import me.chanjar.weixin.open.api.WxOpenMaBasicService; import me.chanjar.weixin.open.api.WxOpenMaPrivacyService; import me.chanjar.weixin.open.api.WxOpenMaService; +import me.chanjar.weixin.open.bean.ma.WxMaPrefetchDomain; import me.chanjar.weixin.open.bean.ma.WxMaQrcodeParam; import me.chanjar.weixin.open.bean.ma.WxMaScheme; import me.chanjar.weixin.open.bean.message.WxOpenMaSubmitAuditMessage; @@ -446,4 +447,16 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ String response = post(API_GET_VERSION_INFO, GSON.toJson(params)); return WxMaGsonBuilder.create().fromJson(response, WxOpenVersioninfoResult.class); } + + @Override + public WxOpenResult setPrefetchDomain(WxMaPrefetchDomain domain) throws WxErrorException { + String response = post(API_WX_SET_PREFETCH_DOMAIN, GSON.toJson(domain)); + return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); + } + + @Override + public WxOpenMaPrefetchDomainResult getPrefetchDomain() throws WxErrorException { + String response = get(API_GET_PREFETCH_DOMAIN, null); + return WxMaGsonBuilder.create().fromJson(response, WxOpenMaPrefetchDomainResult.class); + } } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaPrefetchDomain.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaPrefetchDomain.java new file mode 100644 index 000000000..29e484cad --- /dev/null +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaPrefetchDomain.java @@ -0,0 +1,24 @@ +package me.chanjar.weixin.open.bean.ma; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author 清心 + * create on 2022-10-01 18:07 + */ +@Data +public class WxMaPrefetchDomain implements Serializable { + private static final long serialVersionUID = 1593947263587362155L; + + @SerializedName("prefetch_dns_domain") + private List prefetchDnsDomain; + + @Data + public static class DnsDomain { + private String url; + } +} diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaPrefetchDomainResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaPrefetchDomainResult.java new file mode 100644 index 000000000..2b74874eb --- /dev/null +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaPrefetchDomainResult.java @@ -0,0 +1,33 @@ +package me.chanjar.weixin.open.bean.result; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * @author 清心 + * create on 2022-10-01 18:25 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class WxOpenMaPrefetchDomainResult extends WxOpenResult{ + + @SerializedName("prefetch_dns_domain") + private List prefetchDnsDomain; + + @SerializedName("size_limit") + private Integer sizeLimit; + + @Data + public static class PreDnsDomain { + + @SerializedName("url") + private String url; + + @SerializedName("status") + private Integer status; + } + +} -- Gitee