Este projeto precisa da sua ajuda!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
Um SDK do cliente Work Weixin (também conhecido como Wechat Work) para Golang, que foi testado em batalha e bastante sério sobre seus tipos.
Em produção desde o final de 2018, enviando todos os tipos de notificações e alertas em pelo menos 2 sistemas internos da Qiniu.
Um SDK do cliente WeChat corporativo da Golang. Eu tentei em um ambiente de produção e levo muito a sério os tipos;
Desde o final de 2018, pelo menos dois sistemas internos em Qiniu estão em funcionamento até hoje, enviando diversas notificações e alarmes.
Tradução em inglês TODO por enquanto, pois o serviço coberto aqui não está disponível fora da China (AFAIK).
Aviso
A versão v2 desta biblioteca ainda pode ter alterações de API incompatíveis, como ajustes em nomes de campos, nomes de métodos, etc. Não haverá uma versão v2 da tag até que tenhamos cuidado de todos os cantos conhecidos.
Se você confia nesta biblioteca, responda ao ticket de rastreamento da versão v2 ou faça uma reação emoticon para mostrar sua atitude! O autor agora mantém este projeto inteiramente em seu tempo livre e realmente precisa do seu feedback.
Preciso usar Go para implementar um envio de mensagem simples no trabalho e pensei em encontrar uma biblioteca de código aberto. No entanto, a qualidade do código do único WeChat Golang SDK empresarial de código aberto existente é ruim. Eu mesmo tive que escrever um.
Atualização : Já faz muito tempo que esta biblioteca foi escrita; agora (2019.08) existem três ou quatro projetos semelhantes. No entanto, depois de observar esses "produtos concorrentes", descobri que o design do tipo, a interface pública, o processamento do token de acesso etc. da minha biblioteca não são ruins. Por que as pessoas sempre gostam de codificar solicitações Host
, usar variáveis globais, descompactar por descompactar e até mesmo expor métodos internos?
A ramificação v2.x desta biblioteca suporta pelo menos a última versão estável do Go, que atualmente é go1.19. Se você precisar usá-lo com uma versão anterior do Go, mude para a versão v1.x. O código ainda suporta pelo menos go1.17.
O CI executará testes na versão estável atual do Go e na versão estável anterior. Somente quando todos os testes forem aprovados, o PR poderá ser mesclado.
Observação: à medida que o Go upstream continua a evoluir, precisamos ser capazes de garantir que conseguiremos recuperar o atraso de forma relativamente barata. Se go.mod
especificar que a versão Go é relativamente baixa, o que dificultará a iteração ou reconstrução funcional do próprio projeto, não consideraremos especificamente o bloqueio de usuários downstream da versão Go para retardar atualizações muito necessárias. Se você ainda tiver essas necessidades, registre um problema para comunicação.
Host
, que pode ser usada para bloquear uma camada de gateways, depuração temporária e outras necessidades estranhas.http.Client
personalizadoWorkwxApp
é construído em duas etapas e usado diretamentelowlevel
poderá ser criado para expor a interface da API simples, mas é provável que isso não seja feito.UserInfo
, Recipient
) para incentivar o estilo idiomático Gopanic
ao menor desacordo. As poucas situações existentes precisam ser reparadas.workwxctl
para ajudar na depuraçãoPara obter detalhes, consulte o documento godoc. Exemplos também são fornecidos para referência.
Markdown e outros tipos de mensagens atualmente não suportam o envio como mensagens confidenciais e um erro será relatado se o envio for forçado. Então, por que todos os métodos de envio de mensagens carregam o parâmetro isSafe
?
Por um lado, é muito provável que o provedor de serviços corporativos WeChat suporte o envio confidencial de mais tipos de mensagens no futuro e não queira que o código do cliente seja recompilado naquele momento, a resposta reportará um; erro de qualquer maneira, e você não manterá essa lógica. Portanto não será alterado.