修复完善菜单特别是个性化菜单的创建和删除相关代码
This commit is contained in:
@@ -8,21 +8,13 @@
|
||||
*/
|
||||
package me.chanjar.weixin.common.util.json;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
|
||||
import com.google.gson.*;
|
||||
import me.chanjar.weixin.common.bean.menu.WxMenu;
|
||||
import me.chanjar.weixin.common.bean.menu.WxMenuButton;
|
||||
import me.chanjar.weixin.common.bean.menu.WxMenuRule;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
|
||||
/**
|
||||
* @author Daniel Qian
|
||||
@@ -76,6 +68,18 @@ public class WxMenuGsonAdapter implements JsonSerializer<WxMenu>, JsonDeserializ
|
||||
return matchRule;
|
||||
}
|
||||
|
||||
private WxMenuRule convertToRule(JsonObject json) {
|
||||
WxMenuRule menuRule = new WxMenuRule();
|
||||
menuRule.setTagId(GsonHelper.getString(json,"tag_id"));
|
||||
menuRule.setSex(GsonHelper.getString(json,"sex"));
|
||||
menuRule.setCountry(GsonHelper.getString(json,"country"));
|
||||
menuRule.setProvince(GsonHelper.getString(json,"province"));
|
||||
menuRule.setCity(GsonHelper.getString(json,"city"));
|
||||
menuRule.setClientPlatformType(GsonHelper.getString(json,"client_platform_type"));
|
||||
menuRule.setLanguage(GsonHelper.getString(json,"language"));
|
||||
return menuRule;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMenu deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
|
||||
/*
|
||||
@@ -84,8 +88,7 @@ public class WxMenuGsonAdapter implements JsonSerializer<WxMenu>, JsonDeserializ
|
||||
* 查询菜单时是 { menu : { button : ... } }
|
||||
*/
|
||||
WxMenu menu = new WxMenu();
|
||||
JsonObject menuJson = json.getAsJsonObject().get("menu").getAsJsonObject();
|
||||
JsonArray buttonsJson = menuJson.get("button").getAsJsonArray();
|
||||
JsonArray buttonsJson = json.getAsJsonObject().get("menu").getAsJsonObject().get("button").getAsJsonArray();
|
||||
for (int i = 0; i < buttonsJson.size(); i++) {
|
||||
JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject();
|
||||
WxMenuButton button = convertFromJson(buttonJson);
|
||||
|
||||
Reference in New Issue
Block a user