一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
Il encapsule la réception et l'envoi des messages WeChat et peut utiliser un développement basé sur des annotations pour faciliter le développement commercial sans avoir à prêter attention aux détails de la réception et de l'envoi des messages.
La classe abstraite du processeur de messages est encapsulée en interne, ce qui fournit des fonctions telles que le filtrage des messages avant le traitement des messages, les journaux de comportement par défaut, etc. Les utilisateurs peuvent hériter de cette classe pour implémenter leur propre entreprise.
Ajoutez simplement des annotations pour séparer les processeurs de messages qui traitent chaque type. Il prend également en charge la séparation des processeurs de messages pour différents types d'événements, évitant ainsi d'avoir à utiliser de grandes sections de if elseif elseif pour déterminer le type de messages dans le code qui gère la logique métier. . Les responsabilités de chaque interface sont claires et la mise en œuvre est plus découplée ;
Créez un fichier de propriétés wechat.properties dans le chemin racine du chemin de classe et configurez wechat.appId, wechat.appsecret, wechat.token et wechat.encodingAESKey ( le nom doit être le même que celui-ci ).
Écrivez une classe de processeur de messages, héritez de la classe abstraite AbstractMessageHandler , implémentez la méthode doHandleMessage , ajoutez l'annotation @MessageProcessor sur la classe et spécifiez le type de message à traiter. L'attribut messageType spécifie le type de message à traiter et eventType spécifie le. type d'événement à traiter. Lorsque le type de message est un message normal, l'attribut eventType n'a pas besoin d'être spécifié (même s'il est spécifié, il ne sera pas valide. L'exemple de code est le suivant :
@ 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 ;
//在这里实现你自己的业务逻辑
}
}
lancez simplement votre application !! amusez-vous...
Les exemples de liens de code pour recevoir et répondre à différents types de messages sont les suivants à titre de référence pour les lecteurs.
Types de messages de base
Type de message d'événement
Email : [email protected], les bugs et les suggestions sont les bienvenus.
CV en ligne : https://151376liujie.github.io/resume/