El SDK de API HTTP de WeChat basado en Flurl.Http
actualmente incluye plataforma pública, plataforma abierta, plataforma comercial, WeChat corporativo, plataforma de publicidad, plataforma abierta de diálogo y otros módulos.
Para obtener más kits de desarrollo de la serie SKIT.FlurlHttpClient, haga clic aquí.
Flurl.Http
.System.Text.Json
(predeterminado) y Newtonsoft.Json
.nombre | NuGet | otro |
---|---|---|
Plataforma pública (cuenta oficial, mini programa, cuenta de video) + Módulo de plataforma abierta | Documentación de desarrollo | Proyecto de muestra | |
Módulo de plataforma comercial (pago WeChat) (para la interfaz de la versión v3) | Documentación de desarrollo | Proyecto de muestra | |
Módulo de plataforma comercial (pago WeChat) (para la interfaz de la versión v2) | Documentación de desarrollo | |
Módulo WeChat empresarial (cuenta empresarial) | Documentación de desarrollo | |
Módulo de plataforma publicitaria (Guangdiantong) | Documentación de desarrollo | |
Módulo de plataforma abierta de diálogo (diálogo inteligente WeChat) | Documentación de desarrollo | |
Módulo de pago para microempresas Tencent | Documentación de desarrollo |
Flurl.Http
? Flurl.Http
es una biblioteca HTTP liviana y una de las bibliotecas de extensiones más populares en .NET. Sus descargas acumuladas en NuGet superan los 17 millones, el promedio de descargas diarias supera las 6000 y GitHub tiene 2,6 mil estrellas (estadísticas de datos a partir de 2021-06). 01).
Nota: Shengpai WeChat SDK es un conocido proyecto nacional de código abierto .NET iniciado por el Sr. Su Zhenwei.
Esta biblioteca se centra en la encapsulación de la API en sí y también proporciona algunas clases de herramientas para cifrado, descifrado y serialización. Su uso es más flexible y no se limita a ningún marco o tipo de proyecto. Proporciona funciones amplias y completas. y es compatible con la integración profunda de MVC/WebAPI.
El modelo de interfaz de esta biblioteca sigue el método de denominación de atributos de C# (nomenclatura Pascal) recomendado oficialmente por Microsoft; Shengpai WeChat SDK proporciona el método de denominación de la propia interfaz WeChat (una mezcla de nomenclatura en forma de serpiente y nomenclatura en forma de camello).
Esta biblioteca encapsula casi todas las API proporcionadas actualmente oficialmente por WeChat (las razones específicas de las pocas que no son compatibles se enumeran en la documentación de cada módulo. Shengpai WeChat SDK solo proporciona API de uso común).
Con respecto a este punto, tenemos que quejarnos de la API proporcionada por WeChat. Obviamente, muchos equipos la están desarrollando conjuntamente dentro de WeChat. Cada equipo, o incluso cada persona, tiene estilos de nombres de campos, restricciones y reglas de interfaz muy diferentes. Aunque se afirma que la API v3 de WeChat Pay es "RESTful", no existe un estándar unificado.
Por ejemplo, tome la consulta de paginación como ejemplo. Parece que los campos son los mismos y constan de desplazamiento , cursor , página , límite + datos , total_count y next_cursor. Sin embargo, los campos desplazamiento , cursor , página y límite de algunos. las interfaces son parámetros opcionales, algunos son obligatorios; algunos valores de página comienzan desde 0
, algunos comienzan desde 1
, algunos datos de interfaz, total_count ; El campo next_cursor definitivamente se devolverá, pero algunos no se devolverán y otros solo se devolverán bajo ciertas condiciones. Hay más de una docena de interfaces de consulta de paginación en total, pero hay siete u ocho estructuras de datos de paginación. En este caso, es difícil abstraer una clase base común.
Además, lo mismo se escribe de manera diferente en diferentes interfaces; algunas matrices se representan como JSON, mientras que otras son cadenas; hay muchas situaciones "extrañas" como esta;
Este proyecto ha abstraído algunas clases base públicas tanto como sea posible y ha encapsulado JsonConverter personalizado en varios escenarios extraños.
Dado que WeChat tiene muchas líneas comerciales de productos, muchas empresas también requieren requisitos previos para continuar. Hasta ahora, este proyecto ha encapsulado más de 2800 API. Aunque también se han escrito varios casos de prueba unitaria, todavía está muy por detrás de la gran cantidad de API. casi suficiente.
Este proyecto está empaquetado en estricta conformidad con los documentos de desarrollo oficiales proporcionados por WeChat y se utilizan herramientas automatizadas para garantizar la precisión de los resultados del empaquetado. Sin embargo, la documentación de WeChat en sí es de calidad relativamente baja, por lo que los errores son inevitables.
Debido a que WeChat actualiza su API con mucha frecuencia, para WeChat Payment o WeChat Enterprise que proporcionan registros de actualización oficiales, este proyecto buscará periódicamente actualizaciones en otras plataformas, lo que a menudo confunde a todos. Si encuentra problemas durante el uso debido a una interfaz o definición de modelo incorrecta, no dude en plantear un problema.
Nombre del proyecto | Introducción del proyecto | Dirección del proyecto |
---|---|---|
Tienda central | Sistema central de centro comercial: sistema de centro comercial .NET que admite diseño visual. | |
Administrador.NET | El marco de desarrollo de permisos universales .NET se encuentra sobre los hombros de gigantes. |
Nota: Los casos anteriores son todos de terceros. Este proyecto no ofrece ninguna garantía para sus proyectos y es solo para enumeración y visualización. Si tiene un proyecto que también utiliza esta biblioteca y desea agregarlo a la lista de casos, puede enviarlo en el Issue (ya sea de código abierto o no).
Las direcciones de almacén anteriores se actualizan simultáneamente y pueden aceptar Emisiones o Solicitudes de extracción.
Consulte CONTRIBUCIÓN para saber cómo contribuir.
Consulte CHANGELOG para obtener instrucciones detalladas de actualización.