一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
WeChat メッセージの受信と送信をカプセル化し、アノテーション駆動型開発を使用して、メッセージ受信とメッセージ送信の詳細に注意を払うことなくビジネス開発を促進できます。
メッセージ プロセッサの抽象クラスは内部でカプセル化されており、メッセージ処理前のメッセージ フィルタリングやデフォルトの動作ログなどの機能を提供します。ユーザーはこのクラスを継承して独自のビジネスを実装できます。
アノテーションを追加するだけで、各タイプを処理するメッセージ プロセッサを分離することもでき、ビジネス ロジックを処理するコード内でメッセージのタイプを決定するために if elseif elseif の大きなセクションを使用する必要がなくなります。 。各インターフェースの責任は明確であり、実装はより分離されています。
クラスパスのルートパスに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 ;
//在这里实现你自己的业务逻辑
}
}
アプリケーションを実行するだけです...
さまざまな種類のメッセージを受信および返信するためのサンプル コードのリンクは、読者の参考のために次のとおりです。
基本的なメッセージの種類
イベントメッセージの種類
電子メール: [email protected]、バグや提案は大歓迎です。
オンライン履歴書: https://151376liijie.github.io/resume/