cn.ipokerface.weixin.model.button.Button Maven / Gradle / Ivy
package cn.ipokerface.weixin.model.button;
import com.alibaba.fastjson.annotation.JSONField;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Created by PokerFace
* Create Date 2019-12-28.
* Email: [email protected]
* Version 1.0.0
*
* Description:
*/
public class Button implements Serializable {
private static final long serialVersionUID = -6422234732203854866L;
/**
* 菜单标题,不超过16个字节,子菜单不超过40个字节
*/
private String name;
/**
* 菜单类型
* 公众平台官网上能够设置的菜单类型有view、text、img、photo、video、voice
*
*
* @see cn.ipokerface.weixin.model.button.ButtonType
*/
private String type;
/**
* 菜单KEY值,根据type的类型而定
*
* 通过公众平台设置的自定义菜单:
* text:保存文字;
* img、voice:保存媒体ID;
* video:保存视频URL;
* news:保存图文消息媒体ID
* view:保存链接URL;
*
* 使用API设置的自定义菜单:
*
* click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、
* pic_weixin、location_select:保存key;
* view:保存链接URL;
* media_id、view_limited:保存媒体ID
*/
private String content;
/**
* 扩展属性,比如在公众平台设置菜单时的图文列表
*/
@JSONField(serialize = false, deserialize = false)
private Object extra;
/**
* miniprogram类型必须 小程序的appid(仅认证公众号可配置)
*/
private String appid;
/**
* miniprogram类型必须 小程序的页面路径
*/
private String pagepath;
/**
* 二级菜单数组,个数应为1~5个
*/
@JSONField(name = "sub_button")
private List