前面有说道对接收到微信服务器消息后对消息的分类,当时主要分为普通消息和事件消息,这里我们要讲述的是我们在给用户回复的消息类型,在这里也可以大致分为两类:一种为不需要上传资源到微信服务器的这里成为【普通消息回复】;还有一种需要上传资源到微信服务器的这里称为【多媒体消息回复】!
普通消息回复:回复文本消息/回复图文消息
多媒体消息回复:回复图片消息/回复语音消息/回复视频消息/回复音乐消息
(一)回复消息基类的实现
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: BaseMessage * @Description: 返回消息体-基本消息 * @author dapengniao * @date 2016年3月7日 下午3:16:57 */ public class BaseMessage { // 接收方帐号(收到的OpenID) private String ToUserName; // 开发者微信号 private String FromUserName; // 消息创建时间 (整型) private long CreateTime; // 消息类型(text/music/news) private String MsgType; 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; } }
(二)普通消息回复实体实现
①文本消息消息体
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: TextMessage * @Description: 文本消息消息体 * @author dapengniao * @date 2016年3月7日 下午3:54:22 */ public class TextMessage extends BaseMessage { // 回复的消息内容 private String Content; public String getContent() { return Content; } public void setContent(String content) { Content = content; } }
②图文/多图文消息实现
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: Article * @Description: 图文消息体 * @author dapengniao * @date 2016年3月7日 下午3:16:28 */ 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; } }
package com.cuiyongzhi.wechat.message.resp; import java.util.List; /** * 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; } }
(三)多媒体消息回复消息体实现
①回复图片消息实体
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: Image * @Description: 图片回复消息体 * @author dapengniao * @date 2016年3月8日 下午5:55:18 */ public class Image { private String MediaId; public String getMediaId() { return MediaId; } public void setMediaId(String mediaId) { MediaId = mediaId; } }
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: ImageMessage * @Description: 图片消息 * @author dapengniao * @date 2016年3月8日 下午5:58:10 */ public class ImageMessage { private Image Image; public Image getImage() { return Image; } public void setImage(Image image) { Image = image; } }
②回复音乐消息实体
package com.cuiyongzhi.wechat.message.resp; /** * 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; } }
package com.cuiyongzhi.wechat.message.resp; /** * 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; } }
③回复视频消息实体
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: Video * @Description: 视频消息体 * @author dapengniao * @date 2016年3月8日 下午6:05:45 */ public class Video { private String MediaId; private String Title; private String Description; 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 getMediaId() { return MediaId; } public void setMediaId(String mediaId) { MediaId = mediaId; } }
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: VideoMessage * @Description: 视频消息 * @author dapengniao * @date 2016年3月8日 下午6:06:29 */ public class VideoMessage { private Video Video; public Video getVideo() { return Video; } public void setVideo(Video video) { Video = video; } }
④回复语音消息实体
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: Voice * @Description: 语音消息体 * @author dapengniao * @date 2016年3月8日 下午6:02:29 */ public class Voice { private String MediaId; public String getMediaId() { return MediaId; } public void setMediaId(String mediaId) { MediaId = mediaId; } }
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: VoiceMessage * @Description: 语音消息 * @author dapengniao * @date 2016年3月8日 下午6:02:13 */ public class VoiceMessage { private Voice Voice; public Voice getVoice() { return Voice; } public void setVoice(Voice voice) { Voice = voice; } }
那么到这里回复消息类型的划分和实体的具体实现代码就基本编写完成了,在这些新增实体加入后我们项目的项目结构大致如下:
下篇将讲述【普通消息体的回复】实现,感谢你的翻阅,如有疑问可以留言讨论!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java微信公众平台开发(3) 接收消息的分类及实体的创建,包括了Java微信公众平台开发(3) 接收消息的分类及实体的创建的使用技巧和注意事项,需要的朋友参考一下 前面一篇有说道应用服务器和腾讯服务器是通过消息进行通讯的,并简单介绍了微信端post的消息类型,这里我们将建立消息实体以方便我们后面的使用! (一)消息实体基础类 (二)普通消息pojo实体 ①图片消息 ②连接消息 ③地
本文向大家介绍微信公众号开发之微信公共平台消息回复类实例,包括了微信公众号开发之微信公共平台消息回复类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了微信公众号开发之微信公共平台消息回复类。分享给大家供大家参考。具体如下: 微信公众号开发代码我在网上看到了有不少,其实都是大同小义了都是参考官方给出的demo文件进行修改的,这里就给各位分享一个。 希望本文所述对大家基于PHP的微信公众号
本文向大家介绍Java微信公众平台开发(5) 文本及图文消息回复的实现,包括了Java微信公众平台开发(5) 文本及图文消息回复的实现的使用技巧和注意事项,需要的朋友参考一下 上篇我们说到回复消息可以根据是否需要上传文件到微信服务器可划分为【普通消息】和【多媒体消息】,这里我们来讲述普通消息的回复实现,在消息回复中存在一个关键字段【openid】,它是微信用户对于公众号的唯一标识,这里不做过多解释
本文向大家介绍Java微信公众平台开发(1) 接入微信公众平台,包括了Java微信公众平台开发(1) 接入微信公众平台的使用技巧和注意事项,需要的朋友参考一下 前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当
本文向大家介绍Java微信公众平台开发(2) 微信服务器post消息体的接收,包括了Java微信公众平台开发(2) 微信服务器post消息体的接收的使用技巧和注意事项,需要的朋友参考一下 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发现在上一篇的【controller】中我定义了一个get方法和一个post方法,但是在使用过程中我
本文向大家介绍php微信公众平台开发类实例,包括了php微信公众平台开发类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php微信公众平台开发类。分享给大家供大家参考。具体分析如下: ThinkWechat.php类文件如下: 希望本文所述对大家的php程序设计有所帮助。