本文是项目 WeiXin 的说明文档。
在 web.xml 中配置如下信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<servlet>
<servlet-name>weixin</servlet-name>
<servlet-class>com.chn.wx.WeiXinServlet</servlet-class>
<init-param>
<param-name>package</param-name>
<param-value>com.chn.wx.listener</param-value>
</init-param>
<init-param>
<param-name>appid</param-name>
<param-value>wx391f84dcab2d80bc</param-value>
</init-param>
<init-param>
<param-name>secret</param-name>
<param-value>cf4347b8c75bb09602d16ad3495ff280</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>weixin</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
com.chn.wx.listener
中的所有实现 Service
接口的类会被组装成一棵流程树,目前结点如下:
结点与父结点的关系通过 @Node(value = "raw", parent = EncryptRouter.class)
指定。
父结点到子结点的路由通过 tree.route(context, key)
完成,key 即为 Node
中的 value 属性。
Service
的实现方法中返回的字符串会被写回到请求流中,需要返回消息时,调用 com.chn.wx.template.PassiveMessage
中的对应方法生成报文返回即可。
com.chn.wx.invocation.FileManager
上传下载多媒体文件com.chn.wx.invocation.GroupManager
分组管理com.chn.wx.invocation.ServiceMessageSender
客服消息发送com.chn.wx.invocation.TokenAccessor
唯一的 token 获取入口, token 只能能过该类获取,不能另做缓存Service
实现类中被@Param
注解标记的字段,会被注入成 Context
中对应的属性值,当然也可以直接通过 Context
读取。