zoukankan      html  css  js  c++  java
  • Magicodes.WeiChat——发送模板消息

    在微信开发中,经常会使用到模板消息。因此框架中对此进行了一些封装,并且提供了后台操作界面以及日志查看等功能,下面开始逐步介绍开发操作以及使用。

    微信公众平台配置

    首先,需要申请开通模板消息功能,如下图所示:

    image

    然后,等待审批通过:

    image

    申请成功了就可以使用这个功能,如下所示:

    image

    然后从模板库中选择自己需要的模板:

    image

    添加后,查看模板详情:

    image

    后台操作

    根据上述步骤,添加到后台相应的模块中,如下图所示:

    image

    image

    接下来,我们就可以在后台模拟了:

    image

    编辑带下划线的文字:

    image

    点击【发送】按钮,即可完成发送。

    使用代码发送模板消息

    Magicodes.WeiChat封装了友好的模板消息发送的API,具体您可以查看项目【Magicodes.WeiChat.Framework】下的类“TemplateMessage”。

    该类提供Create方法以便我们调用,相关参数如下所示:

    /// <summary>
        /// 模板消息
        /// </summary>
        public class TemplateMessageCreateModel 
        {
            /// <summary>
            /// 接收人openId,多个请以分号分隔
            /// </summary>
            public string ReceiverIds { get; set; }
            /// <summary>
            /// 模板消息编号
            /// </summary>
            public string MessagesTemplateNo { get; set; }
            /// <summary>
            /// 顶部颜色
            /// </summary>
            public string TopColor { get; set; }
            /// <summary>
            /// 链接
            /// </summary>
            public string Url { get; set; }
            /// <summary>
            /// 模板消息数据,如:
            /// serviceInfo : new TemplateDataItem("您好,您的服务单123456789有新的客服回复。")
            /// remark : new TemplateDataItem("详细处理结果请点击“详情”查看。", "#173177"),
            /// </summary>
            public Dictionary<string, TemplateDataItem> Data { get; set; }
        }

    通过API,我们可以很方便的发送一条或多条模板消息,如下面代码:

    //接收人openId,多个请以分号分隔
    
    var receiverIds = "";
    
    foreach (var item in receiverId)
    
    {
    
    receiverIds += item.Split(';')[1] + ';';
    
    }
    
    //模板消息模型
    
    TemplateMessageCreateModel tmm = new TemplateMessageCreateModel()
    
    {
    
    MessagesTemplateNo = id,
    
    Data = new Dictionary<string, TemplateDataItem>(),
    
    ReceiverIds = receiverIds.Trim(';'),
    
    Url = url
    
    };
    
    foreach (var item in Request.Form.AllKeys)
    
    {
    
    if (item.EndsWith(".DATA"))
    
    {
    
    var color = Request.Form[item + "_COLOR"];
    
    tmm.Data.Add(item.Split('.')[0], new TemplateDataItem(Request.Form[item], color));
    
    }
    
    }
    
    ajaxResponse.Result = WeiChatApisContext.Current.TemplateMessageApi.Create(tmm);

    注意,请通过WeiChatApisContext.Current.TemplateMessageApi来调用模板消息Api。

  • 相关阅读:
    OpenWrt arp 命令发布
    [Cocos2d-x]Cocos2d-x 3.2 学习笔记
    智课雅思词汇---二十四、名词性后缀ary(也是形容词后缀)
    算法讲课---1、贪心
    智课雅思词汇---二十三、名词性后缀mony
    js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
    js进阶---12-12、jquery事件委托怎么使用
    js进阶---12-10、jquery绑定事件和解绑事件是什么
    新东方雅思词汇---7.3、dioxide
    对啊英语音标---四、双元音常见的字母发音组合有哪些
  • 原文地址:https://www.cnblogs.com/codelove/p/4992148.html
Copyright © 2011-2022 走看看