wechat core
1.0.0
一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
封裝了微信訊息接收與發送,可以使用註解驅動開發,方便的進行業務開發而不需要再關注訊息接收和訊息發送的細節。
內部封裝了訊息處理器抽象類別,該類別提供處理訊息前的訊息過濾、預設行為日誌等功能,使用者可繼承該類別實現自己的業務。
只需加入註解就可將處理各個類型的訊息處理器分開了,更支援將不同事件類型的訊息處理器分開,避免了在處理業務邏輯的程式碼中使用大段的if elseif elseif 來判斷訊息得類型的方式。每個介面職責清晰明了,實作更解耦;
在classpath根路徑下建立wechat.properties屬性文件,配置wechat.appId、wechat.appsecret、wechat.token、wechat.encodingAESKey(名字必須跟這個一樣),範例如下圖:
編寫訊息處理器類,繼承AbstractMessageHandler抽象類,實作doHandleMessage方法,在該類別上加上@ MessageProcessor的註解,並指明要處理的訊息類型,屬性messageType指明要處理得訊息類型,eventType指明要處理得事件類型。當訊息類型是普通訊息時,eventType屬性可不用指定(即使指定也無效) 範例程式碼如下:
@ Component
@ MessageProcessor ( messageType = MessageType . TEXT_MESSAGE )
public class TextMessageHandlerExample extends AbstractMessageHandler {
private static final Logger LOGGER = LoggerFactory . getLogger ( TextMessageHandlerExample . class );
public BaseResponseMessage doHandleMessage ( BaseRequestMessage requestMessage ) {
//在这里实现你自己的业务逻辑
TextRequestMessage textRequestMessage = ( TextRequestMessage ) baseRequestMessage ;
return MessageUtils . buildTextResponseMessage ( baseRequestMessage , textRequestMessage . getContent ());
}
}
@ Component
@ MessageProcessor ( messageType = MessageType . EVENT , eventType = EventType . EVENT_SUBSCRIBE )
public class SubscribeEventMessageHandlerExample extends AbstractMessageHandler {
private static final Logger LOGGER = LoggerFactory . getLogger ( SubscribeEventMessageHandlerExample . class );
@ Override
public BaseResponseMessage doHandleMessage ( BaseRequestMessage baseRequestMessage ) {
SubOrUnSubEventRequestMessage subOrUnSubEventRequestMessage = ( SubOrUnSubEventRequestMessage ) baseRequestMessage ;
//在这里实现你自己的业务逻辑
}
}
just run your application !! have fun...
各種訊息類型的接收與回覆的範例程式碼連結如下,供讀者朋友參考
基本訊息類型
事件訊息類型
信箱:[email protected] ,歡迎提bug和建議。
線上簡歷:https://151376liujie.github.io/resume/