wx-tools 概述

2023-03-22 17:16 更新

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就知道怎么使用了~

下一篇会说明当前版本实现了哪些功能。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号