一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
Ele encapsula o recebimento e o envio de mensagens do WeChat e pode usar o desenvolvimento orientado a anotações para facilitar o desenvolvimento de negócios sem a necessidade de prestar atenção aos detalhes do recebimento e do envio de mensagens.
A classe abstrata do processador de mensagens é encapsulada internamente, o que fornece funções como filtragem de mensagens antes do processamento de mensagens, logs de comportamento padrão, etc. Os usuários podem herdar esta classe para implementar seus próprios negócios.
Basta adicionar anotações para separar os processadores de mensagens que processam cada tipo. Ele também suporta a separação de processadores de mensagens para diferentes tipos de eventos, evitando a necessidade de usar grandes seções de if elseif elseif para determinar o tipo de mensagens no código que lida com a lógica de negócios. . As responsabilidades de cada interface são claras e a implementação é mais desacoplada;
Crie um arquivo de propriedades wechat.properties no caminho raiz do caminho de classe e configure wechat.appId, wechat.appsecret, wechat.token e wechat.encodingAESKey ( o nome deve ser igual a este ).
Escreva uma classe de processador de mensagens, herde a classe abstrata AbstractMessageHandler , implemente o método doHandleMessage , adicione a anotação @MessageProcessor na classe e especifique o tipo de mensagem a ser processado. O atributo messageType especifica o tipo de mensagem a ser processado e eventType especifica o tipo de mensagem. tipo de evento a ser processado. Quando o tipo de mensagem é uma mensagem normal, o atributo eventType não precisa ser especificado (mesmo se especificado, será inválido. O código de exemplo é o seguinte:
@ 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 ;
//在这里实现你自己的业务逻辑
}
}
basta executar seu aplicativo !!
Os links de código de exemplo para receber e responder a vários tipos de mensagens são os seguintes para referência dos leitores.
Tipos básicos de mensagens
Tipo de mensagem de evento
Email: [email protected], bugs e sugestões são bem-vindos.
Currículo online: https://151376liujie.github.io/resume/