Maison > Applet WeChat > Développement WeChat > le corps du texte

Développement C# du portail et de l'application WeChat (3) - Réponse aux messages texte et aux messages graphiques

高洛峰
Libérer: 2017-02-16 16:32:04
original
1514 Les gens l'ont consulté

Les applications WeChat battent leur plein et de nombreuses entreprises espèrent accéder à l'information express. Il s'agit d'une opportunité commerciale et d'une direction technique. Par conséquent, rechercher et apprendre le développement lié à WeChat lorsque vous en avez le temps est devenu l'un des objectifs. aménagements prévus. Cette série d'articles espère présenter de manière exhaustive le processus de développement pertinent et le résumé de l'expérience pertinente de WeChat dans une perspective étape par étape, dans l'espoir de donner à chacun une compréhension du processus de développement pertinent.

Dans les deux articles précédents, il y a deux essais « Développement du portail et de l'application WeChat en C# (1) - Commencer à utiliser l'interface WeChat » et « Développement du portail et de l'application WeChat en C# (2) - Traitement et réponse aux messages WeChat". Dans ce document, je présente grossièrement la construction du cadre de mon application WeChat. Cet essai continue d'introduire ce sujet et présente le processus de réponse textuelle et de réponse graphique dans la réponse au message.

Nous savons que l'envoi de messages de réponse aux utilisateurs de téléphones mobiles peut être divisé de plusieurs manières, telles que répondre aux messages texte, répondre aux messages photo, répondre aux messages vocaux, répondre aux messages vidéo, répondre aux messages musicaux, répondre aux messages photo et texte, etc., comme indiqué ci-dessous.

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

Parmi eux, les images, les vidéos et les voix nécessitent une authentification WeChat pour envoyer les informations multimédias stockées sur le serveur WeChat aux utilisateurs. Généralement, le public n'a pas de compte ou d'authentification. les comptes de service ne peuvent pas envoyer ce type de contenu.

1. Relations et définitions des informations sur les entités

Dans le dernier essai sur le développement de WeChat, j'ai montré les classes d'entités d'application pour recevoir des messages et répondre aux messages. , en fonction des besoins de développement, ils sont encapsulés au niveau de l'application. Par exemple, la relation entre les messages de réponse est la suivante.

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

La définition de la classe d'entité de la classe de base de message BaseMessage est la suivante. Elle construit une valeur entière pour la date et a quelques attributs généraux, et il y a aussi un important The. La méthode ToXML est utilisée pour transmettre ces données XML à la méthode.

    /// <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);
        }

    }
Copier après la connexion

Le code de classe d'entité de message texte de réponse est le suivant. Nous pouvons voir qu'il hérite de nombreux attributs d'entité communs, et il existe également. une méthode générale de ToXml Lorsque nous avons besoin de le convertir en réponse XML, nous pouvons simplement utiliser cette méthode.

    /// <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; }
    }
Copier après la connexion

Et la classe d'objets de message graphique ResponseNews, qui contient plus de définitions d'informations

    /// <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; }

    }
Copier après la connexion

L'objet de la collection de listes d'images et de textes est également un type d'entité et contient des liens d'images et de texte, des titres et d'autres informations, qui ne seront pas décrits en détail.

2. Traitement des réponses aux messages

Pour les messages texte, nous pouvons les traiter des manières suivantes.

                ResponseText response = new ResponseText(info);
                response.Content = "抱歉,此功能暂未开通。";
                result = response.ToXml();
Copier après la connexion

Pour les messages graphiques, nous devrons peut-être saisir plus de messages pour obtenir de meilleurs résultats.

Faites attention aux informations sur l'image et le texte. Il est préférable de suivre la norme officielle pour la taille de l'image, sinon elle n'aura pas fière allure sur le téléphone mobile. La norme officielle semble être (360 200). pixels en largeur et en hauteur

        /// <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;
        }
Copier après la connexion

Jetons un coup d'œil au menu du portail WeChat de mon entreprise, n'est-ce pas cool ?

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

Ces deux types (messages texte et messages graphiques) sont les plus utilisés. De nombreux portails WeChat utilisent principalement ces deux méthodes pour répondre. Bien entendu, nous pouvons également effectuer différents traitements en fonction des différents messages soumis par les téléphones mobiles des clients. J'ai présenté les types de messages de demande dans l'essai précédent, comme indiqué ci-dessous.

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

Si vous devez faire attention pour comprendre l'effet global, vous pouvez utiliser WeChat pour scanner directement le code QR.

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

Plus de développement C# de portails et d'applications WeChat (3)--Réponse aux messages texte et aux messages graphiques Pour les articles connexes, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal