Enterprise WeChat API, интерфейс Enterprise WeChat SDK
Enterprise WeChat API, интерфейс Enterprise WeChat SDK

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

предприятиеВичатapi,предприятие Вичатsdkинтерфейс

1. Вызов API интерфейса Enterprise WeChat SDK — друзья Enterprise WeChat отправляют и получают сообщения.

/** * Отправляйте сообщения корпоративным друзьям в WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); TalkToFriendTaskMessage.Builder bd = TalkToFriendTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); TalkToFriendTaskMessage req = bd.build(); // Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TalkToFriendTask, vo, req);

} catch (Exception e) { e.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

/** * Сообщения чата, отправленные корпоративными друзьями WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo) { пытаться { FriendTalkNoticeMessage req = vo.getContent().unpack(FriendTalkNoticeMessage.class); log.debug(JsonFormat.printer().print(req)); log.debug(LocalDateTime.now()+» Соответствующее имя потока сообщения чата, отправленного друзьями WeChat: «+Thread.currentThread().getName()); //Пересылаем сообщение на сторону ПК asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.FriendTalkNotice, req); // Сообщаем клиенту, что сообщение получено MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), e.getMessage()); } }

2. Вызов API интерфейса Enterprise WeChat SDK — добавляйте клиентов через номер мобильного телефона или через друзей WeChat.

/** * Enterprise WeChat ищет номер мобильного телефона и добавляет WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); AddCustomerFromSearchTaskMessage.Builder bd = AddCustomerFromSearchTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); AddCustomerFromSearchTaskMessage req = bd.build(); // Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromSearchTask, vo, req);

} catch (Exception e) { e.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

/** * Добавляйте клиентов из корпоративных друзей WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); AddCustomerFromWxTaskMessage.Builder bd = AddCustomerFromWxTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); AddCustomerFromWxTaskMessage req = bd.build(); // Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromWxTask, vo, req);

} catch (Exception e) { e.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

3. API интерфейса Enterprise WeChat SDK запускает вызов Enterprise WeChat для отправки списка контактов.

/** * Запустите задачу по продвижению корпоративного списка контактов WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); CommonTriggerTaskMessage req = bd.build(); //Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerContactPushTask, vo, req); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

/** * Корпоративный список контактов WeChat * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo) { пытаться { ContactPushNoticeMessage req = vo.getContent().unpack(ContactPushNoticeMessage.class); log.debug(JsonFormat.printer().print(req)); asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ContactPushNotice, req); // Сообщаем клиенту, что сообщение получено MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL); } }

4. Интерфейс Enterprise WeChat SDK API-триггеры вызовов Список push-сессий Enterprise WeChat

/** * Запуск задачи корпоративного списка разговоров WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); CommonTriggerTaskMessage req = bd.build(); //Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerConversationPushTask, vo, req); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

/** * Push-список сеансов корпоративного чата WeChat * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo) { пытаться { ConversationPushNoticeMessage req = vo.getContent().unpack(ConversationPushNoticeMessage.class); log.debug(JsonFormat.printer().print(req)); asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ConversationPushNotice, req); // Сообщаем клиенту, что сообщение получено MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL); } }

5. Вызов API интерфейса Enterprise WeChat SDK — инициирование отправки друзьям Enterprise WeChat WeChat

/** * Запустите корпоративный WeChat для публикации списка друзей WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) { пытаться { log.debug(contentJsonStr); CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder(); JsonFormat.parser().merge(contentJsonStr, bd); CommonTriggerTaskMessage req = bd.build(); //Пересылаем сообщение мобильному клиенту asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerWechatFriendPushTask, vo, req); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL); } }

/** * Корпоративный список друзей WeChat, используемый для добавления клиентов из друзей WeChat. * @author в чате:happybabby110 * @блог http://www.wlkankan.cn */ @Асинхронный public void handleMsg (ChannelHandlerContext ctx, TransportMessage vo) { пытаться { WxFriendPushNoticeMessage req = vo.getContent().unpack(WxFriendPushNoticeMessage.class); log.debug(JsonFormat.printer().print(req)); asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.WxFriendPushNotice, req); // Сообщаем клиенту, что сообщение получено MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null); } catch (Исключение е) { е.printStackTrace(); MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL); } }

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить об этом. После проверки этот сайт будет немедленно удален.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/186896.html Исходная ссылка: https://javaforall.cn

boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение
boy illustration
.NET Как загрузить файлы через HttpWebRequest
boy illustration
[Веселый проект Docker] Обновленная версия 2023 года! Создайте эксклюзивный инструмент управления паролями за 10 минут — Vaultwarden
boy illustration
Высокопроизводительная библиотека бревен Golang zap + компонент для резки бревен лесоруба подробное объяснение
boy illustration
Концепция и использование Springboot ConstraintValidator
boy illustration
Новые функции Go 1.23: точная настройка основных библиотек, таких как срезы и синхронизация, значительно улучшающая процесс разработки.
boy illustration
[Весна] Введение и базовое использование AOP в Spring, SpringBoot использует AOP.
boy illustration
Чтобы начать работу с рабочим процессом Flowable, этой статьи достаточно.
boy illustration
Байтовое интервью: как решить проблему с задержкой сообщений MQ?
boy illustration
ASP.NET Core использует функциональные переключатели для управления реализацией доступа по маршрутизации.
boy illustration
[Проблема] Решение Невозможно подключиться к Redis; вложенное исключение — io.lettuce.core.RedisConnectionException.
boy illustration
От теории к практике: проектирование чистой архитектуры в проектах Go
boy illustration
Решение проблемы искажения китайских символов при чтении файлов Net Core.
boy illustration
Реализация легких независимых конвейеров с использованием Brighter
boy illustration
Как удалить и вернуть указанную пару ключ-значение из ассоциативного массива в PHP
boy illustration
Feiniu fnos использует Docker для развертывания учебного пособия по AList
boy illustration
Принципы и практика использования многопоточности в различных версиях .NET.
boy illustration
Как использовать PaddleOCRSharp в рамках .NET
boy illustration
CRUD используется уже два или три года. Как читать исходный код Spring?
boy illustration
Устраните проблему совместимости между версией Spring Boot и Gradle Java: возникла проблема при настройке корневого проекта «demo1» > Не удалось.
boy illustration
Научите вас шаг за шагом, как настроить Nginx.
boy illustration
Это руководство — все, что вам нужно для руководства по автономному развертыванию сервера для проектов Python уровня няни (рекомендуемый сборник).
boy illustration
Не удалось запустить docker.service — Подробное объяснение идеального решения ️
boy illustration
Настройка файлового сервера Samba в системе Linux Centos. Анализ NetBIOS (супер подробно)
boy illustration
Как настроить метод ssh в Git, как получить и отправить код через метод ssh
boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.