微信小程序 │ 公众号收到消息之后根据情况进行回复

简介: 在手机微信公众号中输入文本、图片、语音、视频、地理位置、链接等消息,手机上返回的结果(均为文本消息)如下图所示(上下屏滑动显示)。

image.png

在手机微信公众号中输入文本、图片、语音、视频、地理位置、链接等消息,手机上返回的结果(均为文本消息)如下图所示(上下屏滑动显示)。
image.png
image.png
1、创建接收消息类
在包edu.bookcode中创建exofmessage子包,并在包edu.bookcode.exofmessage中创建message.req子包,在包edu.bookcode.exofmessage.message.req中创建类BaseMessage,代码如例1所示。

【例1】类BaseMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.req中创建类TextMessage,代码如例2所示。

【例2】类TextMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.req中创建类ImageMessage,代码如例3所示。

【例3】类ImageMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.req中创建类VoiceMessage,代码如例4所示。

【例4】类VoiceMessage的代码示例。
image.png
image.png
在包edu.bookcode.exofmessage.message.req中创建类VideoMessage,代码如例5所示。

【例5】类videoMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.req中创建类LocationMessage,代码如例6所示。

【例6】类LocationMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.req中创建类LinkMessage,代码如例7所示。

【例7】类LinkMessage的代码示例。
image.png
2、创建回复消息类
在包edu.bookcode.exofmessage中创建message.resp子包,在包edu.bookcode.exofmessage.message.resp中创建类BaseMessage,代码如例8所示。

【例8】类BaseMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类TextMessage,代码如例9所示。

【例9】类TextMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类 Image,代码如例10所示。

【例10】类 Image的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类 ImageMessage,代码如例11所示。

【例11】类 ImageMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类Voice,代码如例12所示。

【例12】类Voice的代码示例。
image.png
image.png
在包edu.bookcode.exofmessage.message.resp中创建类VoiceMessage,代码如例13所示。

【例13】类VoiceMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类Video,代码如例14所示。

【例14】类Video的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类VideoMessage,代码如例15所示。

【例15】类VideoMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类Music,代码如例16所示。

【例16】类Music的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类MusicMessage,代码如例17所示。

【例17】类MusicMessage的代码示例。
image.png
在包edu.bookcode.exofmessage.message.resp中创建类 Article,代码如例18所示。

【例18】类 Article的代码示例。
image.png
在edu.bookcode.exofmessage.message.resp子包中创建类NewsMessage,代码如例19所示。

【例19】类NewsMessage的代码示例。
image.png
3、创建类SignUtil
在包edu.bookcode.exofmessage中创建util子包,在包edu.bookcode.exofmessage.util中创建类SignUtil,代码如例20所示。

【例20】类SignUtil的代码示例。
image.png
image.png
image.png
4、创建类MessageUtil
在子包edu.bookcode.exofmessage.util中创建类MessageUtil,代码如例21所示。

【例21】类MessageUtil 的代码示例。
image.png
image.png
image.png
image.png
5、创建类CoreService
在包edu.bookcode.exofmessage中创建service子包,并在包edu.bookcode.exofmessage.service中创建类CoreService,代码如例22所示。

【例22】类CoreService的代码示例。
image.png
image.png
image.png
6、创建类ExOfMessageController
在包edu.bookcode.exofmessage中创建controller子包,并在包edu.bookcode.exofmessage.controller中创建类ExOfMessageController,代码如例23所示。

【例23】类ExOfMessageController的代码示例。
image.png
image.png
7、运行程序
启动内网穿透工具后,修改ReceiveMessageController的相对地址,并再次在IDEA中运行项目入口类WxgzptkfbookApplication。

在手机端的微信公众号中输入文本、图片、语音、视频、地理位置、链接等消息,手机上返回的结果(均为文本消息)如图1和图2所示(上下屏滑动显示)。
image.png
■图1在手机端的微信公众号中接收文本、图片、语音、视频等消息并被动回复这些消息的输出结果
image.png
■ 图2在手机端的微信公众号中接收并回复地理位置、链接等消息并被动回复这些消息的输出结果

8、示例说明
首先,对不同类型消息的封装采用了不同的方法(不完全相同)。其次,对消息(XML格式的数据)的处理也采用了不同的方法,示例中利用了用已有的开源框架Dom4j和XStream(假如之前没有在文件pom.xml增加对它们的依赖就需要添加依赖)来实现对XML的处理。

通过对比,可以发现微信小程序之微信公众平台应用开发中基于规范的开发只要满足规范要求,开发(编码实现)就有较大的自由度。

目录
相关文章
|
6月前
|
安全 前端开发 Java
基于springboot的微信公众号管理系统(支持多公众号接入)
基于springboot的微信公众号管理系统(支持多公众号接入)
129 2
|
小程序 开发者
新功能:个人小程序直接打开公众号链接
新功能:个人小程序直接打开公众号链接
131 0
|
1月前
|
应用服务中间件 网络安全 Apache
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等、支付宝支付实际支付成功,显示未支付等,都属于通讯中断,需要联系DZ官方付费修改程序,屏蔽防CC!
53 4
|
1月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
64 0
微信小程序:自定义关注公众号组件样式
|
6月前
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
107 0
|
6月前
|
前端开发 NoSQL Java
springboot整合微信(公众号)实现扫码登录(两种方式,两种实现)
springboot整合微信(公众号)实现扫码登录(两种方式,两种实现)
707 0
|
6月前
|
XML Go 数据格式
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
412 0
|
人工智能 自然语言处理 小程序
AI智能导诊系统源码,支持以公众号、小程序、App 等形式接入
智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件,它能够通过对患者的症状、病史等信息进行计算分析,快速推荐科室和医生。通过简单的描述自身症状,系统即可找到最适合的科室
200 1
|
小程序
小程序访问公众号文章
小程序访问公众号文章
114 0
|
小程序
小程序跳转公众号
小程序跳转公众号
57 0