From b45f20a8566d7469d8bf92183056c383977e39bf Mon Sep 17 00:00:00 2001 From: S <sshzh90@gmail.com> Date: Tue, 27 Aug 2019 12:31:16 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20#1177=20=E5=BC=80=E6=94=BE?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=A8=A1=E5=9D=97=E5=A2=9E=E5=8A=A0=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=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 | 58 +++++++++++++++++++ .../open/api/impl/WxOpenMaServiceImpl.java | 57 +++++++++++++++++- .../result/WxOpenMaSearchStatusResult.java | 20 +++++++ .../bean/result/WxOpenMaShowItemResult.java | 34 +++++++++++ 4 files changed, 166 insertions(+), 3 deletions(-) create mode 100644 weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaSearchStatusResult.java create mode 100644 weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaShowItemResult.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 1a0611431..784aa2453 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 @@ -70,6 +70,35 @@ public interface WxOpenMaService extends WxMaService { */ String API_GET_TESTERLIST = "https://api.weixin.qq.com/wxa/memberauth"; + /** + * 以下接口基础信息设置 + * <p> + * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21517799059ZSEMr&token=6f965b5daf30a98a6bbd2a386faea5c934e929bf&lang=zh_CN + * </p> + */ + + /** + * 1. 设置小程序隐私设置(是否可被搜索) + */ + String API_CHANGE_WXA_SEARCH_STATUS = "https://api.weixin.qq.com/wxa/changewxasearchstatus"; + + /** + * 2. 查询小程序当前隐私设置(是否可被搜索) + */ + String API_GET_WXA_SEARCH_STATUS = "https://api.weixin.qq.com/wxa/getwxasearchstatus"; + + /** + * 3.1. 获取展示的公众号信息 + */ + String API_GET_SHOW_WXA_ITEM = "https://api.weixin.qq.com/wxa/getshowwxaitem"; + + /** + * 3.2 设置展示的公众号 + */ + String API_UPDATE_SHOW_WXA_ITEM = "https://api.weixin.qq.com/wxa/updateshowwxaitem"; + + + /** * 以下接口为三方平台代小程序实现的代码管理功能 * <p> @@ -238,6 +267,35 @@ public interface WxOpenMaService extends WxMaService { */ WxOpenMaTesterListResult getTesterList() throws WxErrorException; + + + /** + * 设置小程序隐私设置(是否可被搜索) + * + * @param status 1表示不可搜索,0表示可搜索 + */ + public WxOpenResult changeWxaSearchStatus(Integer status) throws WxErrorException; + + + /** + * 2. 查询小程序当前隐私设置(是否可被搜索) + */ + public WxOpenMaSearchStatusResult getWxaSearchStatus() throws WxErrorException; + + /** + * 3.1 获取展示的公众号信息 + */ + public WxOpenMaShowItemResult getShowWxaItem() throws WxErrorException; + + + /** + * 3.2 设置展示的公众号 + * + * @param flag 0 关闭,1 开启 + * @param mpappid 如果开启,需要传新的公众号appid + */ + public WxOpenResult updateShowwxaitem(Integer flag, String mpappid) throws WxErrorException; + /** * 1、为授权的小程序帐号上传小程序代码 * 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 caf187eee..2696d9d27 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 @@ -137,7 +137,7 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ /** * 设置小程序的业务域名 * - * @param action add添加, delete删除, set覆盖 + * @param action add添加, delete删除, set覆盖 * @return */ @Override @@ -208,6 +208,58 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ return WxMaGsonBuilder.create().fromJson(response, WxOpenMaTesterListResult.class); } + + /** + * 设置小程序隐私设置(是否可被搜索) + * + * @param status 1表示不可搜索,0表示可搜索 + */ + @Override + public WxOpenResult changeWxaSearchStatus(Integer status) throws WxErrorException { + JsonObject paramJson = new JsonObject(); + paramJson.addProperty("status", status); + String response = post(API_CHANGE_WXA_SEARCH_STATUS, GSON.toJson(paramJson)); + return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); + } + + + /** + * 2. 查询小程序当前隐私设置(是否可被搜索) + */ + @Override + public WxOpenMaSearchStatusResult getWxaSearchStatus() throws WxErrorException { + JsonObject paramJson = new JsonObject(); + String response = post(API_GET_WXA_SEARCH_STATUS, GSON.toJson(paramJson)); + return WxMaGsonBuilder.create().fromJson(response, WxOpenMaSearchStatusResult.class); + } + + + /** + * 3.1 获取展示的公众号信息 + */ + @Override + public WxOpenMaShowItemResult getShowWxaItem() throws WxErrorException { + String response = get(API_GET_SHOW_WXA_ITEM, null); + return WxMaGsonBuilder.create().fromJson(response, WxOpenMaShowItemResult.class); + } + + + /** + * 3.2 设置展示的公众号 + * + * @param flag 0 关闭,1 开启 + * @param mpappid 如果开启,需要传新的公众号appid + */ + @Override + public WxOpenResult updateShowwxaitem(Integer flag, String mpappid) throws WxErrorException { + JsonObject paramJson = new JsonObject(); + paramJson.addProperty("wxa_subscribe_biz_flag", flag); + paramJson.addProperty("appid", mpappid); + String response = post(API_UPDATE_SHOW_WXA_ITEM, GSON.toJson(paramJson)); + return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class); + } + + /** * 1、为授权的小程序帐号上传小程序代码 * @@ -330,6 +382,7 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ /** * 10. 修改小程序线上代码的可见状态(仅供第三方代小程序调用) + * * @param action 设置可访问状态,发布后默认可访问,close为不可见,open为可见 * @return * @throws WxErrorException @@ -413,7 +466,6 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ } - /** * 13. 设置最低基础库版本(仅供第三方代小程序调用) * @@ -471,7 +523,6 @@ public class WxOpenMaServiceImpl extends WxMaServiceImpl implements WxOpenMaServ } - /** * 将字符串对象转化为GsonArray对象 * diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaSearchStatusResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaSearchStatusResult.java new file mode 100644 index 000000000..9c5c08f1a --- /dev/null +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaSearchStatusResult.java @@ -0,0 +1,20 @@ +package me.chanjar.weixin.open.bean.result; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; + +@Data +@EqualsAndHashCode(callSuper = true) +public class WxOpenMaSearchStatusResult extends WxOpenResult { + private static final long serialVersionUID = -1843419921284224813L; + + @SerializedName("status") + private Integer status; + + @Override + public String toString() { + return WxOpenGsonBuilder.create().toJson(this); + } +} diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaShowItemResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaShowItemResult.java new file mode 100644 index 000000000..a0a30f927 --- /dev/null +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaShowItemResult.java @@ -0,0 +1,34 @@ +package me.chanjar.weixin.open.bean.result; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder; + +@Data +@EqualsAndHashCode(callSuper = true) +public class WxOpenMaShowItemResult extends WxOpenResult { + + private static final long serialVersionUID = -5707576958339934210L; + + @SerializedName("is_open") + private Integer isOpen; + + @SerializedName("can_open") + private Integer canOpen; + + @SerializedName("appid") + private String appid; + + @SerializedName("nickname") + private String nickname; + + @SerializedName("headimg") + private String headimg; + + @Override + public String toString() { + return WxOpenGsonBuilder.create().toJson(this); + } + +}