如何使用.net開(kāi)發(fā)微信公眾號(hào)中的模板消息

這篇文章將為大家詳細(xì)講解有關(guān)如何使用.net開(kāi)發(fā)微信公眾號(hào)中的模板消息,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

內(nèi)丘ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

微信公眾號(hào)中的模板消息

1 TemplateMessage類簡(jiǎn)介
   TemplateMessage靜態(tài)類封裝了跟模板消息相關(guān)的方法,見(jiàn)下表:

方法名功能
SetIndustry設(shè)置行業(yè)
GetId獲取模板id
Send發(fā)送模板消息

2 設(shè)置所屬行業(yè)

TemplateMessage類的SetIndustry方法用于設(shè)置公眾號(hào)所屬的行業(yè),該方法的定義如下:

        /// <summary>
        /// 設(shè)置行業(yè)        /// </summary>
        /// <param name="userName">公眾號(hào)</param>
        /// <param name="code1">行業(yè)代碼1</param>
        /// <param name="code2">行業(yè)代碼2</param>
        /// <returns>返回設(shè)置是否成功</returns>
        public static ErrorMessage SetIndustry(string userName, string code1, string code2)        //或者

        /// <summary>
        /// 設(shè)置行業(yè)        /// </summary>
        /// <param name="userName">公眾號(hào)</param>
        /// <param name="industry1">行業(yè)1</param>
        /// <param name="industry2">行業(yè)2</param>
        /// <returns>返回設(shè)置是否成功</returns>
        public static ErrorMessage SetIndustry(string userName, Industry industry1, Industry industry2)

   其中,Industry為行業(yè)類,類中的靜態(tài)成員包含了已知的所有行業(yè),例如:Industry.OnlineGame代表了網(wǎng)絡(luò)游戲這一行業(yè);Industry類有三個(gè)屬性,分別為:Code——行業(yè)代碼,Name——行業(yè)名稱,PrimaryIndustry——主行業(yè)。

設(shè)置所屬行業(yè)的示例:

/// <summary>
    /// 設(shè)置所屬行業(yè)
    /// </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 = "請(qǐng)選擇兩個(gè)行業(yè)。";
        else
        {
            ErrorMessage errorMessage = TemplateMessage.SetIndustry(userName, industryCode1, industryCode2);
            ltrMessage.Text = string.Format("設(shè)置所屬行業(yè){0}。{1}",
                errorMessage.IsSuccess ? "成功" : "失敗",
                errorMessage.IsSuccess ? "" : errorMessage.ToString());
        }
    }

設(shè)置所屬行業(yè)示例

設(shè)置所屬行業(yè)示例

3 獲得模板id

TemplateMessage類的GetId方法用于獲取模板id,該方法定義如下:

        /// <summary>
        /// 獲取模板ID        /// </summary>
        /// <param name="userName">公眾號(hào)</param>
        /// <param name="shortTemplateId">模板庫(kù)中模板的編號(hào),有“TM**”和“OPENTMTM**”等形式</param>
        /// <param name="errorMessage">返回獲取是否成功</param>
        /// <returns>返回模板ID;如果獲取失敗,返回空字符串。</returns>
        public static string GetId(string userName, string shortTemplateId, out ErrorMessage errorMessage)

   注意:(1)如果尚未添加模板,該方法會(huì)先添加模板,然后返回模板id;(2)如果已經(jīng)添加了模板,再次調(diào)用該方法,會(huì)返回一個(gè)新的不同于上次獲取到的模板id。

獲得模板id的示例:

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

獲得模板id示例

4 發(fā)送模板消息
   TemplateMessage類的Send方法用于發(fā)送模板消息,該方法定義如下:

        /// <summary>
        /// 發(fā)送模板消息        /// </summary>
        /// <param name="userName">公眾號(hào)</param>
        /// <param name="touser">接收消息的賬號(hào)</param>
        /// <param name="templateId">模板id</param>
        /// <param name="detailUrl">詳情地址</param>
        /// <param name="topColor">頂端顏色</param>
        /// <param name="data">數(shù)據(jù)</param>
        /// <param name="errorMessage">返回發(fā)送是否成功</param>
        /// <returns>返回消息id;如果發(fā)送失敗,返回-1。</returns>
        public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor,
            Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)

   其中,data參數(shù)為Tuple類型,包含模板所用的數(shù)據(jù),data.Item1為數(shù)據(jù)鍵,data.Item2為數(shù)據(jù)值,data.Item3為顯示數(shù)據(jù)的顏色。

發(fā)送模板消息的示例:

/// <summary>
        /// 發(fā)送模板消息
        /// </summary>
        /// <param name="userName">公眾號(hào)</param>
        /// <param name="touser">接收消息的賬號(hào)</param>
        /// <param name="templateId">模板id</param>
        /// <param name="detailUrl">詳情地址</param>
        /// <param name="topColor">頂端顏色</param>
        /// <param name="data">數(shù)據(jù)</param>
        /// <param name="errorMessage">返回發(fā)送是否成功</param>
        /// <returns>返回消息id;如果發(fā)送失敗,返回-1。</returns>
        public static long Send(string userName, string touser, string templateId, string detailUrl, Color topColor,
            Tuple<string, string, Color>[] data, out ErrorMessage errorMessage)

發(fā)送模板消息示例

5 接收推送模板消息發(fā)送結(jié)果事件
   在發(fā)送模板消息之后,微信服務(wù)器會(huì)推送結(jié)果到公眾號(hào)的指定URL上,公眾號(hào)服務(wù)器會(huì)接收到一條RequestTemplateSendJobFinishMessage類型的請(qǐng)求消息。
   RequestTemplateSendJobFinishMessage類有以下只讀屬性:

/// <summary>
        /// 獲取消息id
        /// </summary>
        public long MsgID { get; private set; }
        /// <summary>
        /// 獲取群發(fā)消息的結(jié)果
        /// </summary>
        public string Status { get; private set; }

        /// <summary>
        /// 獲取消息是否群發(fā)成功
        /// </summary>
        public TemplateMessageSendStatusEnum SendStatus
        {
            get
            {
                TemplateMessageSendStatusEnum status;
                if (Status == sendFailedUserBlock)
                    status = TemplateMessageSendStatusEnum.UserBlock;
                else if (Status == sendFailedSystemFailed)
                    status = TemplateMessageSendStatusEnum.SystemFailed;
                else
                    status = TemplateMessageSendStatusEnum.Success;
                return status;
            }
        }

關(guān)于“如何使用.net開(kāi)發(fā)微信公眾號(hào)中的模板消息”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

分享題目:如何使用.net開(kāi)發(fā)微信公眾號(hào)中的模板消息
URL地址:http://muchs.cn/article2/ghsgic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站排名、小程序開(kāi)發(fā)服務(wù)器托管、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作