wx-tools 概述

2023-03-22 17:16 更新

1.1.1 概述

GitHub地址:wx-tools

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

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

1.1.2 適用場景

wx-tools適合中小型項目,快速開發(fā)。因為還未支持微信支付/商戶接口等。所以如果需要使用微信支付/微信小店的同學,可以選擇性的使用學習。

另外,小小的埋怨一下:

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

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

1.1.3 wx-tools簡單描述

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

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

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

該框架還有個特點就是鏈式賦值,用過jQuery的人都知道這樣的寫法

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

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

//初始化統(tǒng)一API調(diào)用入口
WxService wxService = new WxService();
//來自微信服務器的消息
WxXmlMessage msg = XStreamTransformer.fromXml(WxXmlMessage.class, request.getInputStream());
//實例化消息路由器,作用是將消息路由去匹配器,攔截器,處理器。
WxMessageRouter router = new WxMessageRouter(wxService);
//添加路由規(guī)則,只處理滿足規(guī)則的消息,可以自定義匹配器,攔截器,處理。
//每條路由規(guī)則必須以next()或者end()結束。否則不生效。這個后續(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);

看不懂?沒關系,我來解釋一下:

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

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

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號