¡Este proyecto necesita tu ayuda!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
Un SDK de cliente de Work Weixin (también conocido como Wechat Work) para Golang, que está probado en batalla y es bastante serio en cuanto a sus tipos.
En producción desde finales de 2018, enviando todo tipo de notificaciones y alertas en al menos 2 de los sistemas internos de Qiniu.
Un SDK de cliente WeChat empresarial de Golang; casualmente lo probé en un entorno de producción y me tomo muy en serio los tipos.
Desde finales de 2018, al menos dos sistemas internos en Qiniu han estado funcionando hasta el día de hoy, generando diversas notificaciones y alarmas.
Traducción al inglés TODO por ahora, ya que el servicio cubierto aquí no está disponible fuera de China (AFAIK).
Advertencia
Es posible que la versión v2 de esta biblioteca aún tenga cambios de API incompatibles, como ajustes en los nombres de campos, nombres de métodos, etc. Tenga en cuenta. No habrá una versión v2 de la etiqueta hasta que nos hayamos ocupado de todos los rincones conocidos.
Si confía en esta biblioteca, responda al ticket de seguimiento de la versión v2 o reaccione con un emoticón para mostrar su actitud. El autor ahora mantiene este proyecto exclusivamente en su tiempo libre y realmente necesita sus comentarios.
Necesito usar Go para implementar un envío de mensajes simple en el trabajo y pensé en encontrar una biblioteca de código abierto. Sin embargo, la calidad del código del único SDK empresarial de código abierto de WeChat Golang es deficiente. Tuve que escribir uno yo mismo.
Actualización : Ha pasado mucho tiempo desde que se escribió esta biblioteca. Ahora (2019.08) hay tres o cuatro proyectos similares. Sin embargo, después de observar estos "productos de la competencia", descubrí que el diseño tipográfico, la interfaz pública, el procesamiento del token de acceso, etc. de mi biblioteca no son malos. ¿Por qué a la gente siempre le gusta codificar solicitudes Host
, usar variables globales, descomprimir por descomprimir e incluso exponer métodos internos?
La rama v2.x de esta biblioteca admite al menos la última versión estable de Go, que actualmente es go1.19. Si necesita usarlo con una versión anterior de Go, pase a la versión v1.x. El código allí todavía admite al menos go1.17.
CI ejecutará pruebas en la versión estable actual de Go y en la versión estable anterior. Solo cuando todas las pruebas pasen se podrá fusionar el PR.
Nota: A medida que Go upstream continúa evolucionando, debemos poder asegurarnos de poder ponernos al día a un costo relativamente bajo. Si go.mod
especifica que la versión de Go es relativamente baja, lo que dificultará la iteración o reconstrucción funcional del proyecto, no consideraremos específicamente bloquear a los usuarios intermedios de la versión de Go para ralentizar las actualizaciones muy necesarias. Si aún tiene tales necesidades, presente un problema para comunicarse.
Host
, que se puede utilizar para bloquear una capa de puertas de enlace, depuración temporal y otras necesidades extrañas.http.Client
personalizadoWorkwxApp
se construye en dos pasos y luego se usa directamentelowlevel
para exponer la interfaz API básica, pero es probable que no se haga.UserInfo
, Recipient
) para fomentar el estilo idiomático de Go.panic
ante el más mínimo desacuerdo. Es necesario reparar las pocas situaciones existentes.workwxctl
para ayudar en la depuraciónPara obtener más información, consulte el documento godoc. También se proporcionan ejemplos como referencia.
Markdown y otros tipos de mensajes actualmente no admiten el envío como mensajes confidenciales y se informará un error si se fuerza el envío. Entonces, ¿por qué todos los métodos de envío de mensajes llevan el parámetro isSafe
?
Por un lado, es muy probable que el proveedor de servicios WeChat empresarial admita el envío confidencial de más tipos de mensajes en el futuro y no quiera que el código del cliente se vuelva a compilar en ese momento; por otro lado, la respuesta informará un error; error de todos modos, y no mantendrás esta lógica. Por lo tanto no será modificado.