zoukankan      html  css  js  c++  java
  • 微信开发用户消息统一处理实现

    微信公众平台用户消息存在多种形式,图文消息、语音消息、视频消息等。针对不同的消息,避免一一对其进行繁杂处理实现,这里采用动态代理实现统一消息处理。自定义消息处理代理类实现用户消息处理。

    在公众平台开发者模式配置公众号后台接口信息:

    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输出

    总结:这里采用动态代理机制实现统一消息处理,定义代理接口,对想实现的消息处理方法实现对应消息处理代理类,不用为各种消息分别实现对应的消息处理机制。具体代理实现未完待续…敬请期待

  • 相关阅读:
    flask_第一个程序
    Web框架_MVC vs MVT
    python_使用qrcode生成二维码
    HDU 4641
    SPOJ NSUBSTR
    SPOJ LCS2 多个串的最长公共子串
    SPOJ LCS 后缀自动机找最大公共子串
    POJ 1509 循环同构的最小表示法
    HDU 4821 字符串hash
    SPOJ GSS1 静态区间求解最大子段和
  • 原文地址:https://www.cnblogs.com/damonzh/p/5123889.html
Copyright © 2011-2022 走看看