前面有说道对接收到微信服务器消息后对消息的分类,当时主要分为普通消息和事件消息,这里我们要讲述的是我们在给用户回复的消息类型,在这里也可以大致分为两类:一种为不需要上传资源到微信服务器的这里成为【普通消息回复】;还有一种需要上传资源到微信服务器的这里称为【多媒体消息回复】!

  • 普通消息回复:回复文本消息/回复图文消息
  • 多媒体消息回复:回复图片消息/回复语音消息/回复视频消息/回复音乐消息

(一)回复消息基类的实现

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;         
                    }         
                    
                    
                    
                    
          }

那么到这里回复消息类型的划分和实体的具体实现代码就基本编写完成了,在这些新增实体加入后我们项目的项目结构大致如下:

   下篇将讲述【普通消息体的回复】实现,感谢你的翻阅,如有疑问可以留言讨论!