You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.6 KiB
70 lines
2.6 KiB
package com.ynxbd.wx.wxfactory.menu;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.ynxbd.common.helper.http.OkHttpHelper;
|
|
import com.ynxbd.wx.wxfactory.WxCacheHelper;
|
|
import com.ynxbd.wx.wxfactory.menu.bean.WxMenu;
|
|
import com.ynxbd.wx.wxfactory.menu.result.WxMenuResult;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import okhttp3.RequestBody;
|
|
|
|
import java.util.Map;
|
|
|
|
import static com.ynxbd.common.helper.http.OkHttpHelper.TYPE_JSON;
|
|
|
|
@Slf4j
|
|
public class WxService {
|
|
public void createMenu(WxMenu menu) throws Exception {
|
|
createMenu(menu, false);
|
|
}
|
|
|
|
public void createMenu(WxMenu menu, boolean condition) throws Exception {
|
|
String url = (condition
|
|
? "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token="
|
|
: "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=")
|
|
+ WxCacheHelper.getAccessToken();
|
|
try {
|
|
String result = this.post(url, new ObjectMapper().writeValueAsString(menu));
|
|
System.out.println("[wx-tools]Create Menu result:" + result);
|
|
} catch (Exception e) {
|
|
throw new Exception("[wx-tools]createMenu failure.");
|
|
}
|
|
}
|
|
|
|
public String deleteMenu() throws Exception {
|
|
String url = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" + WxCacheHelper.getAccessToken();
|
|
String result = this.get(url, null);
|
|
System.out.println("[wx-tools]Delete Menu result:" + result);
|
|
return result;
|
|
}
|
|
|
|
public String deleteMenu(String menuId) throws Exception {
|
|
String url = "https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=" + WxCacheHelper.getAccessToken();
|
|
String json = "{\"menuid\":" + menuId + "}";
|
|
String result = this.post(url, json);
|
|
System.out.println("[wx-tools]Delete Conditional Menu result:" + result);
|
|
return result;
|
|
}
|
|
|
|
public WxMenuResult getMenu() throws Exception {
|
|
String url = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" + WxCacheHelper.getAccessToken();
|
|
|
|
try {
|
|
return WxMenuResult.fromJson(get(url, null));
|
|
} catch (Exception e) {
|
|
throw new Exception("[wx-tools]getMenu failure.");
|
|
}
|
|
}
|
|
|
|
|
|
public String get(String url, Map<String, String> params) throws Exception {
|
|
return OkHttpHelper.get(url, (OkHttpHelper.MapParams) params);
|
|
}
|
|
|
|
public String post(String url, String params) throws Exception {
|
|
return OkHttpHelper.post(url, RequestBody.create(TYPE_JSON, params), null);
|
|
}
|
|
|
|
|
|
}
|
|
|