我们在微信开发的时候需要准备封装相应的java类,主要如下:
(1):微信请求基本类BaseMessage ,该类作为微信请求的基本类:
/**
* 微信请求消息基本类
* @author user
*
*/
public class BaseMessage {
// 开发者微信号
private String ToUserName;
// 发送方帐号(一个 OpenID)
private String FromUserName;
// 消息创建时间 (整型)
private long CreateTime;
// 消息类型(text/image/location/link/video/shortvideo)
private String MsgType;
// 消息 id,64 位整型
private long MsgId;
public String getToUserName() {
return ToUserName;
}
public void setToUserName(String toUserName) {
ToUserName = toUserName;
}
public String getFromUserName() {
return FromUserName;
}
public void setFromUserName(String fromUserName) {
FromUserName = fromUserName;
}
public long getCreateTime() {
return CreateTime;
}
public void setCreateTime(long createTime) {
CreateTime = createTime;
}
public String getMsgType() {
return MsgType;
}
public void setMsgType(String msgType) {
MsgType = msgType;
}
public long getMsgId() {
return MsgId;
}
public void setMsgId(long msgId) {
MsgId = msgId;
}
}
(2):按钮菜单bean类,该类用于处理菜单按钮。
/**
* 按钮菜单信息
* @author user
*
*/
public class ClickButton {
private String type;
private String name;
private String key;
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;
}
}
(3)视图信息基类ViewButton
public class ViewButton {
private String type;
private String name;
private String url;
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 getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
(4):图文信息Article:
/**
* ClassName: Article
* @Description: 图文消息体
*/
public class Article {
// 图文消息名称
private String Title;
// 图文消息描述
private String Description;
// 图片链接,支持 JPG、PNG 格式,较好的效果为大图 640*320,小图 80*80,
private String PicUrl;
// 点击图文消息跳转链接
private String Url;
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public String getDescription() {
return null == Description ? "" : Description;
}
public void setDescription(String description) {
Description = description;
}
public String getPicUrl() {
return null == PicUrl ? "" : PicUrl;
}
public void setPicUrl(String picUrl) {
PicUrl = picUrl;
}
public String getUrl() {
return null == Url ? "" : Url;
}
public void setUrl(String url) {
Url = url;
}
}
(5):图片信息:
/**
* ClassName: ImageMessage
* @Description: 图片消息
* @date 2016 年 3 月 7 日 下午 3:04:52
*/
public class ImageMessage extends BaseMessage {
// 图片链接
private String PicUrl;
public String getPicUrl() {
return PicUrl;
}
public void setPicUrl(String picUrl) {
PicUrl = picUrl;
}
}
(6):链接信息:
/**
* ClassName: LinkMessage
* @Description: 连接消息
* @date 2016 年 3 月 7 日 下午 3:05:48
*/
public class LinkMessage extends BaseMessage {
// 消息标题
private String Title;
// 消息描述
private String Description;
// 消息链接
private String Url;
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getUrl() {
return Url;
}
public void setUrl(String url) {
Url = url;
}
}
(7):地理位置信息:
/**
* ClassName: LocationMessage
* @Description: 地理位置消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:06:10
*/
public class LocationMessage extends BaseMessage {
// 地理位置维度
private String Location_X;
// 地理位置经度
private String Location_Y;
// 地图缩放大小
private String Scale;
// 地理位置信息
private String Label;
public String getLocation_X() {
return Location_X;
}
public void setLocation_X(String location_X) {
Location_X = location_X;
}
public String getLocation_Y() {
return Location_Y;
}
public void setLocation_Y(String location_Y) {
Location_Y = location_Y;
}
public String getScale() {
return Scale;
}
public void setScale(String scale) {
Scale = scale;
}
public String getLabel() {
return Label;
}
public void setLabel(String label) {
Label = label;
}
}
(8):音乐信息消息体:
/**
* ClassName: Music
* @Description: 音乐消息消息体
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:54:00
*/
public class Music {
// 音乐名称
private String Title;
// 音乐描述
private String Description;
// 音乐链接
private String MusicUrl;
// 高质量音乐链接,WIFI 环境优先使用该链接播放音乐
private String HQMusicUrl;
private String ThumbMediaId; //缩略图的媒体 id
public String getThumbMediaId() {
return ThumbMediaId;
}
public void setThumbMediaId(String thumbMediaId) {
ThumbMediaId = thumbMediaId;
}
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getMusicUrl() {
return MusicUrl;
}
public void setMusicUrl(String musicUrl) {
MusicUrl = musicUrl;
}
public String getHQMusicUrl() {
return HQMusicUrl;
}
public void setHQMusicUrl(String musicUrl) {
HQMusicUrl = musicUrl;
}
}
(9):音乐消息
/**
* ClassName: MusicMessage
* @Description: 音乐消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:53:38
*/
public class MusicMessage extends BaseMessage {
// 音乐
private Music Music;
public Music getMusic() {
return Music;
}
public void setMusic(Music music) {
Music = music;
}
}
(10):多图文消息:
/**
* ClassName: NewsMessage
* @Description: 多图文消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:52:18
*/
public class NewsMessage extends BaseMessage {
// 图文消息个数,限制为 10 条以内
private int ArticleCount;
// 多条图文消息信息,默认第一个 item 为大图
private List<Article> Articles;
public int getArticleCount() {
return ArticleCount;
}
public void setArticleCount(int articleCount) {
ArticleCount = articleCount;
}
public List<Article> getArticles() {
return Articles;
}
public void setArticles(List<Article> articles) {
Articles = articles;
}
}
(11):文本信息
/**
* ClassName: TextMessage
* @Description: 文本消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:06:40
*/
public class TextMessage extends BaseMessage {
// 消息内容
private String Content;
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
}
(12):视频/小视频信息
/**
* ClassName: VideoMessage
* @Description: 视频/小视屏消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:12:51
*/
public class VideoMessage extends BaseMessage {
private String MediaId; // 视频消息媒体 id,可以调用多媒体文件下载接口拉取数据
private String ThumbMediaId; // 视频消息缩略图的媒体 id,可以调用多媒体文件下载接口拉取数据
public String getMediaId() {
return MediaId;
}
public void setMediaId(String mediaId) {
MediaId = mediaId;
}
public String getThumbMediaId() {
return ThumbMediaId;
}
public void setThumbMediaId(String thumbMediaId) {
ThumbMediaId = thumbMediaId;
}
}
(13):语音信息
/**
* ClassName: VoiceMessage
* @Description: 语音消息
* @author dapengniao
* @date 2016 年 3 月 7 日 下午 3:07:10
*/
public class VoiceMessage extends BaseMessage {
// 媒体 ID
private String MediaId;
// 语音格式
private String Format;
public String getMediaId() {
return MediaId;
}
public void setMediaId(String mediaId) {
MediaId = mediaId;
}
public String getFormat() {
return Format;
}
public void setFormat(String format) {
Format = format;
}
}
这些事基本的微信公众号信息实体。