使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

在上一篇文章中我们实现了文本消息的接收与响应可以在用户发送任何内容的时候回复一段固定的文字本章节中我们将对上一章节的代码进行适当的完善同时实现被关注回复与关键词回复】功能。

微信可提供的消息类型

在上一篇文章中,在我们的Servalet中,我们有这样的一段代码:

使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

我们说这是用于判断接收的消息类型是否为text即是否为文本消息时将用户发送的给信息拼接后返回但这个这个功能现在不足以满足我们的时候我们将重写代码实现被关注时自动回复以及根据关键词自动回复而首先我们需要了解微信公众平台支持的消息类型以及对应的事件关键字

1可接收消息类型

文本消息——text语音消息——voice图片消息——image

视频消息——video链接消息——link,位置消息——location,

消息视频消息——shortvideo

2、支持的事件推送——event

关注——subscribe取消关注——unsubscribe,上传地理位置——location

菜单点击——点击菜单获取消息时触发click/点击菜单跳转链接时触发view

扫描带参数二维码——未关注时触发subscribe/已关注时触发scan

那我们可以清楚的看到,微信可接收的消息类型以及可触发的事件类型有很多种而每种类型都对应着详细的XML包在微信公众平台开发文档中有详细解析此处不做赘述详情可参考开发文档内容

可接受消息类型:

 

可支持事件类型:

 

二、实现被关注自动回复

根据上述消息类型的描述,我们可以重写一下我们上周的MessageUtil类,让我们的工具类可以提供更完善的功能:

1、根据消息类型,提供各种常量:

在我们的工具类中提供各种常量,方便在使用不同消息类型的时候,可以直接调用:

使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

2、修改Servlet中的文本消息判断方式

有了这样的一些常量呢,我们就需要将上周判断文本消息的代码,替换为用常量判断

使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

替换为

使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

同时,添加一种类型判断,判断接收的消息类型,是否为事件类型,添加完后,if-else结构框架如下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdsfy.html