Rumah applet WeChat pembangunan WeChat .net微信公众号开发

.net微信公众号开发

Mar 25, 2017 pm 01:47 PM

作者:王先荣
   本文介绍微信公众号中的模板消息,包括以下内容:(1)TemplateMessage类简介;(2)设置所属行业;(3)获得模板id;(4)发送模板消息;(5)接收推送模板消息发送结果事件。

1 TemplateMessage类简介
    TemplateMessage静态类封装了跟模板消息相关的方法,见下表:

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

2 设置所属行业

    TemplateMessage类的SetIndustry方法用于设置公众号所属的行业,该方法的定义如下:


        /// <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)
Salin selepas log masuk

其中,Industry为行业类,类中的静态成员包含了已知的所有行业,例如:Industry.OnlineGame代表了网络游戏这一行业;Industry类有三个属性,分别为:Code——行业代码,Name——行业名称,PrimaryIndustry——主行业。

设置所属行业的示例:

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

设置所属行业示例
Salin selepas log masuk

设置所属行业示例

3 获得模板id

TemplateMessage类的GetId方法用于获取模板id,该方法定义如下:

        /// <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)
Salin selepas log masuk

注意:(1)如果尚未添加模板,该方法会先添加模板,然后返回模板id;(2)如果已经添加了模板,再次调用该方法,会返回一个新的不同于上次获取到的模板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());
    }
Salin selepas log masuk

获得模板id示例

4 发送模板消息
TemplateMessage类的Send方法用于发送模板消息,该方法定义如下:


        /// <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)
Salin selepas log masuk

其中,data参数为Tuple类型,包含模板所用的数据,data.Item1为数据键,data.Item2为数据值,data.Item3为显示数据的颜色。

发送模板消息的示例:

/// <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)
Salin selepas log masuk

发送模板消息示例

5 接收推送模板消息发送结果事件
在发送模板消息之后,微信服务器会推送结果到公众号的指定URL上,公众号服务器会接收到一条RequestTemplateSendJobFinishMessage类型的请求消息。
RequestTemplateSendJobFinishMessage类有以下只读属性:

/// <summary>
        /// 获取消息id
        /// </summary>
        public long MsgID { get; private set; }
        /// <summary>
        /// 获取群发消息的结果
        /// </summary>
        public string Status { get; private set; }

        /// <summary>
        /// 获取消息是否群发成功
        /// </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;
            }
        }
Salin selepas log masuk

Atas ialah kandungan terperinci .net微信公众号开发. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial Generasi Imej DeepSeek Tutorial Generasi Imej DeepSeek Feb 19, 2025 pm 04:15 PM

DeepSeek: Alat Generasi Imej AI yang kuat! DeepSeek sendiri bukan alat penjanaan imej, tetapi teknologi terasnya yang kuat memberikan sokongan yang mendasari untuk banyak alat lukisan AI. Ingin tahu cara menggunakan DeepSeek untuk menjana imej secara tidak langsung? Sila teruskan membaca! Menjana imej dengan alat AI berasaskan DeepSeek: Langkah-langkah berikut akan membimbing anda untuk menggunakan alat ini: Lancarkan alat lukisan AI: Cari dan buka alat lukisan AI berasaskan Deepseek (contohnya, cari "AI Simple"). Pilih Mod Lukisan: Pilih "Lukisan AI" atau fungsi yang serupa, dan pilih Jenis Imej mengikut keperluan anda, seperti "Anime Avatar", "Landskap"

Laman Web Platform Perdagangan Laman Web Gateio Cina. Laman Web Platform Perdagangan Laman Web Gateio Cina. Feb 21, 2025 pm 03:06 PM

Gate.io, sebuah platform perdagangan cryptocurrency terkemuka yang ditubuhkan pada tahun 2013, menyediakan pengguna Cina dengan laman web rasmi Cina yang lengkap. Laman web ini menyediakan pelbagai perkhidmatan, termasuk perdagangan tempat, perdagangan niaga hadapan dan pinjaman, dan menyediakan ciri khas seperti antara muka Cina, sumber yang kaya dan sokongan masyarakat.

Senarai yuran pengendalian untuk platform perdagangan okx Senarai yuran pengendalian untuk platform perdagangan okx Feb 15, 2025 pm 03:09 PM

Platform perdagangan OKX menawarkan pelbagai kadar, termasuk yuran transaksi, yuran pengeluaran dan yuran pembiayaan. Untuk urus niaga tempat, yuran urus niaga berbeza -beza mengikut jumlah urus niaga dan tahap VIP, dan mengamalkan "model pembuat pasaran", iaitu, pasaran mengenakan bayaran pengendalian yang lebih rendah untuk setiap transaksi. Di samping itu, OKX juga menawarkan pelbagai kontrak niaga hadapan, termasuk kontrak standard mata wang, kontrak USDT dan kontrak penghantaran, dan struktur yuran setiap kontrak juga berbeza.

Pintu Masuk Masuk Log Masuk Masuk. Pintu Masuk Masuk Log Masuk Masuk. Mar 04, 2025 pm 04:51 PM

Gate.io (Pintu Terbuka Sesame) adalah platform perdagangan cryptocurrency terkemuka di dunia. Tutorial ini meliputi langkah -langkah seperti pendaftaran akaun dan log masuk, pensijilan KYC, mata wang fiat dan mata wang digital, pemilihan pasangan dagangan, pesanan urus niaga/pasaran, dan pesanan dan rekod transaksi melihat, membantu anda memulakan platform GATE.IO untuk perdagangan cryptocurrency. Sama ada pemula atau veteran, anda boleh mendapat manfaat daripada tutorial ini dan mudah menguasai kemahiran perdagangan Gate.io.

GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun GATEIO EXCHANGE Versi lama Gateio Exchange App Versi Lama Saluran Muat turun Mar 04, 2025 pm 11:36 PM

Saluran muat turun aplikasi gerbang untuk versi lama, meliputi pasaran aplikasi rasmi, pihak ketiga, komuniti forum dan saluran lain.

Tutorial muat turun domestik Tutorial muat turun domestik Mar 21, 2025 pm 05:42 PM

Artikel ini menyediakan panduan terperinci untuk muat turun selamat aplikasi OUYI OKX di China. Oleh kerana sekatan ke kedai aplikasi domestik, pengguna dinasihatkan untuk memuat turun aplikasi melalui laman web rasmi OUYI OKX, atau menggunakan kod QR yang disediakan oleh laman web rasmi untuk mengimbas dan memuat turun. Semasa proses muat turun, pastikan anda mengesahkan alamat laman web rasmi, periksa kebenaran aplikasi, lakukan imbasan keselamatan selepas pemasangan, dan membolehkan pengesahan dua faktor. Semasa penggunaan, sila mematuhi undang -undang dan peraturan tempatan, gunakan persekitaran rangkaian yang selamat, melindungi keselamatan akaun, berhati -hati terhadap penipuan, dan melabur secara rasional. Artikel ini hanya untuk rujukan dan tidak menjadi nasihat pelaburan.

Cara menyalin penulisan salinan Xiaohongshu Tutorial grafik tentang cara menyalin penulisan salinan Xiaohongshu. Cara menyalin penulisan salinan Xiaohongshu Tutorial grafik tentang cara menyalin penulisan salinan Xiaohongshu. Jan 16, 2025 pm 04:03 PM

Belajar untuk menyalin penulisan salinan Xiaohongshu dengan mudah! Tutorial ini mengajar anda langkah demi langkah cara menyalin salinan video Xiaohongshu dengan cepat, mengucapkan selamat tinggal kepada langkah yang membosankan. Buka APP Xiaohongshu, cari video yang anda suka, dan klik pada kawasan [Copywriting] di bawah video. Tekan lama teks salin dan pilih fungsi [Ekstrak Teks] daripada pilihan pop timbul. Sistem akan mengekstrak teks secara automatik, klik butang [Salin] di sudut kiri bawah. Buka WeChat atau aplikasi lain, seperti Moments, tekan lama kotak input, dan pilih [Tampal]. Klik Hantar untuk melengkapkan salinan. Semudah itu!

Apa yang perlu saya lakukan sekiranya perisian keselamatan syarikat bertentangan dengan aplikasi? Bagaimana untuk menyelesaikan masalah perisian keselamatan yang menyebabkan perisian biasa gagal dibuka? Apa yang perlu saya lakukan sekiranya perisian keselamatan syarikat bertentangan dengan aplikasi? Bagaimana untuk menyelesaikan masalah perisian keselamatan yang menyebabkan perisian biasa gagal dibuka? Apr 01, 2025 pm 10:48 PM

Isu keserasian dan kaedah penyelesaian masalah untuk perisian dan aplikasi keselamatan syarikat. Banyak syarikat akan memasang perisian keselamatan untuk memastikan keselamatan intranet. Walau bagaimanapun, perisian keselamatan kadang -kadang ...

See all articles