(Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)
接下来,我们再讲一下图文消息:
如图:
大家可以先从开发者文档中了解一下图文消息的一些参数:
如上图,用户回复4时,ipastor返回了几条图文消息,上图中属于多图文消息,当然还有单图文消息,图文消息,我们需用到封装类NewsMessage和Article,至于为什么用户发送4,ipastor就会回复图文消息,这个不用我说明了吧,加个判断就可以了,看代码:
if ("4".equals(content))
{
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType("news");
newsMessage.setFuncFlag(0);
List<Article> articleList = new ArrayList<Article>();
Article article = new Article();
article.setTitle("(Java)微信之个人公众账号开发(一)——进入开发者模式 ");
article.setDescription("");
article.setPicUrl("http://img.blog.csdn.net/20140305133622296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpeXVsaWFuZzIwMTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast");
article.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/20540059");
Article article5 = new Article();
article5.setTitle("第2篇\n(Java)微信之个人公众账号开发(二)——接收并处理用户消息 ");
article5.setDescription("");
article5.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article5.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/20548567");
Article article1 = new Article();
article1.setTitle("第3篇\n自定义progressDialog的实现 ");
article1.setDescription("");
article1.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article1.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17027305");
Article article2 = new Article();
article2.setTitle("第4篇\nViewPaper实现首次进入软件时左右滑屏的软件展示效果 ");
article2.setDescription("");
article2.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article2.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17026739");
Article article3 = new Article();
article3.setTitle("第5篇\nViewPaper实现滑屏切换页面及动画效果 ");
article3.setDescription("");
article3.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article3.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17026131");
articleList.add(article);
articleList.add(article5);
articleList.add(article1);
articleList.add(article2);
articleList.add(article3);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
图文消息一次最多只能发送10条信息,Title为每条信息的标题,PicUrl为图片地址,Url为整条消息地址,若用户点击该条消息,则会在微信自带浏览器中跳转到Url对应的网址,单图文消息即止含一条消息,多图文消息也可以设置为首条消息不含图片,或者最后一条消息不含图片,不含图片只需将PicUrl设置为空即可,但Url最好不要为空,不然用户点击时会跳转到一空白页面,具体效果,大家自己可以试验下。以上这些,大家也看到了,我并没有涉及到数据库,如果要丰富的用户体验,数据库是必不可少的,这个大家可以自己试着关联到数据库,以提高用户体验,好了,就先为大家讲到这里,比较简单,高手大神勿喷,主要针对入门级用户,最后,要感谢一下
CSDN专家柳峰,部分代码参考了柳老师,今后如果有必要,我会再补充新内容,接着为大家附上本项目中所用到的jar包 :
jar包可以从这里下载:
http://download.csdn.net/detail/baiyuliang2013/6998729
(Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)的更多相关文章
- (Java)微信之个人公众账号开发(一)——进入开发者模式
本篇文章将教大家如何建立微信个人公众账号,(注意:后台全部是用javaweb相关技术开发),大家知道,现在微信公众账号分服务号和订阅号,现在我要讲的主要是个人微信公众账号的建立以及后台的开发,个人公众 ...
- 微信公众账号开发教程(二) 基础框架搭建——转自http://www.cnblogs.com/yank/p/3392394.html
上一章,我们已经初步讲解了微信公众账号开发的基本原理,今天我们来探索设计实现. 首先我们设计了模块层次图,当然图中只是给出一种实现方式,不局限于此.具体见下图. 主要功能介绍如下: 1)请求接口层.处 ...
- 微信公众账号开发教程(三) 实例入门:机器人(附源码) ——转自http://www.cnblogs.com/yank/p/3409308.html
一.功能介绍 通过微信公众平台实现在线客服机器人功能.主要的功能包括:简单对话.查询天气等服务. 这里只是提供比较简单的功能,重在通过此实例来说明公众平台的具体研发过程.只是一个简单DEMO,如果需要 ...
- 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html
微信公众账号开发教程(四)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...
- 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html
微信公众账号开发教程 基本原理 在开始做之前,大家可能对这个很感兴趣,但是又比较茫然.是不是很复杂?很难学啊? 其实恰恰相反,很简单.为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理. 微信服务 ...
- 转:C#微信公众号开发之接收事件推送与消息排重的方法
本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法.分享给大家供大家参考.具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这 ...
- PHP实现微信公众账号开发
1.首先需要一个可以外网访问的接口url. 我这里是申请的新浪免费云服务器,http://xxxxx.applinzi.com/wx.php,具体自己可以去新浪云中心申请地址为:http://www. ...
- Python公众号开发(二)—颜值检测
上篇文章,我们把自己的程序接入了微信公众号,并且能把用户发送的文本及图片文件原样返回.今天我们把用户的图片通过腾讯的AI平台分析后再返回给用户. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造 ...
- Java微信公众平台开发(二)--微信服务器post消息体的接收
转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发 ...
随机推荐
- RPO(Relative Path Overwrite)
Conception(Relative vs Absolute) Abosolute Path: "/etc/hosts"(in Linux), "C:\Windows\ ...
- [LeetCode] Minimum Time Difference 最短时间差
Given a list of 24-hour clock time points in "Hour:Minutes" format, find the minimum minut ...
- es6-promise源代码重点难点分析
摘要 vue和axios都可以使用es6-promise来实现f1().then(f2).then(f3)这样的连写形式,es6-promise其实现代浏览器已经支持,无需加载外部文件.由于promi ...
- 机器学习基石:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 个人建站&mac下安装hexo
title: 个人建站&mac下安装hexo date: 2018-04-18 16:34:02 tags: [mac,blog,个人建站,markdown] --- 这两天使用了markdo ...
- Redis常用命令--Lists
List是一个双向链表,按照插入顺序排序,可以添加一个元素到头部或者尾部.当对一个空key执行插入操作的时候会创建一个新表. 如果要清空列表,则会杀出对应的key空间. 在List中保存了头节点和未节 ...
- 小明搬家_NOI导刊2010提高(05)
题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太低了,于是 ...
- ubuntu 安装 WPS for Linux(ubuntu)字体配置(字体缺失解决办法)及卸载libreoffice
从官网下载安装wps for Linux sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb 启动WPS for Linux后,出现提示"系统 ...
- 【Python3.6+Django2.0+Xadmin2.0系列教程之三(入门篇-下)】学生信息管理系统
上一篇我们已经初步的构建起了一个学生管理系统的模型,现在接着来继续完善它吧. 1.上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方 ...
- day4 liaoxuefeng---模块
一.模块 二.常用内建模块 三.常用第三方模块