From 62490c77b678a66386ca312a44834d70be5eb90b Mon Sep 17 00:00:00 2001 From: zhongjun Date: Tue, 25 Oct 2022 10:55:02 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E7=A7=BB=E5=8A=A8=E5=85=AC=E4=BC=97?= =?UTF-8?q?=E5=8F=B7=E5=85=B3=E8=81=94=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=88=B0=20WxOpenMpService?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/open/api/WxOpenMaService.java | 61 ------------------ .../weixin/open/api/WxOpenMpService.java | 64 +++++++++++++++++++ .../open/api/impl/WxOpenMaServiceImpl.java | 24 ------- .../open/api/impl/WxOpenMpServiceImpl.java | 30 +++++++++ 4 files changed, 94 insertions(+), 85 deletions(-) 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 5c672dd3f..ca11627ba 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 @@ -236,18 +236,6 @@ public interface WxOpenMaService extends WxMaService { */ String API_AUDIT_UPLOAD_MEDIA = "https://api.weixin.qq.com/wxa/uploadmedia"; - /** - * 小程序管理-获取公众号关联的小程序 - */ - String API_WX_AMP_LINK_GET = "https://api.weixin.qq.com/cgi-bin/wxopen/wxamplinkget"; - /** - * 小程序管理-关联小程序 - */ - String API_WX_AMP_LINK_CREATE = "https://api.weixin.qq.com/cgi-bin/wxopen/wxamplink"; - /** - * 小程序管理-解除已关联的小程序 - */ - String API_WX_AMP_LINK_UN = "https://api.weixin.qq.com/cgi-bin/wxopen/wxampunlink"; /** * 小程序管理-查询小程序版本信息 @@ -677,55 +665,6 @@ public interface WxOpenMaService extends WxMaService { */ WxMaAuditMediaUploadResult uploadMedia(File file) throws WxErrorException; - /** - *
-   * 获取公众号关联的小程序
-   * 请求方式:POST(HTTPS)
-   * 请求地址:
-   * https://api.weixin.qq.com/cgi-bin/wxopen/wxamplinkget?access_token=TOKEN
-   * 文档地址:
-   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
-   * 
-   * @return 公众号关联的小程序
-   */
-  WxAmpLinkResult getWxAmpLink() throws WxErrorException;
-
-  /**
-   * 
-   * 关联小程序
-   * 关联流程(需要公众号和小程序管理员双方确认):
-   * 1、第三方平台调用接口发起关联
-   * 2、公众号管理员收到模板消息,同意关联小程序。
-   * 3、小程序管理员收到模板消息,同意关联公众号。
-   * 4、关联成功
-   * 等待管理员同意的中间状态可使用“获取公众号关联的小程序”接口进行查询。
-   * 请求方式:POST(HTTPS)
-   * 请求地址:
-   * https://api.weixin.qq.com/cgi-bin/wxopen/wxamplink?access_token=TOKEN
-   * 文档地址:
-   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
-   * 
-   * @param appid 小程序 appid
-   * @param notifyUsers 是否发送模板消息通知公众号粉丝
-   * @param showProfile 是否展示公众号主页中
-   * @return 响应结果
-   */
-  WxOpenResult wxAmpLink(String appid, String notifyUsers, String showProfile) throws WxErrorException;
-
-  /**
-   * 
-   * 解除已关联的小程序
-   * 请求方式:POST(HTTPS)
-   * 请求地址:
-   * https://api.weixin.qq.com/cgi-bin/wxopen/wxampunlink?access_token=TOKEN
-   * 文档地址:
-   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
-   * 
-   * @param appid 小程序 appid
-   * @return 响应结果
-   */
-  WxOpenResult wxAmpUnLink(String appid) throws WxErrorException;
-
   /**
    * 查询小程序版本信息
    *
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMpService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMpService.java
index 098600a07..285241bc3 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMpService.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMpService.java
@@ -3,6 +3,8 @@ package me.chanjar.weixin.open.api;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.mp.api.WxMpService;
 import me.chanjar.weixin.open.bean.mp.FastRegisterResult;
+import me.chanjar.weixin.open.bean.result.WxAmpLinkResult;
+import me.chanjar.weixin.open.bean.result.WxOpenResult;
 
 /**
  * 
@@ -24,6 +26,19 @@ public interface WxOpenMpService extends WxMpService {
    */
   String API_FAST_REGISTER = "https://api.weixin.qq.com/cgi-bin/account/fastregister";
 
+  /**
+   * 小程序管理-获取公众号关联的小程序
+   */
+  String API_WX_AMP_LINK_GET = "https://api.weixin.qq.com/cgi-bin/wxopen/wxamplinkget";
+  /**
+   * 小程序管理-关联小程序
+   */
+  String API_WX_AMP_LINK_CREATE = "https://api.weixin.qq.com/cgi-bin/wxopen/wxamplink";
+  /**
+   * 小程序管理-解除已关联的小程序
+   */
+  String API_WX_AMP_LINK_UN = "https://api.weixin.qq.com/cgi-bin/wxopen/wxampunlink";
+
   /**
    * 取复用公众号快速注册小程序的授权链接
    * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Official_Accounts/fast_registration_of_mini_program.html
@@ -44,4 +59,53 @@ public interface WxOpenMpService extends WxMpService {
    * @throws WxErrorException the wx error exception
    */
   FastRegisterResult fastRegister(String ticket) throws WxErrorException;
+
+  /**
+   * 
+   * 获取公众号关联的小程序
+   * 请求方式:POST(HTTPS)
+   * 请求地址:
+   * https://api.weixin.qq.com/cgi-bin/wxopen/wxamplinkget?access_token=TOKEN
+   * 文档地址:
+   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
+   * 
+   * @return 公众号关联的小程序
+   */
+  WxAmpLinkResult getWxAmpLink() throws WxErrorException;
+
+  /**
+   * 
+   * 关联小程序
+   * 关联流程(需要公众号和小程序管理员双方确认):
+   * 1、第三方平台调用接口发起关联
+   * 2、公众号管理员收到模板消息,同意关联小程序。
+   * 3、小程序管理员收到模板消息,同意关联公众号。
+   * 4、关联成功
+   * 等待管理员同意的中间状态可使用“获取公众号关联的小程序”接口进行查询。
+   * 请求方式:POST(HTTPS)
+   * 请求地址:
+   * https://api.weixin.qq.com/cgi-bin/wxopen/wxamplink?access_token=TOKEN
+   * 文档地址:
+   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
+   * 
+   * @param appid 小程序 appid
+   * @param notifyUsers 是否发送模板消息通知公众号粉丝
+   * @param showProfile 是否展示公众号主页中
+   * @return 响应结果
+   */
+  WxOpenResult wxAmpLink(String appid, String notifyUsers, String showProfile) throws WxErrorException;
+
+  /**
+   * 
+   * 解除已关联的小程序
+   * 请求方式:POST(HTTPS)
+   * 请求地址:
+   * https://api.weixin.qq.com/cgi-bin/wxopen/wxampunlink?access_token=TOKEN
+   * 文档地址:
+   * https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/Mini_Program_Management_Permission.html
+   * 
+   * @param appid 小程序 appid
+   * @return 响应结果
+   */
+  WxOpenResult wxAmpUnLink(String appid) 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 a226b4157..faab12503 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
@@ -407,30 +407,6 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ
     return (WxMaAuditMediaUploadResult) this.execute(AuditMediaUploadRequestExecutor.create(getRequestHttp()), API_AUDIT_UPLOAD_MEDIA, file);
   }
 
-  @Override
-  public WxAmpLinkResult getWxAmpLink() throws WxErrorException {
-    String response = post(API_WX_AMP_LINK_GET, "{}");
-    return WxMaGsonBuilder.create().fromJson(response, WxAmpLinkResult.class);
-  }
-
-  @Override
-  public WxOpenResult wxAmpLink(String appid, String notifyUsers, String showProfile) throws WxErrorException {
-    JsonObject params = new JsonObject();
-    params.addProperty("appid", appid);
-    params.addProperty("notify_users", notifyUsers);
-    params.addProperty("show_profile", showProfile);
-    String response = post(API_WX_AMP_LINK_CREATE, GSON.toJson(params));
-    return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
-  }
-
-  @Override
-  public WxOpenResult wxAmpUnLink(String appid) throws WxErrorException {
-    JsonObject params = new JsonObject();
-    params.addProperty("appid", appid);
-    String response = post(API_WX_AMP_LINK_UN, GSON.toJson(params));
-    return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
-  }
-
   private JsonArray toJsonArray(List strList) {
     JsonArray jsonArray = new JsonArray();
     if (strList != null && !strList.isEmpty()) {
diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java
index 8e5531153..c0e6cb9cb 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java
@@ -1,6 +1,8 @@
 package me.chanjar.weixin.open.api.impl;
 
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
 import com.google.common.collect.ImmutableMap;
+import com.google.gson.JsonObject;
 import lombok.SneakyThrows;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
@@ -8,6 +10,8 @@ import me.chanjar.weixin.mp.config.WxMpConfigStorage;
 import me.chanjar.weixin.open.api.WxOpenComponentService;
 import me.chanjar.weixin.open.api.WxOpenMpService;
 import me.chanjar.weixin.open.bean.mp.FastRegisterResult;
+import me.chanjar.weixin.open.bean.result.WxAmpLinkResult;
+import me.chanjar.weixin.open.bean.result.WxOpenResult;
 
 import java.net.URLEncoder;
 import java.util.Objects;
@@ -53,4 +57,30 @@ public class WxOpenMpServiceImpl extends WxMpServiceImpl implements WxOpenMpServ
     String json = post(API_FAST_REGISTER, ImmutableMap.of("ticket", ticket));
     return FastRegisterResult.fromJson(json);
   }
+
+
+  @Override
+  public WxAmpLinkResult getWxAmpLink() throws WxErrorException {
+    String response = post(API_WX_AMP_LINK_GET, "{}");
+    return WxMaGsonBuilder.create().fromJson(response, WxAmpLinkResult.class);
+  }
+
+  @Override
+  public WxOpenResult wxAmpLink(String appid, String notifyUsers, String showProfile) throws WxErrorException {
+    JsonObject params = new JsonObject();
+    params.addProperty("appid", appid);
+    params.addProperty("notify_users", notifyUsers);
+    params.addProperty("show_profile", showProfile);
+    String response = post(API_WX_AMP_LINK_CREATE, params.toString());
+    return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
+  }
+
+  @Override
+  public WxOpenResult wxAmpUnLink(String appid) throws WxErrorException {
+    JsonObject params = new JsonObject();
+    params.addProperty("appid", appid);
+    String response = post(API_WX_AMP_LINK_UN, params.toString());
+    return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
+  }
+
 }