微信开发(一)Wx-tools框架基础流程

  • Post author:
  • Post category:其他


前言

关于微信公众号开发,Wechat-Group/weixin-java-tools框架比较流行。写篇文章来分析下,该框架处理消息的基本流程。

以下源码均来自:

(weixin-java-tools框架源码)

https://github.com/Wechat-Group/weixin-java-tools

(使用框架Demo)

https://github.com/binarywang/weixin-java-mp-demo-springboot

一、微信消息发送、响应流程

从用户发送消息

-> 微信后台收到消息,再发送消息xml给开发者后台

-> 开发者后台收到消息xml,然后根据消息的路由操作,最后组装回复的消息xml

-> 发送给微信后台

-> 给用户

二、代码流程

以Wx-toos框架源码为例子,理清楚从微信客户端发送一条消息的整个代码流程。(主要解析消息路由器的过程)


文章中所有源码均省略get、set方法

2.1 加载配置信息、配置类

该过程主要依靠,WechatMpConfiguration、WechatMpProperties两个类完成。

WechatMpProperties负责读取配置信息

@ConfigurationProperties(prefix = "wechat.mp")
public class WechatMpProperties {
   
  /**
   * 设置微信公众号的appid
   */
  private String appId;

  /**
   * 设置微信公众号的app secret
   */
  private String secret;

  /**
   * 设置微信公众号的token
   */
  private String token;

  /**
   * 设置微信公众号的EncodingAESKey
   */
  private String aesKey;
  ...
}

WechatMpConfiguration配置类,比较重要。

@Configuration
@ConditionalOnClass(WxMpService.class)
@EnableConfigurationProperties(WechatMpProperties.class)
public class WechatMpConfiguration {
   
  ...

  @Bean
  @ConditionalOnMissingBean
  public WxMpConfigStorage configStorage() {
    WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage();
    configStorage.setAppId(this.properties.getAppId());
    configStorage.setSecret(this.properties.get



版权声明:本文为xsp_happyboy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。