微信开发用户消息统一处理实现
2016-01-12 11:57
375 查看
微信公众平台用户消息存在多种形式,图文消息、语音消息、视频消息等。针对不同的消息,避免一一对其进行繁杂处理实现,这里采用动态代理实现统一消息处理。自定义消息处理代理类实现用户消息处理。
在公众平台开发者模式配置公众号后台接口信息:
URL=http://weixin1234.ngrok.cc/Weixin/wechat。用户发送的消息将发送到此url的公账号后台。
这里为了在公众号后台启动时生成菜单,添加了统一处理过滤器WechatFilter,经由/wechat/的请求将通过此过滤器(在web.xml中配置)。
2、在有各种消息处理时,进行分类处理(用户发出post请求)
3、最初的响应微信发出的Token验证(配置开发者模式必须)
II. WeChat.processing方法是处理实现:
III. 实现主要思想:
A. 传入用户发送的xml消息体作为参数
B. 将xml消息体转为消息类型对象
C. 获得自定义的消息处理器,没有则使用默认消息处理器
D. 取得消息类型,对不同类型消息做相应处理
E. 将发送对象转为xml输出
总结:这里采用动态代理机制实现统一消息处理,定义代理接口,对想实现的消息处理方法实现对应消息处理代理类,不用为各种消息分别实现对应的消息处理机制。具体代理实现未完待续…敬请期待
在公众平台开发者模式配置公众号后台接口信息:
URL=http://weixin1234.ngrok.cc/Weixin/wechat。用户发送的消息将发送到此url的公账号后台。
这里为了在公众号后台启动时生成菜单,添加了统一处理过滤器WechatFilter,经由/wechat/的请求将通过此过滤器(在web.xml中配置)。
该过滤器主要作用是:
1、公众后台启动时执行创建菜单2、在有各种消息处理时,进行分类处理(用户发出post请求)
3、最初的响应微信发出的Token验证(配置开发者模式必须)
下面主要介绍对各类消息在这个过滤器进行统一处理的实现:
I. 用户消息属于http-POST请求,所以在WeChatFilter中处理如下:II. WeChat.processing方法是处理实现:
III. 实现主要思想:
A. 传入用户发送的xml消息体作为参数
B. 将xml消息体转为消息类型对象
C. 获得自定义的消息处理器,没有则使用默认消息处理器
D. 取得消息类型,对不同类型消息做相应处理
E. 将发送对象转为xml输出
总结:这里采用动态代理机制实现统一消息处理,定义代理接口,对想实现的消息处理方法实现对应消息处理代理类,不用为各种消息分别实现对应的消息处理机制。具体代理实现未完待续…敬请期待
相关文章推荐
- 【微信:hatybeijing】京女编程老师寻IT牛人建i8lei.com"爱芭蕾"论坛(如:Discuz)和搭建微信的发帖阅读帖子功能
- 微信各种号的关系
- 微信商户开发文档之扫码支付
- 微信需要注意的坑
- 微信web开发者工具
- 微信运营
- 闪客工具:微信发布调试工具
- 微信应用号QQ群(321518204)欢迎大家加入紧跟潮流
- 微信公众号开发(十六):微信的一些其他的常用接口测试代码
- 微信公众号开发(十五):位置消息处理器之周边搜索
- 微信公众号开发(十四):位置消息处理器之测距、导航(高德导航、百度静态图导航)
- 微信公众号开发(十三):图片处理器之人脸识别
- 微信公众号开发(十二):推送消息处理器之订阅事件处理器、菜单点击处理器、二维码扫描事件处理器、位置事件处理器、取消订阅事件处理器
- 微信公众号开发(十一):文本处理器之机器人聊天
- 微信公众号开发(十):文本处理器之讲个笑话
- 微信公众号开发(九):文本处理器之QQFace、从百度音乐搜索音乐
- 微信公众号开发(八):文本处理器之历史上的今天
- 微信公众号开发(七):文本处理器之快递查询
- 微信公众号开发(六):文本处理器之天气预报
- 微信公众号开发(五):文本处理器之主菜单、百度翻译