diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MenuApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MenuApi.java
index 65a07af3..9d99d4d7 100644
--- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MenuApi.java
+++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MenuApi.java
@@ -18,6 +18,7 @@ import com.foxinmy.weixin4j.mp.model.Menu;
import com.foxinmy.weixin4j.mp.model.MenuMatchRule;
import com.foxinmy.weixin4j.token.TokenManager;
import com.foxinmy.weixin4j.type.ButtonType;
+import com.foxinmy.weixin4j.util.StringUtil;
/**
* 菜单相关API
@@ -59,16 +60,15 @@ public class MenuApi extends MpApi {
JSON.toJSONString(data, new NameFilter() {
@Override
public String process(Object object, String name, Object value) {
- if (object instanceof Button && name.equals("content")) {
+ if (object instanceof Button && name.equals("content")
+ && StringUtil.isNotBlank(((Button) object).getType())) {
ButtonType buttonType = ButtonType.valueOf(((Button) object).getType());
- if (buttonType != null) {
- if (ButtonType.view == buttonType || ButtonType.miniprogram == buttonType) {
- return "url";
- } else if (ButtonType.media_id == buttonType || ButtonType.view_limited == buttonType) {
- return "media_id";
- } else {
- return "key";
- }
+ if (ButtonType.view == buttonType || ButtonType.miniprogram == buttonType) {
+ return "url";
+ } else if (ButtonType.media_id == buttonType || ButtonType.view_limited == buttonType) {
+ return "media_id";
+ } else {
+ return "key";
}
}
return name;
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MenuApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MenuApi.java
index cd9e0542..131d81a4 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MenuApi.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MenuApi.java
@@ -16,6 +16,7 @@ import com.foxinmy.weixin4j.model.Button;
import com.foxinmy.weixin4j.model.Token;
import com.foxinmy.weixin4j.token.TokenManager;
import com.foxinmy.weixin4j.type.ButtonType;
+import com.foxinmy.weixin4j.util.StringUtil;
/**
* 菜单相关API
@@ -28,100 +29,99 @@ import com.foxinmy.weixin4j.type.ButtonType;
*/
public class MenuApi extends QyApi {
- private final TokenManager tokenManager;
+ private final TokenManager tokenManager;
- public MenuApi(TokenManager tokenManager) {
- this.tokenManager = tokenManager;
- }
+ public MenuApi(TokenManager tokenManager) {
+ this.tokenManager = tokenManager;
+ }
- /**
- * 自定义菜单(管理员须拥有应用的管理权限 并且应用必须设置在回调模式)
- *
- * @param agentid
- * 应用ID
- *
- * @param buttons
- * 菜单列表
- * @throws WeixinException
- * @see
- * 创建自定义菜单
- * @see com.foxinmy.weixin4j.model.Button
- */
- public ApiResult createMenu(int agentid, List