一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
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://151376liujie.github.io/resume/