Этот проект нуждается в вашей помощи!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
Клиентский SDK Work Weixin (также известный как Wechat Work) для Golang, который проверен в боевых условиях и довольно серьезно относится к своим типам.
В разработке с конца 2018 года, размещение всех видов уведомлений и оповещений как минимум в двух внутренних системах Qiniu.
Корпоративный клиентский SDK Golang WeChat. Я пробовал его в производственной среде и очень серьезно отношусь к типам;
С конца 2018 года как минимум две внутренние системы в Qiniu работают и по сей день, отправляя различные уведомления и сигналы тревоги.
Английский перевод TODO на данный момент, так как описанная здесь услуга недоступна за пределами Китая (AFAIK).
Предупреждение
Версия этой библиотеки v2 все еще может содержать несовместимые изменения API, такие как корректировки имен полей, имен методов и т. д. Обратите внимание. Версии тега v2 не будет, пока мы не позаботимся обо всех известных углах.
Если вы полагаетесь на эту библиотеку, ответьте на заявку на отслеживание версии v2 или отреагируйте смайликом, чтобы показать свое отношение! Сейчас автор полностью поддерживает этот проект в свободное время и ему очень нужны ваши отзывы.
Мне нужно использовать Go для реализации простой отправки сообщений на работе, и я подумал о поиске библиотеки с открытым исходным кодом. Однако качество кода единственного существующего корпоративного SDK WeChat Golang с открытым исходным кодом оставляет желать лучшего. Мне пришлось написать его самому.
Обновление : Прошло много времени с момента написания этой библиотеки, сейчас (2019.08) существует три или четыре подобных проекта. Однако, посмотрев на эти «конкурирующие продукты», я обнаружил, что шрифтовой дизайн, публичный интерфейс, обработка токенов доступа и т. д. в моей библиотеке неплохие. Почему людям всегда нравится жестко запрограммировать запросы Host
, использовать глобальные переменные, распаковывать ради распаковки и даже предоставлять внутренние методы?
Ветка v2.x этой библиотеки поддерживает как минимум последнюю стабильную версию Go, которая на данный момент — go1.19. Если вам нужно использовать его с более ранней версией Go, перейдите на версию v1.x. Код по-прежнему поддерживает как минимум go1.17.
CI проведет тестирование текущей стабильной версии Go и предыдущей стабильной версии. Только когда все тесты пройдут успешно, PR можно будет объединить.
Примечание. Поскольку Go upstream продолжает развиваться, нам необходимо быть в состоянии гарантировать, что мы сможем догнать его относительно дешево. Если go.mod
указано, что версия Go относительно низкая, что будет препятствовать собственной функциональной итерации или реконструкции проекта, мы не будем специально рассматривать возможность блокировки последующих пользователей версии Go, чтобы замедлить очень необходимые обновления. Если у вас все еще есть такие потребности, пожалуйста, сообщите о проблеме для связи.
Host
, которое можно использовать для блокировки уровня шлюзов, временной отладки и других странных нужд.http.Client
WorkwxApp
создается в два этапа, а затем используется напрямую.lowlevel
пакет, предоставляющий чистый интерфейс API, но, скорее всего, этого не будет сделано.UserInfo
, Recipient
), чтобы поддержать идиоматический стиль Go.panic
при малейшем разногласии. Те немногие существующие ситуации необходимо исправить.workwxctl
для помощи в отладке.Подробности см. в документе godoc. Примеры также приведены для справки.
Markdown и другие типы сообщений в настоящее время не поддерживают отправку конфиденциальных сообщений, и при принудительной отправке будет сообщено об ошибке. Так почему же все методы отправки сообщений содержат параметр isSafe
?
С одной стороны, корпоративный поставщик услуг WeChat, скорее всего, будет поддерживать конфиденциальную отправку большего количества типов сообщений в будущем и не хочет, чтобы клиентский код в это время перекомпилировался, с другой стороны, в ответе будет сообщено об ошибке; ошибка в любом случае, и вы не сохраните эту логику. Поэтому оно не будет изменено.