domainList) throws WxErrorException;
+
}
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 fef85d7f2..ab229ba53 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
@@ -32,6 +32,11 @@ public interface WxOpenMaService extends WxMaService {
*/
String API_MODIFY_DOMAIN = "https://api.weixin.qq.com/wxa/modify_domain";
+ /**
+ * 快速配置小程序服务器域名
+ */
+ String API_MODIFY_DOMAIN_DIRECTLY = "https://api.weixin.qq.com/wxa/modify_domain_directly";
+
/**
* 设置小程序业务域名(仅供第三方代小程序调用)
*
@@ -44,6 +49,11 @@ public interface WxOpenMaService extends WxMaService {
*/
String API_SET_WEBVIEW_DOMAIN = "https://api.weixin.qq.com/wxa/setwebviewdomain";
+ /**
+ * 快速配置小程序业务域名
+ */
+ String API_SET_WEBVIEW_DOMAIN_DIRECTLY = "https://api.weixin.qq.com/wxa/setwebviewdomain_directly";
+
/**
* 获取业务域名校验文件(仅供第三方代小程序调用)
*/
@@ -310,6 +320,24 @@ public interface WxOpenMaService extends WxMaService {
List uploadDomains, List downloadDomains,
List udpDomains, List tcpDomains) throws WxErrorException;
+ /**
+ * 快速配置小程序服务器域名
+ * 文档地址
+ *
+ * @param action add添加, delete删除, set覆盖, get获取
+ * @param requestDomains request 合法域名;当 action 是 get 时不需要此字段
+ * @param wsRequestDomains socket 合法域名;当 action 是 get 时不需要此字段
+ * @param uploadDomains uploadFile 合法域名;当 action 是 get 时不需要此字段
+ * @param downloadDomains downloadFile 合法域名;当 action 是 get 时不需要此字段
+ * @param tcpDomains tcp 合法域名;当 action 是 get 时不需要此字段
+ * @param udpDomains udp 合法域名;当 action 是 get 时不需要此字段
+ * @return the wx open ma domain result
+ * @throws WxErrorException the wx error exception
+ */
+ WxOpenMaDomainResult modifyDomainDirectly(String action, List requestDomains, List wsRequestDomains,
+ List uploadDomains, List downloadDomains,
+ List udpDomains, List tcpDomains) throws WxErrorException;
+
/**
* 获取小程序的业务域名
*
@@ -346,6 +374,28 @@ public interface WxOpenMaService extends WxMaService {
*/
WxOpenMaWebDomainResult setWebViewDomainInfo(String action, List domainList) throws WxErrorException;
+ /**
+ * 快速配置小程序业务域名
+ * 文档地址
+ *
+ * @param action add添加, delete删除, set覆盖, get获取
+ * @param domainList the domain list
+ * @return 直接返回字符串
+ * @throws WxErrorException the wx error exception
+ */
+ String setWebViewDomainDirectly(String action, List domainList) throws WxErrorException;
+
+ /**
+ * 快速配置小程序业务域名
+ * 文档地址
+ *
+ * @param action add添加, delete删除, set覆盖, get获取
+ * @param domainList the domain list
+ * @return web view domain info
+ * @throws WxErrorException the wx error exception
+ */
+ WxOpenMaWebDomainResult setWebViewDomainDirectlyInfo(String action, List domainList) throws WxErrorException;
+
/**
* 获取业务域名校验文件
*
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
index 80da912be..18940c4d2 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
@@ -1307,4 +1307,55 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
String response = post(OPEN_APPLY_SET_ORDER_PATH_INFO, gson.toJson(info));
return WxOpenGsonBuilder.create().fromJson(response, WxOpenResult.class);
}
+
+ @Override
+ public WxOpenMaDomainResult modifyWxaServerDomain(String action, List requestDomains, List wsRequestDomains,
+ List uploadDomains, List downloadDomains,
+ List udpDomains, List tcpDomains) throws WxErrorException {
+ JsonObject requestJson = new JsonObject();
+ requestJson.addProperty("action", action);
+ if (!"get".equals(action)) {
+ requestJson.add("requestdomain", toJsonArray(requestDomains));
+ requestJson.add("wsrequestdomain", toJsonArray(wsRequestDomains));
+ requestJson.add("uploaddomain", toJsonArray(uploadDomains));
+ requestJson.add("downloaddomain", toJsonArray(downloadDomains));
+ requestJson.add("udpdomain", toJsonArray(udpDomains));
+ requestJson.add("tcpdomain", toJsonArray(tcpDomains));
+ }
+
+ String response = post(API_MODIFY_WXA_SERVER_DOMAIN, requestJson.toString());
+ return WxOpenGsonBuilder.create().fromJson(response, WxOpenMaDomainResult.class);
+ }
+
+ @Override
+ public WxOpenMaDomainConfirmFileResult getDomainConfirmFile() throws WxErrorException {
+ String responseContent = post(API_GET_DOMAIN_CONFIRM_FILE, "{}");
+ return WxOpenMaDomainConfirmFileResult.fromJson(responseContent);
+ }
+
+ @Override
+ public String modifyWxaJumpDomain(String action, List domainList) throws WxErrorException {
+ JsonObject requestJson = new JsonObject();
+ requestJson.addProperty("action", action);
+ if (!"get".equals(action)) {
+ requestJson.add("webviewdomain", toJsonArray(domainList));
+ }
+ return post(API_MODIFY_WXA_JUMP_DOMAIN, requestJson.toString());
+ }
+
+ @Override
+ public WxOpenMaWebDomainResult modifyWxaJumpDomainInfo(String action, List domainList) throws WxErrorException {
+ String response = this.modifyWxaJumpDomain(action, domainList);
+ return WxOpenGsonBuilder.create().fromJson(response, WxOpenMaWebDomainResult.class);
+ }
+
+ private JsonArray toJsonArray(List list) {
+ JsonArray jsonArray = new JsonArray();
+ if (list != null) {
+ for (String item : list) {
+ jsonArray.add(item);
+ }
+ }
+ return jsonArray;
+ }
}
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 85ce41fd0..da9f910eb 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
@@ -113,6 +113,25 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaDomainResult.class);
}
+ @Override
+ public WxOpenMaDomainResult modifyDomainDirectly(String action, List requestDomains, List wsRequestDomains,
+ List uploadDomains, List downloadDomains,
+ List udpDomains, List tcpDomains) throws WxErrorException {
+ JsonObject requestJson = new JsonObject();
+ requestJson.addProperty(ACTION, action);
+ if (!ACTION_GET.equals(action)) {
+ requestJson.add("requestdomain", toJsonArray(requestDomains));
+ requestJson.add("wsrequestdomain", toJsonArray(wsRequestDomains));
+ requestJson.add("uploaddomain", toJsonArray(uploadDomains));
+ requestJson.add("downloaddomain", toJsonArray(downloadDomains));
+ requestJson.add("udpdomain", toJsonArray(udpDomains));
+ requestJson.add("tcpdomain", toJsonArray(tcpDomains));
+ }
+
+ String response = post(API_MODIFY_DOMAIN_DIRECTLY, GSON.toJson(requestJson));
+ return WxMaGsonBuilder.create().fromJson(response, WxOpenMaDomainResult.class);
+ }
+
@Override
public String getWebViewDomain() throws WxErrorException {
return setWebViewDomain(ACTION_GET, null);
@@ -140,6 +159,22 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaWebDomainResult.class);
}
+ @Override
+ public String setWebViewDomainDirectly(String action, List domainList) throws WxErrorException {
+ JsonObject requestJson = new JsonObject();
+ requestJson.addProperty(ACTION, action);
+ if (!ACTION_GET.equals(action)) {
+ requestJson.add("webviewdomain", toJsonArray(domainList));
+ }
+ return post(API_SET_WEBVIEW_DOMAIN_DIRECTLY, GSON.toJson(requestJson));
+ }
+
+ @Override
+ public WxOpenMaWebDomainResult setWebViewDomainDirectlyInfo(String action, List domainList) throws WxErrorException {
+ String response = this.setWebViewDomainDirectly(action, domainList);
+ return WxMaGsonBuilder.create().fromJson(response, WxOpenMaWebDomainResult.class);
+ }
+
@Override
public WxOpenMaDomainConfirmFileResult getWebviewDomainConfirmFile() throws WxErrorException {
String responseContent = post(API_GET_WEBVIEW_DOMAIN_CONFIRM_FILE, "{}");