专栏首页magicodesMagicodes.WeiChat——发送模板消息

Magicodes.WeiChat——发送模板消息

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

微信公众平台配置

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

然后,等待审批通过:

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

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

添加后,查看模板详情:

后台操作

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

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

编辑带下划线的文字:

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

使用代码发送模板消息

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。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Magicodes.IE之Excel模板导出教材订购表

    本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。

    雪雁-心莱科技
  • Magicodes.WeiChat——使用OAuth 2.0获取微信用户信息

    使用Magicodes.WeiChat,可以很方便的获取到微信用户的信息。在使用OAuth 2.0之前,你先需要做以下操作:

    雪雁-心莱科技
  • Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化

    微信自定义菜单接口是一个比较麻烦的接口,往往开发的小伙伴们看到下面的这段返回JSON,整个人就会不好了:

    雪雁-心莱科技
  • C# http Get/POST请求封装类

    http://www.sufeinet.com/thread-3-1-1.html

    跟着阿笨一起玩NET
  • GenericFactoryMethod泛型工厂模式实现简单IOC功能

    泛型工厂理论上不算Gof23中设计模式之一,但是也算是一种非常好的设计模式,个人认为,废话不多说,先写个简单的抽象工厂,在写一个泛型工厂的例子来比较抽象和泛型的...

    郑小超.
  • Excel模板导出之导出教材订购表

    本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。

    心莱科技雪雁
  • Magicodes.IE之Excel模板导出教材订购表

    本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。

    雪雁-心莱科技
  • Dynamic 动态类型 和双问号??的使用

    1.dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,Emit,CodeDom等技术来完成。创建一...

    aehyok
  • FactoryMethod工厂方法模式(创建型模式)

    整个抽象的游戏设施建造系统相对变化较慢,本例中只有一个Build的创建方法,而Build内部的方法实现,该实现依赖与各种具体的实现,而这些实现变化的非常频繁,现...

    郑小超.
  • asp.net core导出导入excel

    用户6362579

扫码关注云+社区

领取腾讯云代金券