me.chanjar.weixin.mp.bean.menu.WxMpSelfMenuInfo Maven / Gradle / Ivy
package me.chanjar.weixin.mp.bean.menu;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
/**
*
* Created by Binary Wang on 2016-11-25.
*
*
* @author Binary Wang
*/
@Data
public class WxMpSelfMenuInfo implements Serializable {
private static final long serialVersionUID = -81203094124202901L;
/**
* 菜单按钮
*/
@SerializedName("button")
private List buttons;
@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);
}
@Data
public static class WxMpSelfMenuButton implements Serializable {
private static final long serialVersionUID = -4426602953309048341L;
/**
*
* 菜单的类型,公众平台官网上能够设置的菜单类型有view(跳转网页)、text(返回文本,下同)、img、photo、video、voice。
* 使用API设置的则有8种,详见《自定义菜单创建接口》
*
*/
@SerializedName("type")
private String type;
/**
* 菜单名称.
*/
@SerializedName("name")
private String name;
/**
*
* 对于不同的菜单类型,value的值意义不同.
* 官网上设置的自定义菜单:
*
Text:保存文字到value;
* Img、voice:保存mediaID到value;
* Video:保存视频下载链接到value;
* News:保存图文消息到news_info,同时保存mediaID到value;
* View:保存链接到url。
*
* 使用API设置的自定义菜单:
* click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、pic_weixin、location_select:保存值到key;
* view:保存链接到url
*
*/
@SerializedName("key")
private String key;
/**
* .
*
* @see #key
*/
@SerializedName("url")
private String url;
/**
* .
*
* @see #key
*/
@SerializedName("value")
private String value;
/**
* 调用新增永久素材接口返回的合法media_id
* * media_id类型和view_limited类型必须 */ @SerializedName("media_id") private String mediaId; /** * 发布后获得的合法article_id *
* article_id类型和article_view_limited类型必须 */ @SerializedName("article_id") private String articleId; /** *
* 小程序的appid. * miniprogram类型必须 **/ @SerializedName("appid") private String appId; /** *
* 小程序的页面路径. * miniprogram类型必须 **/ @SerializedName("pagepath") private String pagePath; /** * 子菜单信息. */ @SerializedName("sub_button") private SubButtons subButtons; /** * 图文消息的信息. */ @SerializedName("news_info") private NewsInfo newsInfo; @Override public String toString() { return WxMpGsonBuilder.create().toJson(this); } @Data public static class SubButtons implements Serializable { private static final long serialVersionUID = 1763350658575521079L; @SerializedName("list") private List