wx-tools 概述
1.1.1 概述
GitHub地址:wx-tools
Wx-tools是基于微信公众平台API的轻量级框架。 基于Wx-tools你可以开速开发一个订阅号/服务号的web应用后台。
另外:wx-tools核心是处理消息,这个消息包括了事件推送,用户消息等。 后面会有详细的介绍。
1.1.2 适用场景
wx-tools适合中小型项目,快速开发。因为还未支持微信支付/商户接口等。所以如果需要使用微信支付/微信小店的同学,可以选择性的使用学习。
另外,小小的埋怨一下:
肯定有人要问:为什么这么久了还不实现商户接口???
原因很简单:测试号不支持测试这些支付接口,而我又没有服务号或者认证过的订阅号!如果有哪位同学有多余的号愿意分享给我测试使用,万分感谢,wx-tools将更加强大。:D
1.1.3 wx-tools简单描述
wx-tools框架使用起来非常简单,关键词有6个。
- WxConfig 基本配置库
- WxService 微信公众平台统一API Service接口
- WxMessageRouter 消息路由器
- WxMessageMatcher (interface) 消息匹配器
- WxMessageInterceptor (interface) 消息拦截器
- WxMessageHandler (interface) 消息处理器
先有个大概了解,后续会详细讲到如何使用。
该框架还有个特点就是链式赋值,用过jQuery的人都知道这样的写法
$("#id").hide().attr().html()....
而wx-tools对于微信服务器发过来的消息是这样处理的:
//初始化统一API调用入口
WxService wxService = new WxService();
//来自微信服务器的消息
WxXmlMessage msg = XStreamTransformer.fromXml(WxXmlMessage.class, request.getInputStream());
//实例化消息路由器,作用是将消息路由去匹配器,拦截器,处理器。
WxMessageRouter router = new WxMessageRouter(wxService);
//添加路由规则,只处理满足规则的消息,可以自定义匹配器,拦截器,处理。
//每条路由规则必须以next()或者end()结束。否则不生效。这个后续会讲到。
//这里意思是,只接收TEXT类型的消息,交给DemoMatcher匹配器、DemoInterceptor拦截器、DemoHandler处理器处理。
router.rule().msgType(WxConsts.XML_MSG_TEXT).matcher(new DemoMatcher()).interceptor(new DemoInterceptor()).handler(new DemoHandler()).end();
//开始路由
router.route(wx);
看不懂?没关系,我来解释一下:
路由器每个家庭都有把?我们来看看百度百科的路由器的定义:
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。
而wx-tools中的路由器的定义类似:
路由器(WxMessageRouter),是路由处理微信服务器发来的一切消息(消息包括了事件推送,普通消息等),它会根据设置的规则(Rule)的不同而自动选择不同的处理器(Handler/Matcher/Interceptor),按前后顺序处理并返回用户处理结果。
这样讲不知道明白没明白!不明白也没关系,接下来跟着做一个demo就知道怎么使用了~
下一篇会说明当前版本实现了哪些功能。
更多建议: