在微信开发中,经常会使用到模板消息。因此框架中对此进行了一些封装,并且提供了后台操作界面以及日志查看等功能,下面开始逐步介绍开发操作以及使用。
微信公众平台配置
首先,需要申请开通模板消息功能,如下图所示:
然后,等待审批通过:
申请成功了就可以使用这个功能,如下所示:
然后从模板库中选择自己需要的模板:
添加后,查看模板详情:
后台操作
根据上述步骤,添加到后台相应的模块中,如下图所示:
接下来,我们就可以在后台模拟了:
编辑带下划线的文字:
点击【发送】按钮,即可完成发送。
使用代码发送模板消息
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。