一款轻量级的微信消息处理框架,可以让业务代码与微信微信处理框架代码解耦,并且你根本不需要关心消息是如何发送的,你只需要关注你的业务即可.
Он инкапсулирует получение и отправку сообщений 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/