Das auf Flurl.Http
basierende WeChat HTTP API SDK umfasst derzeit öffentliche Plattformen, offene Plattformen, Händlerplattformen, Unternehmens-WeChat, Werbeplattformen, offene Dialogplattformen und andere Module.
Weitere Entwicklungskits der SKIT.FlurlHttpClient-Serie finden Sie hier.
Flurl.Http
.System.Text.Json
(Standard) und Newtonsoft.Json
.Name | NuGet | andere |
---|---|---|
Öffentliche Plattform (offizieller Account, Miniprogramm, Video-Account) + Offenes Plattformmodul | Entwicklungsdokumentation |. Beispielprojekt | |
Modul der Händlerplattform (WeChat-Zahlung) (für die Schnittstelle der Version 3) | Entwicklungsdokumentation |. Beispielprojekt | |
Modul der Händlerplattform (WeChat-Zahlung) (für Versionsschnittstelle v2) | Entwicklungsdokumentation | |
Modul „Enterprise WeChat“ (Unternehmenskonto). | Entwicklungsdokumentation | |
Modul der Werbeplattform (Guangdiantong). | Entwicklungsdokumentation | |
Modul der offenen Dialogplattform (WeChat Intelligent Dialog). | Entwicklungsdokumentation | |
Zahlungsmodul für Kleinstunternehmen von Tencent | Entwicklungsdokumentation |
Flurl.Http
? Flurl.Http
ist eine leichte HTTP-Bibliothek und eine der beliebtesten Erweiterungsbibliotheken in .NET. Die kumulierten Downloads auf NuGet übersteigen 17 Millionen, die durchschnittlichen täglichen Downloads übersteigen 6.000 und GitHub erhält 2,6.000 Sterne (Datenstatistik vom 2021-06-). 01).
Hinweis: Shengpai WeChat SDK ist ein bekanntes inländisches .NET-Open-Source-Projekt, das von Herrn Su Zhenwei initiiert wurde.
Diese Bibliothek konzentriert sich auf die Kapselung der API selbst und bietet auch einige Toolklassen für die Verschlüsselung, Entschlüsselung und Serialisierung. Sie ist flexibler zu verwenden und ist nicht auf ein Framework oder einen Projekttyp beschränkt und ist mit der tiefen MVC/WebAPI-Integration kompatibel.
Das Schnittstellenmodell dieser Bibliothek folgt der von Microsoft offiziell empfohlenen C#-Attributbenennungsmethode (Pascal-Nomenklatur);
Diese Bibliothek kapselt fast alle APIs, die derzeit offiziell von WeChat bereitgestellt werden (die spezifischen Gründe für die wenigen, die nicht unterstützt werden, sind in der Dokumentation jedes Moduls aufgeführt).
In diesem Punkt muss ich mich über die von WeChat bereitgestellte API beschweren. Offensichtlich entwickeln viele Teams sie gemeinsam innerhalb von WeChat. Jedes Team oder sogar jede Person hat sehr unterschiedliche Feldbenennungsstile, Einschränkungen und Schnittstellenregeln. Auch wenn die v3-API von WeChat Pay angeblich „RESTful“ ist, gibt es keinen einheitlichen Standard.
Nehmen wir zum Beispiel die Paging-Abfrage. Es scheint, dass die Felder gleich sind und aus den Feldern „offset “, „ cursor“ , „ page“ , „limit + data“ , „ total_count “ und „next_cursor“ bestehen Schnittstellen sind optionale Parameter, einige sind erforderlich ; einige Seitenwerte beginnen bei 0
, andere beginnen bei 1
; Das Feld next_cursor wird definitiv zurückgegeben, einige werden jedoch nicht zurückgegeben und andere werden nur unter bestimmten Bedingungen zurückgegeben. Insgesamt gibt es mehr als ein Dutzend Paging-Abfrageschnittstellen, aber es gibt sieben oder acht Paging-Datenstrukturen. In diesem Fall ist es schwierig, eine gemeinsame Basisklasse zu abstrahieren.
Darüber hinaus wird dasselbe in verschiedenen Schnittstellen unterschiedlich geschrieben; einige Arrays werden als JSON dargestellt, während andere Zeichenfolgen sind. Es gibt viele „seltsame“ Situationen wie diese.
Dieses Projekt hat einige öffentliche Basisklassen so weit wie möglich abstrahiert und benutzerdefinierte JsonConverter in verschiedenen seltsamen Szenarien gekapselt.
Da WeChat über viele Produktgeschäftsfelder verfügt, benötigen viele Unternehmen bisher auch mehr als 2.800 APIs. Obwohl auch mehrere Unit-Testfälle geschrieben wurden, liegen sie immer noch weit hinter der großen Anzahl von APIs zurück fast genug.
Dieses Projekt wird in strikter Übereinstimmung mit den offiziellen Entwicklungsdokumenten von WeChat verpackt, und es werden automatisierte Tools verwendet, um die Genauigkeit der Verpackungsergebnisse sicherzustellen. Allerdings ist die Dokumentation von WeChat selbst von relativ geringer Qualität, sodass Fehler vorprogrammiert sind.
Da WeChat seine API für WeChat Payment oder WeChat Enterprise, die offizielle Update-Protokolle bereitstellen, sehr häufig aktualisiert, prüft dieses Projekt häufig stillschweigend, ob Updates verfügbar sind, was alle verwirrt. Sollten während der Nutzung aufgrund einer falschen Schnittstellen- oder Modelldefinition Probleme auftreten, können Sie uns gerne ein Problem melden.
Projektname | Projekteinführung | Projektadresse |
---|---|---|
CoreShop | Kern-Einkaufszentrumssystem: .NET-Einkaufszentrumssystem, das das visuelle Layout unterstützt. | |
Admin.NET | Das universelle .NET-Berechtigungsentwicklungsframework steht auf den Schultern von Giganten. |
Hinweis: Die oben genannten Fälle stammen alle von Dritten. Dieses Projekt übernimmt keine Garantie für seine Projekte und dient nur der Aufzählung und Anzeige. Wenn Sie ein Projekt haben, das diese Bibliothek ebenfalls verwendet, und es zur Fallliste hinzufügen möchten, können Sie es im Issue einreichen (entweder Open Source oder Nicht-Open Source).
Die oben genannten Lageradressen werden gleichzeitig aktualisiert und können Issue- oder Pull-Requests akzeptieren.
Wie Sie einen Beitrag leisten können, erfahren Sie unter BEITRAG.
Detaillierte Aktualisierungsanweisungen finden Sie im CHANGELOG.