wx-tools 概述

2023-03-22 17:16 更新

1.1.1 概述

GitHub地址:wx-tools

Wx-tools是基于微信公眾平臺API的輕量級框架。 基于Wx-tools你可以開速開發(fā)一個訂閱號/服務(wù)號的web應(yīng)用后臺。

另外:wx-tools核心是處理消息,這個消息包括了事件推送,用戶消息等。 后面會有詳細(xì)的介紹。

1.1.2 適用場景

wx-tools適合中小型項(xiàng)目,快速開發(fā)。因?yàn)檫€未支持微信支付/商戶接口等。所以如果需要使用微信支付/微信小店的同學(xué),可以選擇性的使用學(xué)習(xí)。

另外,小小的埋怨一下:

肯定有人要問:為什么這么久了還不實(shí)現(xiàn)商戶接口???

原因很簡單:測試號不支持測試這些支付接口,而我又沒有服務(wù)號或者認(rèn)證過的訂閱號!如果有哪位同學(xué)有多余的號愿意分享給我測試使用,萬分感謝,wx-tools將更加強(qiáng)大。:D

1.1.3 wx-tools簡單描述

wx-tools框架使用起來非常簡單,關(guān)鍵詞有6個。

  • WxConfig 基本配置庫
  • WxService 微信公眾平臺統(tǒng)一API Service接口
  • WxMessageRouter 消息路由器
  • WxMessageMatcher (interface) 消息匹配器
  • WxMessageInterceptor (interface) 消息攔截器
  • WxMessageHandler (interface) 消息處理器

先有個大概了解,后續(xù)會詳細(xì)講到如何使用。

該框架還有個特點(diǎn)就是鏈?zhǔn)劫x值,用過jQuery的人都知道這樣的寫法

 $("#id").hide().attr().html()....

而wx-tools對于微信服務(wù)器發(fā)過來的消息是這樣處理的:

//初始化統(tǒng)一API調(diào)用入口
WxService wxService = new WxService();
//來自微信服務(wù)器的消息
WxXmlMessage msg = XStreamTransformer.fromXml(WxXmlMessage.class, request.getInputStream());
//實(shí)例化消息路由器,作用是將消息路由去匹配器,攔截器,處理器。
WxMessageRouter router = new WxMessageRouter(wxService);
//添加路由規(guī)則,只處理滿足規(guī)則的消息,可以自定義匹配器,攔截器,處理。
//每條路由規(guī)則必須以next()或者end()結(jié)束。否則不生效。這個后續(xù)會講到。
//這里意思是,只接收TEXT類型的消息,交給DemoMatcher匹配器、DemoInterceptor攔截器、DemoHandler處理器處理。
router.rule().msgType(WxConsts.XML_MSG_TEXT).matcher(new DemoMatcher()).interceptor(new DemoInterceptor()).handler(new DemoHandler()).end();
//開始路由
router.route(wx);

看不懂?沒關(guān)系,我來解釋一下:

路由器每個家庭都有把?我們來看看百度百科的路由器的定義:

路由器(Router),是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會根據(jù)信道的情況自動選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號。

而wx-tools中的路由器的定義類似:

路由器(WxMessageRouter),是路由處理微信服務(wù)器發(fā)來的一切消息(消息包括了事件推送,普通消息等),它會根據(jù)設(shè)置的規(guī)則(Rule)的不同而自動選擇不同的處理器(Handler/Matcher/Interceptor),按前后順序處理并返回用戶處理結(jié)果。

這樣講不知道明白沒明白!不明白也沒關(guān)系,接下來跟著做一個demo就知道怎么使用了~

下一篇會說明當(dāng)前版本實(shí)現(xiàn)了哪些功能。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號