Skip to content

Commit b45f20a

Browse files
silloybinarywang
authored andcommitted
binarywang#1177 开放平台模块增加小程序基础信息设置接口
1 parent 58244ee commit b45f20a

4 files changed

Lines changed: 166 additions & 3 deletions

File tree

weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenMaService.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,35 @@ public interface WxOpenMaService extends WxMaService {
7070
*/
7171
String API_GET_TESTERLIST = "https://api.weixin.qq.com/wxa/memberauth";
7272

73+
/**
74+
* 以下接口基础信息设置
75+
* <p>
76+
* https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21517799059ZSEMr&token=6f965b5daf30a98a6bbd2a386faea5c934e929bf&lang=zh_CN
77+
* </p>
78+
*/
79+
80+
/**
81+
* 1. 设置小程序隐私设置(是否可被搜索)
82+
*/
83+
String API_CHANGE_WXA_SEARCH_STATUS = "https://api.weixin.qq.com/wxa/changewxasearchstatus";
84+
85+
/**
86+
* 2. 查询小程序当前隐私设置(是否可被搜索)
87+
*/
88+
String API_GET_WXA_SEARCH_STATUS = "https://api.weixin.qq.com/wxa/getwxasearchstatus";
89+
90+
/**
91+
* 3.1. 获取展示的公众号信息
92+
*/
93+
String API_GET_SHOW_WXA_ITEM = "https://api.weixin.qq.com/wxa/getshowwxaitem";
94+
95+
/**
96+
* 3.2 设置展示的公众号
97+
*/
98+
String API_UPDATE_SHOW_WXA_ITEM = "https://api.weixin.qq.com/wxa/updateshowwxaitem";
99+
100+
101+
73102
/**
74103
* 以下接口为三方平台代小程序实现的代码管理功能
75104
* <p>
@@ -238,6 +267,35 @@ public interface WxOpenMaService extends WxMaService {
238267
*/
239268
WxOpenMaTesterListResult getTesterList() throws WxErrorException;
240269

270+
271+
272+
/**
273+
* 设置小程序隐私设置(是否可被搜索)
274+
*
275+
* @param status 1表示不可搜索,0表示可搜索
276+
*/
277+
public WxOpenResult changeWxaSearchStatus(Integer status) throws WxErrorException;
278+
279+
280+
/**
281+
* 2. 查询小程序当前隐私设置(是否可被搜索)
282+
*/
283+
public WxOpenMaSearchStatusResult getWxaSearchStatus() throws WxErrorException;
284+
285+
/**
286+
* 3.1 获取展示的公众号信息
287+
*/
288+
public WxOpenMaShowItemResult getShowWxaItem() throws WxErrorException;
289+
290+
291+
/**
292+
* 3.2 设置展示的公众号
293+
*
294+
* @param flag 0 关闭,1 开启
295+
* @param mpappid 如果开启,需要传新的公众号appid
296+
*/
297+
public WxOpenResult updateShowwxaitem(Integer flag, String mpappid) throws WxErrorException;
298+
241299
/**
242300
* 1、为授权的小程序帐号上传小程序代码
243301
*

weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImpl.java

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public String setWebViewDomain(String action, List<String> domainList) throws Wx
137137
/**
138138
* 设置小程序的业务域名
139139
*
140-
* @param action add添加, delete删除, set覆盖
140+
* @param action add添加, delete删除, set覆盖
141141
* @return
142142
*/
143143
@Override
@@ -208,6 +208,58 @@ public WxOpenMaTesterListResult getTesterList() throws WxErrorException {
208208
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaTesterListResult.class);
209209
}
210210

211+
212+
/**
213+
* 设置小程序隐私设置(是否可被搜索)
214+
*
215+
* @param status 1表示不可搜索,0表示可搜索
216+
*/
217+
@Override
218+
public WxOpenResult changeWxaSearchStatus(Integer status) throws WxErrorException {
219+
JsonObject paramJson = new JsonObject();
220+
paramJson.addProperty("status", status);
221+
String response = post(API_CHANGE_WXA_SEARCH_STATUS, GSON.toJson(paramJson));
222+
return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
223+
}
224+
225+
226+
/**
227+
* 2. 查询小程序当前隐私设置(是否可被搜索)
228+
*/
229+
@Override
230+
public WxOpenMaSearchStatusResult getWxaSearchStatus() throws WxErrorException {
231+
JsonObject paramJson = new JsonObject();
232+
String response = post(API_GET_WXA_SEARCH_STATUS, GSON.toJson(paramJson));
233+
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaSearchStatusResult.class);
234+
}
235+
236+
237+
/**
238+
* 3.1 获取展示的公众号信息
239+
*/
240+
@Override
241+
public WxOpenMaShowItemResult getShowWxaItem() throws WxErrorException {
242+
String response = get(API_GET_SHOW_WXA_ITEM, null);
243+
return WxMaGsonBuilder.create().fromJson(response, WxOpenMaShowItemResult.class);
244+
}
245+
246+
247+
/**
248+
* 3.2 设置展示的公众号
249+
*
250+
* @param flag 0 关闭,1 开启
251+
* @param mpappid 如果开启,需要传新的公众号appid
252+
*/
253+
@Override
254+
public WxOpenResult updateShowwxaitem(Integer flag, String mpappid) throws WxErrorException {
255+
JsonObject paramJson = new JsonObject();
256+
paramJson.addProperty("wxa_subscribe_biz_flag", flag);
257+
paramJson.addProperty("appid", mpappid);
258+
String response = post(API_UPDATE_SHOW_WXA_ITEM, GSON.toJson(paramJson));
259+
return WxMaGsonBuilder.create().fromJson(response, WxOpenResult.class);
260+
}
261+
262+
211263
/**
212264
* 1、为授权的小程序帐号上传小程序代码
213265
*
@@ -330,6 +382,7 @@ public WxOpenResult releaesAudited() throws WxErrorException {
330382

331383
/**
332384
* 10. 修改小程序线上代码的可见状态(仅供第三方代小程序调用)
385+
*
333386
* @param action 设置可访问状态,发布后默认可访问,close为不可见,open为可见
334387
* @return
335388
* @throws WxErrorException
@@ -413,7 +466,6 @@ public String setSupportVersion(String version) throws WxErrorException {
413466
}
414467

415468

416-
417469
/**
418470
* 13. 设置最低基础库版本(仅供第三方代小程序调用)
419471
*
@@ -471,7 +523,6 @@ public WxOpenMaGrayReleasePlanResult getgrayreleaseplan() throws WxErrorExceptio
471523
}
472524

473525

474-
475526
/**
476527
* 将字符串对象转化为GsonArray对象
477528
*
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package me.chanjar.weixin.open.bean.result;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder;
7+
8+
@Data
9+
@EqualsAndHashCode(callSuper = true)
10+
public class WxOpenMaSearchStatusResult extends WxOpenResult {
11+
private static final long serialVersionUID = -1843419921284224813L;
12+
13+
@SerializedName("status")
14+
private Integer status;
15+
16+
@Override
17+
public String toString() {
18+
return WxOpenGsonBuilder.create().toJson(this);
19+
}
20+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package me.chanjar.weixin.open.bean.result;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder;
7+
8+
@Data
9+
@EqualsAndHashCode(callSuper = true)
10+
public class WxOpenMaShowItemResult extends WxOpenResult {
11+
12+
private static final long serialVersionUID = -5707576958339934210L;
13+
14+
@SerializedName("is_open")
15+
private Integer isOpen;
16+
17+
@SerializedName("can_open")
18+
private Integer canOpen;
19+
20+
@SerializedName("appid")
21+
private String appid;
22+
23+
@SerializedName("nickname")
24+
private String nickname;
25+
26+
@SerializedName("headimg")
27+
private String headimg;
28+
29+
@Override
30+
public String toString() {
31+
return WxOpenGsonBuilder.create().toJson(this);
32+
}
33+
34+
}

0 commit comments

Comments
 (0)