


C#-Entwicklung des WeChat-Portals und der WeChat-Anwendung (2) – WeChat-Nachrichtenverarbeitung und -antwort
Feb 16, 2017 pm 04:29 PMWeChat-Anwendungen sind in vollem Gange, und viele Unternehmen hoffen, in den Informationsexpress aufgenommen zu werden. Dies ist eine Gesch?ftsm?glichkeit und eine technische Richtung. Daher ist es zu einer der M?glichkeiten geworden, sich über WeChat-bezogene Entwicklungen zu informieren geplante Arrangements. Ziel dieser Artikelserie ist es, den relevanten Entwicklungsprozess und die relevante Erfahrungszusammenfassung von WeChat Schritt für Schritt umfassend vorzustellen und allen ein Verst?ndnis für den relevanten Entwicklungsprozess zu vermitteln. Dieser Aufsatz basiert haupts?chlich auf dem vorherigen Artikel ?C#-Entwicklung des WeChat-Portals und der WeChat-Anwendung (1) – Beginnen Sie mit der Verwendung der WeChat-Schnittstelle“, um eine ausführliche Einführung zu bieten und den Prozess der Verarbeitung und Beantwortung von WeChat-Nachrichten vorzustellen.
1. WeChats Nachrichtenantwortinteraktion
Wir wissen, dass der WeChat-Server eine Brücke zwischen dem Mobiltelefon des Kunden und dem Server des Entwicklers baut und die Kommunikation mit Benutzern durch die übertragung und Antwort von Nachrichten realisiert Das Folgende ist das Nachrichtenflussdiagramm der Operation.
Die Nachrichten, die WeChat vom Entwicklerserver anfordert, umfassen viele Arten, sind jedoch grunds?tzlich in Textnachrichtenverarbeitung, Ereignisnachrichtenverarbeitung, Sprachnachrichtenerkennung und die grundlegende Klassifizierung unterteilt Nachrichtenauthentifizierungsvorg?nge, bevor ich Entwickler wurde. Nachfolgend finden Sie ein von mir erstelltes Nachrichtenklassifizierungsdiagramm, das diese Beziehungen und ihre jeweiligen Nachrichtenverfeinerungsklassifizierungen vorstellt.
Für diese Nachrichtenanfragen müssen wir bei der Entwicklung der Serverseite die entsprechende Logik für die entsprechende Verarbeitung schreiben und dann auf die Nachricht an die WeChat-Serverplattform antworten.
Im vorherigen Aufsatz habe ich den Code zur Einführung des Eingabevorgangs der WeChat-Nachrichtenverarbeitung ver?ffentlicht. Der Code lautet wie folgt.
????????public?void?ProcessRequest(HttpContext?context) ????????{????????????//WHC.Framework.Commons.LogTextHelper.Info("測試記錄"); ????????????string?postString?=?string.Empty;???????????? ????????????if?(HttpContext.Current.Request.HttpMethod.ToUpper()?==?"POST") ????????????{????????????????using?(Stream?stream?=?HttpContext.Current.Request.InputStream) ????????????????{ ????????????????????Byte[]?postBytes?=?new?Byte[stream.Length]; ????????????????????stream.Read(postBytes,?0,?(Int32)stream.Length); ????????????????????postString?=?Encoding.UTF8.GetString(postBytes); ????????????????}????????????????if?(!string.IsNullOrEmpty(postString)) ????????????????{????????????????????Execute(postString); ????????????????} ????????????}????????????else ????????????{ ????????????????Auth(); ????????????} ????????}
Execute(postString); ist die Nachrichtenverarbeitungsfunktion, die die Verteilung und Verarbeitung verschiedener Nachrichten implementiert. '
????????///?<summary> ????????///?處理各種請求信息并應(yīng)答(通過POST的請求)????????///?</summary> ????????///?<param name="postStr">POST方式提交的數(shù)據(jù)</param> ????????private?void?Execute(string?postStr) ????????{????????????WeixinApiDispatch?dispatch?=?new?WeixinApiDispatch(); ????????????string?responseContent?=?dispatch.Execute(postStr); ????????????HttpContext.Current.Response.ContentEncoding?=?Encoding.UTF8; ????????????HttpContext.Current.Response.Write(responseContent); ????????}
Der WeixinApiDispatch im Inneren ist eine verteilte Verwaltungsklasse, die den Inhalt der Anforderungsnachricht extrahiert und verschiedene Arten von erstellt Die Nachrichtenparameter werden zur Verarbeitung an verschiedene Antwortfunktionen übergeben und anschlie?end wird der gekapselte XML-Inhalt als Antwort zurückgegeben.
Die spezifische Codeverarbeitungslogik ist in der folgenden Abbildung dargestellt.
Diese Nachrichtenverarbeitungsschnittstelle definiert tats?chlich eine Reihe von Verarbeitungsvorg?ngen für Anforderungsnachrichten. Die Parameter sind unterschiedliche Nachrichtenobjekte. Die spezifische Codedefinition lautet wie folgt (Aus Platzgründen). Einige Schnittstellen werden weggelassen. Weitere Informationen finden Sie in der Abbildung oben.
????///?<summary> ????///?客戶端請求的數(shù)據(jù)接口????///?</summary> ????public?interface?IWeixinAction ????{????????///?<summary> ????????///?對文本請求信息進(jìn)行處理????????///?</summary> ????????///?<param name="info">文本信息實體</param> ????????///?<returns></returns> ????????string?HandleText(RequestText?info);????????///?<summary> ????????///?對圖片請求信息進(jìn)行處理????????///?</summary> ????????///?<param name="info">圖片信息實體</param> ????????///?<returns></returns> ????????string?HandleImage(RequestImage?info); ...........................????????///?<summary> ????????///?對訂閱請求事件進(jìn)行處理????????///?</summary> ????????///?<param name="info">訂閱請求事件信息實體</param> ????????///?<returns></returns> ????????string?HandleEventSubscribe(RequestEventSubscribe?info);????????///?<summary> ????????///?對菜單單擊請求事件進(jìn)行處理????????///?</summary> ????????///?<param name="info">菜單單擊請求事件信息實體</param> ????????///?<returns></returns> ????????string?HandleEventClick(RequestEventClick?info); .............................. ????}
Wie aus dem obigen Code ersichtlich ist, werden unterschiedliche Nachrichten in Form verschiedener Nachrichtenentit?tsklassen () an die Verarbeitungsfunktion übergeben Hinweis: Die Entit?tsklasse wird von mir gem?? den Anforderungen der Programmentwicklung definiert, nicht die Entit?tsklasse von WeChat selbst ). Dies ist für uns sehr praktisch, um Vorg?nge abzuwickeln, andernfalls müssen wir sie analysieren Jedes Mal unterschiedliche Nachrichten. Der Inhalt ist anf?llig für Probleme. Ein solch stark typisierter Datentyp verbessert die Robustheit und Effizienz unserer WeChat-Anwendungsentwicklung. Die Objekte dieser Entit?tsklassen haben eine bestimmte Vererbungsbeziehung, und ihre Vererbungsbeziehung ist wie folgt.
2. WeChats Verwaltungsoberfl?che
Die obige Nachrichtenklassifizierung ist ein Nachrichtenanforderungsvorgang, der vom WeChat-Server an den Entwicklerserver gesendet wird Dies ist die Nachrichtenanforderung oder -antwort unseres Entwicklerservers an den WeChat-Server, die vorübergehend als WeChat-Verwaltungsschnittstelle bezeichnet wird. Dies zeigt, dass wir über diese Schnittstellen entsprechende Nachrichtenantworten oder Datenverwaltungsvorg?nge ausführen k?nnen. Das Klassifizierungsdiagramm ist unten dargestellt.
Die Antwortnachrichtenverarbeitung von WeChat ist die gleiche wie die Informationen im obigen Abschnitt. Sie wird auch von der BaseMessage-Entit?tsklasse geerbt (?hnlich ist die Entit?tsklasse in Abbildung unten und Seine Vererbungsbeziehung ist ebenfalls angepasst, um die Programmentwicklung zu erleichtern), und seine Beziehung ist wie folgt
Im Allgemeinen werden Textnachrichten und grafische Nachrichten am h?ufigsten zum Antworten auf Nachrichten verwendet.
Die Wirkung der Textnachricht ist wie folgt.
Grafische Nachrichten, Sie k?nnen Bilder hinzufügen und Sie k?nnen auch detaillierte Linkseiten hinzufügen, was ein sehr sch?ner Effekt ist. Bei einigen Inhalten hoffe ich, bessere Effekte zu erzielen. Dies wird im Allgemeinen verwendet und der Effekt ist wie folgt.
Weitere C#-Entwicklung von WeChat-Portalen und -Anwendungen (2) – WeChat-Nachrichtenverarbeitung und -antwort. Für verwandte Artikel achten Sie bitte auf die chinesische PHP-Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)