Browse Source

菜单接口支持

master
Daniel Qian 10 years ago
parent
commit
93f8726029
3 changed files with 7 additions and 5 deletions
  1. +3
    -3
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java
  2. +2
    -1
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java
  3. +2
    -1
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java

+ 3
- 3
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpServiceImpl.java View File

@@ -107,17 +107,17 @@ public class WxCpServiceImpl implements WxCpService {
} }


public void menuCreate(WxCpMenu menu) throws WxErrorException { public void menuCreate(WxCpMenu menu) throws WxErrorException {
String url = "https://api.weixin.qq.com/cgi-bin/menu/create";
String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/create?agentid=" + wxCpConfigStorage.getAgentId();
execute(new SimplePostRequestExecutor(), url, menu.toJson()); execute(new SimplePostRequestExecutor(), url, menu.toJson());
} }


public void menuDelete() throws WxErrorException { public void menuDelete() throws WxErrorException {
String url = "https://api.weixin.qq.com/cgi-bin/menu/delete";
String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/delete?agentid=" + wxCpConfigStorage.getAgentId();
execute(new SimpleGetRequestExecutor(), url, null); execute(new SimpleGetRequestExecutor(), url, null);
} }


public WxCpMenu menuGet() throws WxErrorException { public WxCpMenu menuGet() throws WxErrorException {
String url = "https://api.weixin.qq.com/cgi-bin/menu/get";
String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/get?agentid=" + wxCpConfigStorage.getAgentId();
try { try {
String resultContent = execute(new SimpleGetRequestExecutor(), url, null); String resultContent = execute(new SimpleGetRequestExecutor(), url, null);
return WxCpMenu.fromJson(resultContent); return WxCpMenu.fromJson(resultContent);


+ 2
- 1
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/json/WxCpMenuGsonAdapter.java View File

@@ -65,7 +65,8 @@ public class WxCpMenuGsonAdapter implements JsonSerializer<WxCpMenu>, JsonDeseri
* 查询菜单时是 { menu : { button : ... } } * 查询菜单时是 { menu : { button : ... } }
*/ */
WxCpMenu menu = new WxCpMenu(); WxCpMenu menu = new WxCpMenu();
JsonArray buttonsJson = json.getAsJsonObject().get("button").getAsJsonArray();
JsonObject menuJson = json.getAsJsonObject().get("menu").getAsJsonObject();
JsonArray buttonsJson = menuJson.get("button").getAsJsonArray();
for (int i = 0; i < buttonsJson.size(); i++) { for (int i = 0; i < buttonsJson.size(); i++) {
JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject(); JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject();
WxCpMenu.WxMenuButton button = convertFromJson(buttonJson); WxCpMenu.WxMenuButton button = convertFromJson(buttonJson);


+ 2
- 1
weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMenuAPITest.java View File

@@ -18,7 +18,8 @@ import me.chanjar.weixin.enterprise.exception.WxErrorException;
* @author Daniel Qian * @author Daniel Qian
* *
*/ */
@Test(groups="menuAPI", dependsOnGroups="baseAPI")
//@Test(groups="menuAPI", dependsOnGroups="baseAPI")
@Test
@Guice(modules = ApiTestModule.class) @Guice(modules = ApiTestModule.class)
public class WxCpMenuAPITest { public class WxCpMenuAPITest {




Loading…
Cancel
Save