实现获取自定义菜单配置的接口 for #70

This commit is contained in:
Binary Wang
2016-11-25 16:31:59 +08:00
parent fd4505d606
commit 95821dab20
6 changed files with 389 additions and 24 deletions

View File

@@ -0,0 +1,44 @@
package me.chanjar.weixin.mp.bean.menu;
import com.google.gson.annotations.SerializedName;
import me.chanjar.weixin.common.util.ToStringUtils;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
/**
* <pre>
* Created by Binary Wang on 2016-11-25.
* @author <a href="https://github.com/binarywang">binarywang(Binary Wang)</a>
* </pre>
*/
public class WxMpGetSelfMenuInfoResult {
@SerializedName("selfmenu_info")
private WxMpSelfMenuInfo selfMenuInfo;
@SerializedName("is_menu_open")
private Integer isMenuOpen;
public static WxMpGetSelfMenuInfoResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxMpGetSelfMenuInfoResult.class);
}
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
public WxMpSelfMenuInfo getSelfMenuInfo() {
return selfMenuInfo;
}
public void setSelfMenuInfo(WxMpSelfMenuInfo selfMenuInfo) {
this.selfMenuInfo = selfMenuInfo;
}
public Integer getIsMenuOpen() {
return isMenuOpen;
}
public void setIsMenuOpen(Integer isMenuOpen) {
this.isMenuOpen = isMenuOpen;
}
}

View File

@@ -0,0 +1,288 @@
package me.chanjar.weixin.mp.bean.menu;
import com.google.gson.annotations.SerializedName;
import me.chanjar.weixin.common.util.ToStringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* <pre>
* Created by Binary Wang on 2016-11-25.
* @author <a href="https://github.com/binarywang">binarywang(Binary Wang)</a>
* </pre>
*/
public class WxMpSelfMenuInfo {
/**
* 菜单按钮
*/
@SerializedName("button")
private List<WxMpSelfMenuButton> buttons;
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
public static class WxMpSelfMenuButton {
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
/**
* <pre>
* 菜单的类型公众平台官网上能够设置的菜单类型有view跳转网页、text返回文本下同、img、photo、video、voice。
* 使用API设置的则有8种详见<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013&token=&lang=zh_CN">《自定义菜单创建接口》</a>
* </pre>
*/
@SerializedName("type")
private String type;
/**
* 菜单名称
*/
@SerializedName("name")
private String name;
/**
* <pre>
* 对于不同的菜单类型value的值意义不同。
* 官网上设置的自定义菜单:
* <li>Text:保存文字到value
* <li>Img、voice保存mediaID到value
* <li>Video保存视频下载链接到value
* <li>News保存图文消息到news_info同时保存mediaID到value
* <li>View保存链接到url。</li>
*
* 使用API设置的自定义菜单
* <li>click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、 pic_weixin、location_select保存值到key
* <li>view保存链接到url
* </pre>
*/
@SerializedName("key")
private String key;
/**
* @see #key
*/
@SerializedName("url")
private String url;
/**
* @see #key
*/
@SerializedName("value")
private String value;
/**
* 子菜单信息
*/
@SerializedName("sub_button")
private SubButtons subButtons;
public SubButtons getSubButtons() {
return subButtons;
}
public void setSubButtons(SubButtons subButtons) {
this.subButtons = subButtons;
}
public static class SubButtons {
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
@SerializedName("list")
private List<WxMpSelfMenuButton> subButtons = new ArrayList<>();
public List<WxMpSelfMenuButton> getSubButtons() {
return subButtons;
}
public void setSubButtons(List<WxMpSelfMenuButton> subButtons) {
this.subButtons = subButtons;
}
}
/**
* 图文消息的信息
*/
@SerializedName("news_info")
private NewsInfo newsInfo;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public NewsInfo getNewsInfo() {
return newsInfo;
}
public void setNewsInfo(NewsInfo newsInfo) {
this.newsInfo = newsInfo;
}
public static class NewsInfo {
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
@SerializedName("list")
private List<NewsInButton> news = new ArrayList<>();
public List<NewsInButton> getNews() {
return news;
}
public void setNews(List<NewsInButton> news) {
this.news = news;
}
public static class NewsInButton {
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
}
/**
* 图文消息的标题
*/
@SerializedName("title")
private String title;
/**
* 摘要
*/
@SerializedName("digest")
private String digest;
/**
* 作者
*/
@SerializedName("author")
private String author;
/**
* show_cover
* 是否显示封面0为不显示1为显示
*/
@SerializedName("show_cover")
private Integer showCover;
/**
* 封面图片的URL
*/
@SerializedName("cover_url")
private String coverUrl;
/**
* 正文的URL
*/
@SerializedName("content_url")
private String contentUrl;
/**
* 原文的URL若置空则无查看原文入口
*/
@SerializedName("source_url")
private String sourceUrl;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDigest() {
return digest;
}
public void setDigest(String digest) {
this.digest = digest;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Integer getShowCover() {
return showCover;
}
public void setShowCover(Integer showCover) {
this.showCover = showCover;
}
public String getCoverUrl() {
return coverUrl;
}
public void setCoverUrl(String coverUrl) {
this.coverUrl = coverUrl;
}
public String getContentUrl() {
return contentUrl;
}
public void setContentUrl(String contentUrl) {
this.contentUrl = contentUrl;
}
public String getSourceUrl() {
return sourceUrl;
}
public void setSourceUrl(String sourceUrl) {
this.sourceUrl = sourceUrl;
}
}
}
}
}