微信公众号开发之关键词回复

微信公众号开发详细教程

公众号的关键词回复是一个最基本的功能,大部分的关键词回复可以在授权的第三方平台(微微校、腾讯微校等)去进行管理,配置开发服务器之后,微信平台的自动回复和自定义菜单会失效,而在开发服务器里面管理这些又过于繁琐,第三方平台解决了这个问题,而且第三方平台功能很多,如微信公众号上墙功能,可以去看看。

微信公众测试号

URL:验证的时候会携带参数以GET方法去请求这个url。而验证成功之后,微信公众号用户发送数据时,微信服务器会将数据以POST方法发送到这个url。

所以说我们应该写两个相同路径,请求方法不同的controller。

 @RequestMapping(value="/wxserver",method={RequestMethod.GET});@RequestMapping(value="/wxserver",produces={"application/xml;charset=UTF-8;"},method={RequestMethod.POST})

普通消息

文本消息事例

<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>1348831860</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[this is a test]]></Content><MsgId>1234567890123456</MsgId>
</xml>
参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgType消息类型,文本为text
Content文本消息内容
MsgId消息id,64位整型

MsgType:消息类型,文本为text,图片为image,语音为voice等。可以去官方文档里去查看。

推送事件

菜单点击事件事例

用户点击自定义菜单后,微信会把点击事件推送给开发者,请注意,点击菜单弹出子菜单,不会产生上报。

点击菜单拉取消息时的事件推送

推送XML数据包示例:

<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[FromUser]]></FromUserName><CreateTime>123456789</CreateTime><MsgType><![CDATA[event]]></MsgType><Event><![CDATA[CLICK]]></Event><EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>

参数说明:

参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgType消息类型,event
Event事件类型,CLICK
EventKey事件KEY值,与自定义菜单接口中KEY值对应

微信公众号工具包依赖

       <!-- 微信开发工具包 --><dependency><groupId>me.chanjar</groupId><artifactId>weixin-java-mp</artifactId><version>1.3.3</version></dependency><dependency><groupId>me.chanjar</groupId><artifactId>weixin-java-common</artifactId><version>1.3.3</version></dependency>

开发代码

    @ResponseBody()@RequestMapping(value="/wxserver",produces={"application/xml;charset=UTF-8;"},method={RequestMethod.POST})public  String  receive(HttpServletRequest request, HttpServletResponse response)  throws  Exception{//因为微信服务器返回的是xml  所以我们需要解析//获取消息流WxMpXmlMessage message=WxMpXmlMessage.fromXml(request.getInputStream());//消息类型String messageType=message.getMsgType();if("text".equals(messageType)){String res= wxTextReceiveService.receiveText(message);return res;}else if("event".equals(messageType)){String res= wxEventReceiveService.receiveClick(message);return  res;}return "";}

 

自定义类WxTextReceiveService 中的处理方法

    /*** 接收微信用户发送的普通文本消息  并且回复*/@Overridepublic String receiveText(WxMpXmlMessage message) {String str="";String fromUserName = message.getFromUserName();String toUserName = message.getToUserName();//文本消息  文本内容String content = message.getContent();//将回复消息按格式封装成xml //toUser(fromUserName).fromUser(toUserName)  发送者变成接受者WxMpXmlOutTextMessage text = WxMpXmlOutTextMessage.TEXT().toUser(fromUserName).fromUser(toUserName).content("hello word"+content ).build();str = text.toXml();return str;}

 整个简单的交互过程就已经完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58624.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外汇天眼:使用 MT4 进行交易的最佳方式

在外汇交易方面&#xff0c;MT4是最受欢迎的软件之一。它提供了广泛的功能和工具&#xff0c;可用于进行有利可图的交易。 在本文中&#xff0c;我们将熟悉 Metatrader 4&#xff0c;并了解一些使用它进行交易的最佳方式。 让我们从基础开始。 Metatrader 4 基础知识 Metatr…

期货从入门到高深之手动交易---软件的使用2

上期说了新手如何选择期货交易软件&#xff0c;这集来说说软件的使用规则 首先我们找到你所开户的期货公司官网在其下载栏里下载 例如 一般来说&#xff0c;你在哪家开的户&#xff0c;软件下载好了之后直接会显示这家期货公司的坐席号&#xff0c;如下图所示 接着进入界面&a…

期货开户加一分高交返靠谱吗?

接下来讲讲手续费的标准。目前对于新人来说期货公司的选择确实有一些复杂&#xff0c;交易者可以经过对比选择最适合自己的期货公司&#xff0c;对比一下手续费。 一、手续费加一分 期货手续费交易所手续费期货公司佣金 交易所手续费是固定不变的&#xff0c;是交易所直接收…

正大国际期货:如何提升外盘恒指交易技巧?

一、心态的调整 首要最难做到的是心态的调整。人的情绪是多变的&#xff0c;如果你没有一颗平静的心&#xff0c;在这个行业成功的几率很小。赚钱不骄傲&#xff0c;亏钱不沮丧&#xff0c;没有人能完全地做到&#xff0c;但是我们要尽量去做到。赚钱不必欣喜若狂&#xff0c;…

正大国际期货:恒指操作技巧之交易中五种绝佳的开仓思路分析

很多人总是亏损&#xff0c;其实最重要的原因之一是没有一个优势的概率系统&#xff0c;正大IxxxuanI经过了解之后&#xff0c;对目前市面上概率系统进行总结&#xff0c;现将以下几种优势的概率系统归纳罗列如下&#xff0c;有缘者定可举一反三&#xff0c;或可为你细化和改良…

想炒期货是如何开户的?

随着互联网时代的到来&#xff0c;如今95%的期货交易者都采用网上开户&#xff0c;可以在网上找到更优质的期货公司进行开户&#xff0c;一般开户使用手机或者电脑开户都可以&#xff0c;实际开户中用手机的可能要多一些。 那这里可能没有做过的会有疑问&#xff0c;为什么不是…

三种最常用的期货交易系统,99%的人都不知道

作为一个有多年交易经验的期货交易者&#xff0c;我发现大部分的交易者竟然一直在用错误的交易理念去做交易。当然&#xff0c;在做交易初期&#xff0c;我也是一样。只不过我后来找到了对的路。坦白说&#xff0c;我找到正确的交易系统&#xff0c;并不是因为我聪明&#xff0…

chatgpt赋能python:Python怎么做选择题?

Python怎么做选择题&#xff1f; 作为一种最广泛使用的编程语言之一&#xff0c;Python被广泛应用于数据科学、机器学习、人工智能、Web开发等领域&#xff0c;而我们今天要聚焦的是Python如何实现选择题的功能。 选择题是什么&#xff1f; 选择题是一种常见的考试题型&…

保姆级教程:Spring Cloud 集成 Seata 分布式事务

点击关注公众号&#xff0c;Java干货及时送达&#x1f447; 环境搭建 Nacos搭建 最新版本快速搭建 使用Mysql模式 Nacos直接启动即可。控制台默认账号密码是nacos/nacos&#xff0c;Mysql账户密码有两个 root/root 和 nacos/nacos。 Seata搭建 Seata版本1.5.0 快速搭建 Seata1.…

《AI绘画工具保姆级指南手册--以Midjourney为例【含国内中文版】》

大家下午好&#xff0c;近期陆陆续续有很多饱子私信我&#xff0c;表达出非常热切的心情&#xff0c;想要学习关于AIGC领域的AI绘画&#xff0c;毕竟AI绘画工具真的很火&#xff1b;这是前一阵给大家分享了《AIGC之文本生成指南手册 --以ChatGPT为例》&#xff0c;感兴趣饱子可…

Ai口播几天涨粉20w项目拆解(保姆级教程)

这几天看老妈在刷某音&#xff0c;看到她总是刷到一些小朋友的视频。声音很可爱&#xff0c;凑过去一看原来是一个小和尚在说一些祝福话。仔细一看其实是一个Ai人物在口播。然后到某书上一搜索。好家伙&#xff01;整屏幕都是。而且不乏一二十万粉丝账号的。每个账号发布的视频…

史上最详细使用copliot AI保姆级教程来了

目录 概述 第一步:注册 第二步:使用 第三步:copliot基本用法 第四步:copliot成功案列 概述 Copilot 是一款由 OpenAI 推出的人工智能代码自动补全AI工具&#xff0c;它可以帮助程序员更快、更准确地编写代码。Copilot 的核心技术基于 GPT-3 模型&#xff0c;但是在编码方…

公司入职一个阿里大佬,把SpringBoot项目启动从420秒优化到了40秒!

大家好&#xff0c;我是老赵 0.背景 公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢&#xff0c;常常需要6-7分钟才能暴露端口&#xff0c;严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发…

SpringBoot 统一功能处理

大家好&#xff0c;我是老赵 前言 接下来是 Spring Boot 统⼀功能处理模块了&#xff0c;也是 AOP 的实战环节&#xff0c;要实现的课程⽬标有以下 3 个&#xff1a; 统⼀⽤户登录权限验证统⼀数据格式返回统⼀异常处理 接下我们⼀个⼀个来看。 一、用户登录权限效验 ⽤户登录权…

目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块

>>>深度学习Tricks&#xff0c;第一时间送达<<< 论文题目&#xff1a;《GhostNet&#xff1a;More Features from Cheap Operations》论文地址&#xff1a; https://arxiv.org/pdf/1911.11907v1.pdf 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署…

苹果最新动态 苹果推送 iOS 14 正式版发布

苹果发布会此次虽然没有公布新手机&#xff0c;预计是在国庆期间吧&#xff0c;不过发布会上还是公布了一些信息&#xff0c;下面给大家整理下苹果的最新动态&#xff0c;一起来看看&#xff01; 苹果推送 iOS 14 正式版 9 月 17 日&#xff0c;苹果正式推送了 iOS 14、iPadOS…

彩票走势图xcode源码

#源码介绍 此份彩票走势图源码是用xcode写的&#xff0c;需要的小伙伴自取哦。 #效果展示 #源码已上传阿里云oss&#xff0c;彩票走势图传送门 来自&#xff1a;https://12580code.com/631.html

iOS 14 大改还有神秘硬件登场,苹果 WWDC20 今夜线上发布

来源 | 网易科技 头图 | CSDN付费下载自视觉中国 受全球疫情影响&#xff0c;科技数码行业元气大伤&#xff0c;当工厂停工、发布会转线上、产品推迟上市成为常态&#xff0c;我们也渐渐习惯了在电脑前默默的等待&#xff0c;享受云上狂欢。此前苹果已经公布&#xff0c;今年 W…

IOS开发之——彩票-帮助(11)

一 概述 设置页面点击帮助&#xff0c;跳转帮助TableViewController页面点击帮助列表中的每一项&#xff0c;打开WebView显示具体信息 二 设置页面点击帮助&#xff0c;跳转帮助TableViewController页面 2.1 页面结构及功能分析 帮助页面是一个列表&#xff0c;构建ILHelpVi…