一、 初步认识微信公众平台
1、微信公众号是什么?
官网的介绍:再小的个体也有品牌。
2、微信公众平台,就是我们平时所说的“公众号”,在我刚接触微信开发时,微信公众平台的开发已经是稳定的阶段了,
微信公众平台地址:https://mp.weixin.qq.com/
微信公众平台公分4大板块:订阅号、服务号、小程序、企业号。
3、 公众号的类型
公众号的类型分为三种,分别是服务号和订阅号,还有一个大家比较陌生的企业号。订阅号和服务号均为传统意义的“公众号”,具有消息群发能力,前两种大家相对来说熟悉一些,第三种比较陌生。且99%以上的微信公众号都是服务号和订阅号,因此我们主要讨论这两类 。
详细区别见腾讯官方说明 :http://kf.qq.com/faq/120911VrYVrA130805byM32u.html
也可参考知乎上的说明 :https://www.zhihu.com/question/21289814
4、服务号和订阅号的区别
二:微信公众平台的通讯过程
当微信用户向你的公众平台发送一条消息,实际上这条消息首先发送到微信服务器,由微信服务器向网站服务器发起另外一个请求,网站服务器返回这个请求的结果,再由微信服务器发送到微信客户端。
整个消息通讯流程如下图:
上述5个步骤中,作为开发者我们主要精力都集中在步骤3上,这个步骤主实际上要有3项任务:
接收来自2的XML信息
服务器内部逻辑执行
组织并返回用于4的XML信息
上述三项任务我会在后面做详细说明,并提供一整套简单、高效的处理方法。
三:解析微信服务器传来的消息
因为微信服务器发送过来的是xml格式的消息,所以我们可以采用 开源框架dom4j去解析xml 。
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
四:将响应消息转换成xml返回给微信服务器
如何将响应消息转换成xml返回的问题,这里我们将 采用开源框架xstream来实现Java类到xml的转换
<!-- 采用开源框架xstream来实现Java类到xml的转换 -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.10</version>
</dependency>