Maison >Applet WeChat >Développement WeChat >Développement de compte public .net WeChat

Développement de compte public .net WeChat

迷茫
迷茫original
2017-03-25 13:47:231977parcourir

Auteur : Wang Xianrong
Cet article présente les modèles de messages dans les comptes publics WeChat, notamment les suivants : (1) Introduction à la classe TemplateMessage ; (2) Définition de l'industrie (3) Obtention ; l'identifiant du modèle ; (4) Envoyer des messages de modèle (5) Recevoir des messages de modèle push envoyant des événements de résultat ;

1 Introduction à la classe TemplateMessage
La classe statique TemplateMessage encapsule les méthodes liées aux modèles de messages, voir le tableau ci-dessous :

方法名 功能
SetIndustry 设置行业
GetId 获取模板id
Send 发送模板消息

2 Définir le secteur

La méthode SetIndustry de la classe TemplateMessage est utilisée pour définir le secteur auquel appartient le compte officiel. La méthode est définie comme suit :


        /// <summary>
        /// 设置行业        /// </summary>
        /// <param name="userName">公众号</param>
        /// <param name="code1">行业代码1</param>
        /// <param name="code2">行业代码2</param>
        /// <returns>返回设置是否成功</returns>
        public static ErrorMessage SetIndustry(string userName, string code1, string code2)        //或者

        /// <summary>
        /// 设置行业        /// </summary>
        /// <param name="userName">公众号</param>
        /// <param name="industry1">行业1</param>
        /// <param name="industry2">行业2</param>
        /// <returns>返回设置是否成功</returns>
        public static ErrorMessage SetIndustry(string userName, Industry industry1, Industry industry2)

Parmi eux, Industry est la classe industrielle, et les membres statiques de la classe incluent toutes les industries connues : Industry.OnlineGame y représente l'industrie du jeu en ligne ; Il existe trois classes d'industrie Attributs , respectivement : Code - code de l'industrie, Nom - nom de l'industrie, PrimaryIndustry - industrie principale.

Exemple de configuration de l'industrie :

/// <summary>
    /// 设置所属行业
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSetIndustry_Click(object sender, EventArgs e)
    {
        string userName = lbPublicAccount.SelectedValue;
        string industryCode1 = "", industryCode2 = "";
        int count = 0;
        foreach (ListItem item in cblIndustry.Items)
        {
            if (item.Selected)
            {
                count++;
                if (count == 1)
                    industryCode1 = item.Value;
                else if (count == 2)
                {
                    industryCode2 = item.Value;
                    break;
                }
            }
        }
        if (count != 2)
            ltrMessage.Text = "请选择两个行业。";
        else
        {
            ErrorMessage errorMessage = TemplateMessage.SetIndustry(userName, industryCode1, industryCode2);
            ltrMessage.Text = string.Format("设置所属行业{0}。{1}",
                errorMessage.IsSuccess ? "成功" : "失败",
                errorMessage.IsSuccess ? "" : errorMessage.ToString());
        }
    }

设置所属行业示例

Exemple de configuration de l'industrie

3 Obtenir le modèle id

La méthode GetId de la classe TemplateMessage est utilisée pour obtenir l'identifiant du modèle La méthode est définie comme suit :

        /// <summary>
        /// 获取模板ID        /// </summary>
        /// <param name="userName">公众号</param>
        /// <param name="shortTemplateId">模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式</param>
        /// <param name="errorMessage">返回获取是否成功</param>
        /// <returns>返回模板ID;如果获取失败,返回空字符串。</returns>
        public static string GetId(string userName, string shortTemplateId, out ErrorMessage errorMessage)

Remarque : ( 1) Si le modèle n'a pas encore été ajouté, cette méthode ajoutera d'abord le modèle, puis renverra l'identifiant du modèle (2) Si le modèle a été ajouté, appeler à nouveau cette méthode renverra un nouvel identifiant de modèle différent de ; le dernier identifiant de modèle obtenu.

Exemple d'obtention de l'identifiant de modèle :

    /// <summary>
    /// 添加并模板id    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnGetTemplateId_Click(object sender, EventArgs e)
    {        string userName = lbPublicAccount.SelectedValue;
        ErrorMessage errorMessage;        string templateId = TemplateMessage.GetId(userName, txtTemplateIdShort.Text, out errorMessage);        if (errorMessage.IsSuccess)
            ltrMessage.Text = string.Format("添加并获取模板id成功。模板id:{0}", templateId);        else
            ltrMessage.Text = string.Format("添加并获取模板id失败。{0}", errorMessage.ToString());
    }

Exemple d'obtention de l'identifiant de modèle

4 Envoyer des messages modèles La méthode Send de la classe TemplateMessage est utilisée pour envoyer des messages modèles. La méthode est définie comme suit :


        /// 631fb227578dfffda61e1fa4d04b7d25
        /// 发送模板消息        /// 039f3e95db2a684c7b74365531eb6044
        /// 20e42ef3279b479672c1207a13c1abab公众号8bb7487ae6a16a43571bc14c7fcf93c2
        /// b34a78e356dd5e42f9d330d79f145693接收消息的账号8bb7487ae6a16a43571bc14c7fcf93c2
        /// f0116b851bf4413f5bf75b2a2aeb1058模板id8bb7487ae6a16a43571bc14c7fcf93c2
        /// cbabe74617639c1c27560c98af959168详情地址8bb7487ae6a16a43571bc14c7fcf93c2
        /// 657cc48a9fcdf82a27a82fe3fa9f4e77顶端颜色8bb7487ae6a16a43571bc14c7fcf93c2
        /// c8a98340aded2d5f70b63a18be4bcac7数据8bb7487ae6a16a43571bc14c7fcf93c2
        /// 2e8f4f2a373a35ec512cab8bc7c1425a返回发送是否成功8bb7487ae6a16a43571bc14c7fcf93c2
        /// 2363942ed0d6cd3e85bae1dffa568116返回消息id;如果发送失败,返回-1。f7735d9f6a7af371769ab5c16d23b2f3
        public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor,
            Tuple72ca0ee74ca7edd147f17f5da5225be9[] data, out ErrorMessage errorMessage)
<.> Parmi eux, le paramètre data Il s'agit d'un type Tuple et contient les données utilisées par le modèle data.Item1 est la clé de données, data.Item2 est la valeur des données et data.Item3 est la couleur des données affichées.

Exemple d'envoi d'un modèle de message :

/// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="userName">公众号</param>
        /// <param name="touser">接收消息的账号</param>
        /// <param name="templateId">模板id</param>
        /// <param name="detailUrl">详情地址</param>
        /// <param name="topColor">顶端颜色</param>
        /// <param name="data">数据</param>
        /// <param name="errorMessage">返回发送是否成功</param>
        /// <returns>返回消息id;如果发送失败,返回-1。</returns>
        public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor,
            Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)
Exemple d'envoi d'un modèle de message

5 Recevoir un modèle push résultat de l'envoi du message Événement

Après l'envoi du modèle de message, le serveur WeChat poussera le résultat vers l'URL spécifiée du compte officiel, et le serveur du compte officiel recevra un message de demande de type RequestTemplateSendJobFinishMessage. La classe RequestTemplateSendJobFinishMessage possède les propriétés en lecture seule suivantes :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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