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

微信公众平台配置

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

然后,等待审批通过:

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

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

添加后,查看模板详情:

后台操作

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

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

编辑带下划线的文字:

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

使用代码发送模板消息

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(';')[] + ';';

}

//模板消息模型

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('.')[], new TemplateDataItem(Request.Form[item], color));

}

}

ajaxResponse.Result = WeiChatApisContext.Current.TemplateMessageApi.Create(tmm);

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

Magicodes.WeiChat——发送模板消息的更多相关文章

  1. 微信小程序-发送模板消息(C#)

    步骤一:获取模板ID 有两个方法可以获取模版ID 通过模版消息管理接口获取模版ID 在微信公众平台手动配置获取模版ID 步骤二:页面的 <form/> 组件,属性report-submit ...

  2. PHP实现发送模板消息到微信公众号

    简述:在这里会具体讲述到如何实现:如何通过后台的代码来实现发送模板消息到已经关注了"心想"公众号的用户. (本人新手,目前实习中,我的所有文档都是在自己开发过程中的记录,有些言语跟 ...

  3. php之微信公众号发送模板消息参观模仿

    上篇文章中鞋到了公众号发送末班消息,他是最后调用两个方法,本文章简化一下 将下面的php方法放到一个可以引入的公共类中即可 构建模板消息: 我把需要用到的模板消息 都写成一个个方法,放在公共类文件中了 ...

  4. php之微信公众号发送模板消息

    讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0). 先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请: ...

  5. JAVA微信公众号通过openid发送模板消息~

    1,问题产生 在微信公众号开发过程中,我们有时候做不同权限的时候,比如在注册的时候,需要审核,然后我们要想办法让对方知道审核的结果.这时候我们可以通过模板消息来通知. 2,第一步,首先在微信公众号上获 ...

  6. 微信小程序之发送模板消息(通过openid推送消息给用户)

    一.获取access_token access_token是接口调用的凭证,目前有效期为两个小时,需要定时刷新,重复获取将导致上次获取的access_token失效.(注:不建议每次调用需要acces ...

  7. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  8. 微信小程序发送模板消息

    微信小程序发送模板消息 标签(空格分隔): php 看小程序文档 [模板消息文档总览]:https://developers.weixin.qq.com/miniprogram/dev/framewo ...

  9. PHP实现发送模板消息(微信公众号版)

    以下为开发步骤: 1.微信公众号为服务号且开通微信认证(其他类型账号不能发送) 2.ip白名单设置你的服务器ip(用于获取access_token) 3.网页授权你的域名(用于获取用户的openid) ...

随机推荐

  1. Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句

    最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页  第一种分页方法 需用到的参数:  pageSize 每页显示多少条数据  pageNu ...

  2. idhttp提交post带参数并带上cookie

    有这么一个提交连接 http://www.XXXXXX.com/test.php?p1=411328&p2=1&d1=HeroSkinList 一共有三个参数[p1]  [p2]  [ ...

  3. 如何用python下载一张图片

    如何用python下载一张图片 这里要用到的主要工具是requests这个工具,需要先安装这个库才能使用,该库衍生自urllib这个库,但是要比它更好用.多数人在做爬虫的时候选择它,是个不错的选择. ...

  4. 查看Oracle中存储过程长时间被卡住的原因

    1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...

  5. [LeetCode] Bus Routes 公交线路

    We have a list of bus routes. Each routes[i] is a bus route that the i-th bus repeats forever. For e ...

  6. 无需sendmail:巧用LD_PRELOAD突破disable_functions

    *本文原创作者:yangyangwithgnu,本文属FreeBuf原创奖励计划,未经许可禁止转载 摘要:千辛万苦拿到的 webshell 居然无法执行系统命令,怀疑服务端 disable_funct ...

  7. python-简单邮件报警

    在scrapy爬虫项目中经常遇到 爬取数据时报错无法及时处理 导致数据爬取不完整 只能先查看log才能发现报错 首先写一个简单的邮件发送模块 """ @file: ema ...

  8. mysql根据字符截取字符串(总结)

    mysql根据字符截取字符串(总结) 1.1 前言   为结合自己平常查资料的习惯,我会先给出例子,然后再对相关知识进行详解.该案例使用到的函数为:SUBSTRING_INDEX 1.2 需要实现的实 ...

  9. CentOS 7 安装配置 OpenVPN 客户端

    安装 epel yum 源: $ rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm $ ...

  10. [Swift]LeetCode79. 单词搜索 | Word Search

    Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...