[](https://996.icu)
[](https://search.maven.org/search?q=g:%22top.hmtools%22%20AND%20a:%22hm-tools-wxmp-adapter%22)
Взаимодействие с сервером WeChat осуществляется по протоколу HTTP. В целом, это активный запрос данных обратной связи от сервера WeChat, пассивное получение и обработка данных, отправленных сервером WeChat, и последующая отправка данных обратной связи на сервер WeChat. То есть:
Анализ типов данных обмена данными с сервером WeChat можно найти в анализе интерфейса общедоступного номера WeChat.xlsx.
Это пакет инструментов, который инкапсулирует API-интерфейсы общедоступного номера WeChat. Официальный адрес документа API: https://mp.weixin.qq.com/wiki. Инкапсуляция API WeChat очень трудоёмка, потому что документы Tencent всегда неясны и непонятны, а служба поддержки всегда недоступна! Этот набор инструментов использует некоторые идеи проектирования MyBatis и Spring MVC, поэтому он будет выглядеть знакомым при использовании.
/hm-tools-wxmp-adapter/wxmp-core
— ядро этого пакета инструментов. Он в основном реализует получение, управление, кэширование и расширение accessToken (пользовательские распределённые решения и т. д.), отправляет запросы на сервер WeChat через HTTP, базовые типы данных и инструменты взаимного преобразования Javabean и XML./hm-tools-wxmp-adapter/wxmp-menu
— API-интерфейс, связанный с пользовательским меню, структура запроса/ответа данных и структура уведомления о событии. Соответствует разделу «Пользовательское меню» документа разработки общедоступного номера WeChat [https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1434698695]./hm-tools-wxmp-adapter/wxmp-message
— управление сообщениями, связанные API-интерфейсы, структуры запроса/ответа данных и структуры уведомления о событиях. Соответствует документу разработки общедоступного номера WeChat «Управление сообщениями» [https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html]./hm-tools-wxmp-adapter/wxmp-webpage
— разработка веб-страниц WeChat, соответствующие интерфейсы. Соответствует документу разработки общедоступных номеров WeChat «Разработка веб-страниц WeChat» [https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/iOS_WKWebview.html]./hm-tools-wxmp-adapter/wxmp-material
— управление материалами, связанные API-интерфейсы, структуры запроса/ответа данных. Соответствует документу управления материалами общедоступного номера WeChat [https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html]./hm-tools-wxmp-adapter/wxmp-comment
— управление комментариями к картинкам, связанные API-интерфейсы, структуры запроса/ответа данных. Соответствует документу управления комментариями к картинкам общедоступного номера WeChat [https://developers.weixin.qq.com/doc/offiaccount/Comments_management/Image_Comments_Management_Interface.html]./hm-tools-wxmp-adapter/wxmp-user
— управление пользователями, связанные API-интерфейсы, структуры запроса/ответа данных. Соответствует документу управления пользователями общедоступного номера WeChat [https://developers.weixin.qq.com/doc/offiaccount/User_Management/User_Tag_Management.html]./hm-tools-wxmp-adapter/wxmp-account
— управление учётными записями, связанные API-интерфейсы, структуры запроса/ответа данных. Соответствует документу управления учётными записями общедоступного номера WeChat [https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html].<parent>
<groupId>top.hmtools</groupId>
<artifactId>hm-tools-wxmp-adapter</artifactId>
<version>1.0.0</version>
</parent>
//Пример получения пользовательского меню
//Ссылка на необходимые jar-файлы (этот набор инструментов полностью соответствует классификации документов общедоступного номера WeChat и может ссылаться на jar-файл по мере необходимости)
<dependency>
<groupId>top.hmtools</groupId>
<artifactId>wxmp-menu</artifactId>
<version>1.0.0</version>
</dependency>
//Инициализируем глобальный экземпляр объекта конфигурации
WxmpConfiguration configuration = new WxmpConfiguration();
//Создаём коробку для хранения пары appid и appsecret
AppIdSecretBox appIdSecretBox = new AppIdSecretBox() {
@Override
public AppIdSecretPair getAppIdSecretPair() {
AppIdSecretPair appIdSecretPair = new AppIdSecretPair();
appIdSecretPair.setAppid("Ваш appid общедоступного номера WeChat");
appIdSecretPair.setAppsecret("Секрет вашего общедоступного номера WeChаt");
return appIdSecretPair;
}
};
//Устанавливаем промежуточное ПО для доступа к токену
DefaultAccessTokenHandle accessTokenHandle = new DefaultAccessTokenHandle(appIdSecretBox);
configuration.setAccessTokenHandle(accessTokenHandle);
//Получаем фабрику создания сеанса
WxmpSessionFactory factory = WxmpSessionFactoryBuilder.build(configuration);
//Открываем сеанс
WxmpSession wxmpSession = factory.openSession();
//Получаем проксированный api mapper
IMenuApi menuApi = wxmpSession.getMapper(IMenuApi.class);
//Выполняем запрос, получаем обратную связь и выводим результат
MenuWapperBean menu = menuApi.getMenu();
System.out.println(JSON.toJSONString(menu));
Вывод:
{
"menu": {
"button": [
{
"name": "哈哈",
"sub_button": [
{
"name": "官网",
"sub_button": [],
"type": "view",
"url":
``` ```
{
"url": "http://m.hybo.net/main/index/index.html",
},
{
"name": "Динамик",
"sub_button": [],
"type": "view",
"url": "http://hm.hn.cn/main/news/index.html"
},
{
"name": "Видео",
"sub_button": [],
"type": "view",
"url": "http://hm.hn.cn/main/news/video.html"
}
]
}
Использование более элегантным способом TODO
Интеграция Spring Boot См.: wxmp-server-demo
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )