C#-Entwicklung des WeChat-Portals und der WeChat-Anwendung (3) – Reaktion auf Textnachrichten und grafische Nachrichten

高洛峰
Freigeben: 2017-02-16 16:32:04
Original
1500 Leute haben es durchsucht

WeChat-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.

In den beiden vorherigen Artikeln gibt es zwei Aufsätze „Entwickeln eines WeChat-Portals und einer WeChat-Anwendung in C# (1) – Beginn der Verwendung der WeChat-Schnittstelle“ und „Entwickeln eines WeChat-Portals und einer WeChat-Anwendung in C# (2) – Verarbeitung“. und Antworten auf WeChat-Nachrichten“ Darin stelle ich grob die Framework-Konstruktion meiner WeChat-Anwendung vor. In diesem Aufsatz wird dieses Thema weiter vorgestellt und der Prozess der Textantwort und grafischen Antwort bei der Nachrichtenantwort vorgestellt.

Wir wissen, dass das Senden von Antwortnachrichten an Mobiltelefonbenutzer auf viele Arten unterteilt werden kann, z. B. Antworten auf Textnachrichten, Antworten auf Bildnachrichten, Antworten auf Sprachnachrichten, Antworten auf Videonachrichten, Antworten auf Musiknachrichten, Beantworten von Bild- und Textnachrichten usw., wie unten gezeigt.

C#开发微信门户及应用(3)--文本消息和图文消息的应答

Unter anderem erfordern Bilder, Videos und Stimmen eine WeChat-Authentifizierung, um auf dem WeChat-Server gespeicherte Medieninformationen an Benutzer zu senden. Im Allgemeinen verfügt die Öffentlichkeit nicht über eine Authentifizierung Dienstkonten können diese Art von Inhalten nicht senden.

1. Entitätsinformationsbeziehungen und Definitionen

Im letzten Aufsatz über die WeChat-Entwicklung habe ich die Anwendungsentitätsklassen für den Empfang von Nachrichten und die Beantwortung von Nachrichten gezeigt. Basierend auf den Entwicklungsanforderungen werden sie auf Anwendungsebene gekapselt. Die Antwortnachrichtenbeziehung ist beispielsweise wie folgt.

C#开发微信门户及应用(3)--文本消息和图文消息的应答

Die Entitätsklassendefinition der Nachrichtenbasisklasse BaseMessage lautet wie folgt: Sie erstellt einen ganzzahligen Wert für das Datum und verfügt über einige allgemeine Attribute. Außerdem gibt es ein wichtiges Element Die ToXML-Methode wird verwendet, um diese XML-Daten an die Methode zu übergeben.

    /// <summary>
    /// 基础消息内容    /// </summary>
    [XmlRoot(ElementName = "xml")]    public class BaseMessage
    {        /// <summary>
        /// 初始化一些内容,如创建时间为整形,        /// </summary>
        public BaseMessage()
        {            this.CreateTime = DateTime.Now.DateTimeToInt();
        }        /// <summary>
        /// 开发者微信号        /// </summary>
        public string ToUserName { get; set; }        /// <summary>
        /// 发送方帐号(一个OpenID)        /// </summary>
        public string FromUserName { get; set; }        /// <summary>
        /// 消息创建时间 (整型)        /// </summary>
        public int CreateTime { get; set; }        /// <summary>
        /// 消息类型        /// </summary>
        public string MsgType { get; set; }        public virtual string ToXml()
        {            this.CreateTime = DateTime.Now.DateTimeToInt();//重新更新
            return MyXmlHelper.ObjectToXml(this);
        }

    }
Nach dem Login kopieren

Der Code der Antwort-SMS-Entitätsklasse lautet wie folgt. Wir können sehen, dass er viele gemeinsame Entitätsattribute erbt eine allgemeine Methode von ToXml. Wenn wir es in Antwort-XML konvertieren müssen, können wir einfach diese Methode verwenden.

    /// <summary>
    /// 回复文本消息    /// </summary>
    [System.Xml.Serialization.XmlRoot(ElementName = "xml")]    public class ResponseText : BaseMessage
    {        public ResponseText()
        {            this.MsgType = ResponseMsgType.Text.ToString().ToLower();
        }        public ResponseText(BaseMessage info) : this()
        {            this.FromUserName = info.ToUserName;            this.ToUserName = info.FromUserName;
        }        /// <summary>
        /// 内容        /// </summary>        
        public string Content  { get; set; }
    }
Nach dem Login kopieren

Und die grafische Nachrichtenobjektklasse ResponseNews, die weitere Informationsdefinitionen enthält

    /// <summary>
    /// 回复图文消息    /// </summary>
    [System.Xml.Serialization.XmlRoot(ElementName = "xml")]    public class ResponseNews : BaseMessage
    {        public ResponseNews()
        {            this.MsgType = ResponseMsgType.News.ToString().ToLower();            this.Articles = new List<ArticleEntity>();
        }        public ResponseNews(BaseMessage info) : this()
        {            this.FromUserName = info.ToUserName;            this.ToUserName = info.FromUserName;
        }        /// <summary>
        /// 图文消息个数,限制为10条以内        /// </summary>
        public int ArticleCount
        {            get
            {                return this.Articles.Count;
            }            set
            {
                ;//增加这个步骤才出来XML内容            }
        }        /// <summary>
        /// 图文列表。        /// 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应        /// </summary>
        [System.Xml.Serialization.XmlArrayItem("item")]        public List<ArticleEntity> Articles { get; set; }

    }
Nach dem Login kopieren

Das Objekt in der Bild- und Textlistensammlung ist ebenfalls ein Entitätstyp und enthält einige Bild- und Textlinks, Titel und andere Informationen, die nicht im Detail beschrieben werden.

2. Verarbeitung von Nachrichtenantworten

Textnachrichten können wir auf folgende Weise verarbeiten.

                ResponseText response = new ResponseText(info);
                response.Content = "抱歉,此功能暂未开通。";
                result = response.ToXml();
Nach dem Login kopieren

Für grafische Nachrichten müssen wir möglicherweise mehr Nachrichten eingeben, um bessere Ergebnisse zu erzielen.

Achten Sie auf die Bild- und Textinformationen. Halten Sie sich am besten an den offiziellen Standard für die Größe des Bildes, da es sonst auf dem Mobiltelefon nicht gut aussieht. Der offizielle Standard scheint zu sein. Pixel in Breite und Höhe

        /// <summary>
        /// 订阅或者显示公司信息        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        private string ShowCompanyInfo(BaseMessage info)
        {            string result = "";            //使用在微信平台上的图文信息(单图文信息)
            ResponseNews response = new ResponseNews(info);
            ArticleEntity entity = new ArticleEntity();
            entity.Title = "广州爱奇迪软件科技有限公司";
            entity.Description = "欢迎关注广州爱奇迪软件--专业的单位信息化软件和软件开发框架提供商,我们立志于为客户提供最好的软件及服务。\r\n";
            entity.Description += "我们是一家极富创新性的软件科技公司,从事研究、开发并销售最可靠的、安全易用的技术产品及优质专业的服务,帮助全球客户和合作伙伴取得成功。\r\n......(此处省略1000字,哈哈)";
            entity.PicUrl = "http://www.php.cn/";
            entity.Url = "http://www.php.cn/";

            response.Articles.Add(entity);
            result = response.ToXml();            return result;
        }
Nach dem Login kopieren

Werfen wir einen Blick auf das WeChat-Portalmenü meines Unternehmens, sieht es nicht cool aus?

C#开发微信门户及应用(3)--文本消息和图文消息的应答

Diese beiden Arten (Textnachrichten und grafische Nachrichten) werden am häufigsten verwendet. Viele WeChat-Portale verwenden hauptsächlich diese beiden Methoden, um zu antworten. Natürlich können wir auch unterschiedliche Verarbeitungen basierend auf verschiedenen Nachrichten durchführen, die von den Mobiltelefonen der Kunden übermittelt werden. Ich habe die Arten von Anforderungsnachrichten im vorherigen Aufsatz vorgestellt, wie unten gezeigt.

C#开发微信门户及应用(3)--文本消息和图文消息的应答

Wenn Sie aufpassen müssen, um den Gesamteffekt zu verstehen, können Sie WeChat verwenden, um den QR-Code direkt zu scannen.

C#开发微信门户及应用(3)--文本消息和图文消息的应答

Weitere C#-Entwicklung von WeChat-Portalen und -Anwendungen (3) – Reaktion auf Textnachrichten und grafische Nachrichten. Für verwandte Artikel achten Sie bitte auf die chinesische PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!