O WeChat HTTP API SDK baseado em Flurl.Http
atualmente inclui plataforma pública, plataforma aberta, plataforma comercial, WeChat corporativo, plataforma de publicidade, plataforma aberta de diálogo e outros módulos.
Para mais kits de desenvolvimento da série SKIT.FlurlHttpClient, clique aqui.
Flurl.Http
.System.Text.Json
(padrão) e Newtonsoft.Json
.nome | NuGet | outro |
---|---|---|
Plataforma pública (conta oficial, miniprograma, conta de vídeo) + Módulo de plataforma aberta | Documentação de Desenvolvimento | Exemplo de Projeto | |
Módulo de plataforma comercial (pagamento WeChat) (para interface da versão v3) | Documentação de Desenvolvimento | Exemplo de Projeto | |
Módulo da plataforma do comerciante (pagamento WeChat) (para interface da versão v2) | Documentação de desenvolvimento | |
Módulo Enterprise WeChat (conta empresarial) | Documentação de desenvolvimento | |
Módulo de plataforma de publicidade (Guangdiantong) | Documentação de desenvolvimento | |
Módulo de plataforma aberta de diálogo (diálogo inteligente WeChat) | Documentação de desenvolvimento | |
Módulo de pagamento para microempresas Tencent | Documentação de desenvolvimento |
Flurl.Http
? Flurl.Http
é uma biblioteca HTTP leve e uma das bibliotecas de extensão mais populares em .NET. Seus downloads cumulativos no NuGet excedem 17 milhões, a média de downloads diários excede 6.000 e GitHub 2,6k Stars (estatísticas de dados em 2021-06-). 01).
Nota: Shengpai WeChat SDK é um conhecido projeto doméstico de código aberto .NET iniciado pelo Sr. Su Zhenwei.
Esta biblioteca se concentra no encapsulamento da própria API e também fornece algumas classes de ferramentas para criptografia, descriptografia e serialização. É mais flexível de usar e não está limitado a qualquer estrutura ou tipo de projeto. O Shengpai WeChat SDK fornece funções grandes e abrangentes; , e é compatível com integração profunda MVC/WebAPI.
O modelo de interface desta biblioteca segue o método de nomenclatura de atributos C# (nomenclatura Pascal) oficialmente recomendado pela Microsoft; Shengpai WeChat SDK fornece o método de nomenclatura da própria interface WeChat (uma mistura de nomenclatura em forma de cobra e nomenclatura de caixa de camelo).
Esta biblioteca encapsula quase todas as APIs atualmente fornecidas oficialmente pelo WeChat (os motivos específicos para as poucas que não são suportadas foram listados na documentação de cada módulo). O Shengpai WeChat SDK fornece apenas APIs comumente usadas);
Em relação a este ponto, temos que reclamar da API fornecida pelo WeChat. Obviamente, muitas equipes estão desenvolvendo-a em conjunto dentro do WeChat. Cada equipe, ou mesmo cada pessoa, tem estilos de nomenclatura de campo, restrições e regras de interface muito diferentes. Embora a API v3 do WeChat Pay seja considerada "RESTful", não existe um padrão unificado.
Por exemplo, tome a consulta de paginação como exemplo. Parece que os campos são os mesmos, consistindo em offset , cursor , page , limit + data , total_count e next_cursor No entanto, os campos offset , cursor , page e limit de alguns. interfaces são parâmetros opcionais, alguns são obrigatórios , alguns valores de página começam em 0
, alguns começam em 1
; O campo next_cursor será definitivamente retornado, mas alguns não serão retornados e alguns serão retornados apenas sob certas condições. Há um total de mais de uma dúzia de interfaces de consulta de paginação, mas existem sete ou oito estruturas de dados de paginação. Nesse caso, é difícil abstrair uma classe base comum.
Além disso, a mesma coisa é escrita de forma diferente em interfaces diferentes; alguns arrays são representados como JSON, enquanto outros são strings, existem muitas situações "estranhas" como esta.
Este projeto abstraiu algumas classes base públicas tanto quanto possível e encapsulou o JsonConverter personalizado em vários cenários estranhos.
Como o WeChat tem muitas linhas de negócios de produtos, muitas empresas também exigem pré-requisitos para continuar. Até agora, este projeto encapsulou mais de 2.800 APIs, embora vários casos de teste de unidade também tenham sido escritos, mas ainda está muito atrás do grande número de APIs. quase o suficiente.
Este projeto é embalado em estrita conformidade com os documentos oficiais de desenvolvimento fornecidos pelo WeChat, e ferramentas automatizadas são utilizadas para garantir a precisão dos resultados do empacotamento. No entanto, a documentação do WeChat em si é de qualidade relativamente baixa, portanto os erros são inevitáveis.
Como o WeChat atualiza sua API com muita frequência, para WeChat Payment ou WeChat Enterprise que fornecem registros de atualização oficiais, este projeto verifica regularmente se há atualizações, outras plataformas geralmente são atualizadas silenciosamente, confundindo a todos; Se você encontrar problemas durante o uso devido à interface ou definição de modelo incorreta, sinta-se à vontade para levantar um problema.
Nome do projeto | Introdução do projeto | Endereço do projeto |
---|---|---|
CoreShop | Sistema central de shopping: sistema de shopping .NET que suporta layout visual. | |
Admin.NET | Estrutura de desenvolvimento de permissão universal .NET apoiada nos ombros de gigantes. |
Nota: Os casos acima são todos de terceiros. Este projeto não oferece nenhuma garantia para seus projetos e serve apenas para enumeração e exibição. Se você tem um projeto que também utiliza esta biblioteca e gostaria de adicioná-lo à lista de casos, você pode enviá-lo no Issue (seja de código aberto ou não).
Os endereços de armazém acima são atualizados simultaneamente e podem aceitar Issue ou Pull Request.
Consulte CONTRIBUINDO para saber como contribuir.
Consulte CHANGELOG para obter instruções detalhadas de atualização.