Heim  >  Artikel  >  WeChat-Applet  >  Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

高洛峰
高洛峰Original
2017-03-20 14:15:021687Durchsuche

In diesem Artikel wird hauptsächlich der Prozess der Verarbeitung und Beantwortung von WeChat-Nachrichten im WeChat-Portal mithilfe der WeChat-Schnittstelle in c# vorgestellt. Freunde in Not können sich darauf beziehen

WeChat-Anwendungen sind in vollem Gange und viele Unternehmen Ich hoffe, mit den Informationen auf dem Laufenden zu bleiben. Dies ist eine Geschäftsmöglichkeit und eine technische Richtung. Daher ist es zu einer der geplanten Vereinbarungen geworden, sich über die WeChat-bezogene Entwicklung zu informieren, wenn Sie Zeit haben. 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# verwendet die WeChat-Schnittstelle zur Entwicklung einer WeChat-Portalanwendung“, 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 durch die Übertragung und Antwort von Nachrichten eine Brücke zwischen dem Mobiltelefon des Kunden und dem Server des Entwicklers baut. Realisiert die Interaktion mit dem Benutzer. Das Folgende ist sein Nachrichtenflussdiagramm.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

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 gezeichnetes Nachrichtenklassifizierungsdiagramm, das diese Beziehungen und ihre jeweiligen Nachrichtenverfeinerungsklassifizierungen vorstellt.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

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.
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.
Der Code lautet wie folgt:

/// <summary>
        /// 处理各种请求信息并应答(通过POST的请求)
        /// </summary>
        /// <param name="postStr">POST方式提交的数据</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);
        }

Die darin enthaltene WeixinApiDispatch ist eine Verteilungsverwaltungsklasse. Sie extrahiert den Inhalt der Anforderungsnachricht, erstellt verschiedene Arten von Nachrichtenparametern und übergibt sie an Verschiedene Antwortfunktionen verarbeiten und dann den gekapselten XML-Inhalt als Antwort zurückgeben.

Die spezifische Codeverarbeitungslogik ist in der folgenden Abbildung dargestellt.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

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.

Der Code lautet wie folgt:

/// <summary>
    /// 客户端请求的数据接口
    /// </summary>
    public interface IWeixinAction
    {
        /// <summary>
        /// 对文本请求信息进行处理
        /// </summary>
        /// <param name="info">文本信息实体</param>
        /// <returns></returns>
        string HandleText(RequestText info);
        /// <summary>
        /// 对图片请求信息进行处理
        /// </summary>
        /// <param name="info">图片信息实体</param>
        /// <returns></returns>
        string HandleImage(RequestImage info);
        /// <summary>
        /// 对订阅请求事件进行处理
        /// </summary>
        /// <param name="info">订阅请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventSubscribe(RequestEventSubscribe info);
        /// <summary>
        /// 对菜单单击请求事件进行处理
        /// </summary>
        /// <param name="info">菜单单击请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventClick(RequestEventClick info);
    }



Wie aus dem obigen Code ersichtlich ist , verschiedene Nachrichten, wenn es um die Verarbeitungsfunktion geht, werden sie in Form verschiedener Nachrichtenentitätsklassen übergeben (Hinweis: Die Entitätsklasse wird von mir gemäß den Anforderungen der Programmentwicklung definiert, nicht die Entitätsklasse von WeChat selbst), was sehr praktisch ist Wir verarbeiten Vorgänge, andernfalls müssen wir jedes Mal unterschiedliche Nachrichteninhalte analysieren, was leicht zu Problemen führen kann. Solche stark typisierten Datentypen verbessern die Robustheit und Effizienz unserer WeChat-Anwendungsentwicklung. Die Objekte dieser Entitätsklassen haben eine bestimmte Vererbungsbeziehung, und ihre Vererbungsbeziehung ist wie folgt.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

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.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

Die Verarbeitung von WeChat-Antwortnachrichten entspricht ebenfalls den Informationen im obigen Abschnitt. Sie wird auch von der BaseMessage-Entitätsklasse geerbt (Ähnlich wie die Entitätsklasse in der folgenden Abbildung und seine Vererbungsbeziehung Es ist auch angepasst und praktisch für die Programmentwicklung) und seine Beziehung ist wie folgt

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

Um Nachrichten zu beantworten, sind die am häufigsten verwendeten Nachrichten Text Nachrichten und grafische Nachrichten.

Die Wirkung der Textnachricht ist wie folgt.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

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.

Einführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Verarbeitung und Beantwortung von WeChat-Nachrichten in c# mithilfe der WeChat-Schnittstelle zur Entwicklung von WeChat-Portalanwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn