微信公众平台 java 处理消息 3
来源:互联网 发布:知乎搞笑问答 编辑:程序博客网 时间:2024/06/10 23:55
/**
*
* 处理微信消息
*
*/
@RequestMapping(value = "/verifyToken", method = RequestMethod.POST)
public void processMessage(HttpServletRequestrequest, HttpServletResponse response)throws Exception {
// 设置utf-8编码防止中文乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = null;
// 发送给微信端的的xml数据
String respXmlMsg = null;
// xml请求解析
Map<String, String> requestMap;
try{
requestMap = MessageUtil.parseXml(request);// 解析xml对象
String fromUserName =requestMap.get("FromUserName");// 发送方帐号(open_id)
String toUserName =requestMap.get("ToUserName");// 公众帐号
String msgType =requestMap.get("MsgType");// 消息类型
String content =requestMap.get("Content");// text内容
String event =requestMap.get("Event");// event内容
String eventKey =requestMap.get("EventKey");
// 根据用户输入回复不同内容
if (msgType.equals("text")) {
if (content.equals("0")) {
ImageMessageimgmsg=new ImageMessage();
imgmsg.setToUserName(fromUserName);
imgmsg.setFromUserName(toUserName);
imgmsg.setCreateTime(new Date().getTime());
imgmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
Image image = new Image();
image.setMediaId("u2VnxsayUJLJw2duyRBIgKU0yXdc7gG4o3JT8oJdhpk");
imgmsg.setImage(image);
respXmlMsg = MessageUtil.imageMessageToXml(imgmsg);
//WeixinUtil.formatXmlPicureAnswer(fromUserName, toUserName,"u2VnxsayUJLJw2duyRBIgKU0yXdc7gG4o3JT8oJdhpk");
} elseif (content.equals("1")) {
NewsMessage newmsg=new NewsMessage();
newmsg.setToUserName(fromUserName);
newmsg.setFromUserName(toUserName);
newmsg.setCreateTime(new Date().getTime());
newmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
Article article=new Article();
article.setDescription("《我的前半生》这部剧最好的地方,就在于它呈现了中国人最常见的两种婚姻: 被男人抛弃的婚姻——比如罗子君被出轨,然后被男人扔出婚姻。 无法抛弃男人的婚姻——比如罗子群,困守婚姻围城,明明知道自己的男人渣,却无法走出婚姻的大门。");//图文消息的描述
article.setPicUrl("http://mmbiz.qpic.cn/mmbiz_png/NYUq6ha4XQiardUE7lNAzk6WXbOLtZhDj9s8YatHACUWEuFibbDHn3KDic1aVicIJGtpHbHia2FjXn2GOA3HSZhAb8w/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1");//图文消息图片地址
article.setTitle("《我的前半生》:如何走出“过不好”也“离不了”的中国式婚姻? | 懂心大咖免费课程");//图文消息标题
article.setUrl("https://mp.weixin.qq.com/s?__biz=MzI5MTQ1Nzg5OA==&tempkey=OTE2Xy9vdDFLLzVuNnZ4K0NhVUZ3Vzd4NU1Zb2RDd081dWV6TVhhbEhjZmVlZm93NHA3dERvMVpWalRaWjVncmwwVWtsZURndnNZU0dRQkJPTXBmc0cxaGRYbjJTLWk2Wl85cTBWaUVNNVZ1VmZTdTFoQnlGR2VhdmJpRndFNGdiY2owNm5maFVhZHp3MS1PWGp4Nm5ZZFpVYkJ2c2dUemlHRHFybUN1Wnd%2Bfg%3D%3D&chksm=6c1117895b669e9ff88dcff076b60ffc8bea510981a897228dea5cd53625812431e722d177f1#rd");//图文url链接
List<Article>list=new ArrayList<Article>();
list.add(article); //这里发送的是单图文,如果需要发送多图文则在这里list中加入多个Article即可!
newmsg.setArticleCount(list.size());
newmsg.setArticles(list);
respXmlMsg = MessageUtil.newsMessageToXml(newmsg);
} elseif (content.equals("99")) {
ImageMessageimgmsg=new ImageMessage();
imgmsg.setToUserName(fromUserName);
imgmsg.setFromUserName(toUserName);
imgmsg.setCreateTime(new Date().getTime());
imgmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
Image image = new Image();
image.setMediaId("u2VnxsayUJLJw2duyRBIgGEDz5BCL6Q5Wln7KJXbgUE");
imgmsg.setImage(image);
respXmlMsg = MessageUtil.imageMessageToXml(imgmsg);
}
} elseif (msgType.equals("event")) {
if (event.equals("subscribe")) {
// 订阅时 返回消息
TextMessage txtmsg=new TextMessage();
txtmsg.setToUserName(fromUserName);
txtmsg.setFromUserName(toUserName);
txtmsg.setCreateTime(new Date().getTime());
txtmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
txtmsg.setContent("春风再美也比不过你的笑");
respXmlMsg = MessageUtil.textMessageToXml(txtmsg);
} elseif (event.equals("CLICK")) {
if (eventKey.equals("22")) {
ImageMessageimgmsg=new ImageMessage();
imgmsg.setToUserName(fromUserName);
imgmsg.setFromUserName(toUserName);
imgmsg.setCreateTime(new Date().getTime());
imgmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
Imageimage = new Image();
image.setMediaId("u2VnxsayUJLJw2duyRBIgNvbc77upHnrAlj5MtMQogE");
imgmsg.setImage(image);
respXmlMsg = MessageUtil.imageMessageToXml(imgmsg);
}elseif(eventKey.equals("31")) {
ImageMessageimgmsg=new ImageMessage();
imgmsg.setToUserName(fromUserName);
imgmsg.setFromUserName(toUserName);
imgmsg.setCreateTime(new Date().getTime());
imgmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
Imageimage = new Image();
image.setMediaId("u2VnxsayUJLJw2duyRBIgNYCQwRVs9n7Mj8BQCv34xg");
imgmsg.setImage(image);
respXmlMsg = MessageUtil.imageMessageToXml(imgmsg);
}
}
}else{
TextMessage txtmsg=new TextMessage();
txtmsg.setToUserName(fromUserName);
txtmsg.setFromUserName(toUserName);
txtmsg.setCreateTime(new Date().getTime());
txtmsg.setMsgType(MessageUtil.REQ_MESSAGE_TYPE_IMAGE);
txtmsg.setContent("还不支持这种消息哇。");
respXmlMsg = MessageUtil.textMessageToXml(txtmsg);
}
out =response.getWriter();
out.print(respXmlMsg);
}catch(Exception e){
e.printStackTrace();
}finally{
out.close();
out =null;
}
}
- 微信公众平台 java 处理消息 3
- 微信公众平台消息接口-java
- php编写微信公众平台消息处理接口教程
- 微信公众平台两种消息处理流程对比
- 微信公众平台消息接口-java-jsp版
- 微信公众平台消息接口-java-jsp版
- 微信公众平台消息接口-java-jsp版
- 微信公众平台 消息推送实现(Java)
- 微信公众平台消息接口-java-jsp版
- 微信公众平台消息接口-java-jsp版
- 微信公众平台开发之模板消息(Java)
- 微信公众平台消息接口-java-jsp版
- 微信公众平台 java示例 接收消息并回复
- 微信公众平台开发之模板消息(Java)
- Java微信公众平台开发之发送模板消息
- Java微信公众平台开发之发送模板消息
- Java微信公众平台开发之发送模板消息
- 微信公众平台开发之模板消息(Java)
- 设计模式之类对象结构型 — BRIDGE (桥接)模式
- Jmeter-BeanShell的使用介绍
- MOOC清华《程序设计基础》第8章:二进制文件的数据存取
- 读取word
- 基于UDP的C/S多播回射服务器
- 微信公众平台 java 处理消息 3
- spring boot 启动错误:Could not resolve placeholder
- 《利用Python进行数据分析》笔记---第4章NumPy基础:数组和矢量计算
- POJ 3252(数位DP || 组合数)
- 对象与类基础
- 下载faceScrub人脸数据库 (多线程版本)
- c++ 有什么好书推荐?
- 多播地址基础
- element ui 对话框el-dialog关闭事件