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

Développement de compte public .net WeChat

迷茫
Libérer: 2017-03-25 13:47:23
original
1974 Les gens l'ont consulté

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)
Copier après la connexion

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

设置所属行业示例
Copier après la connexion

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)
Copier après la connexion

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

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 :


        /// <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)
Copier après la connexion
<. 🎜> 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)
Copier après la connexion
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!

É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