微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】


Posted in Javascript onMay 05, 2019

本文实例讲述了微信小程序实现发送模板消息功能。分享给大家供大家参考,具体如下:

一、获取access_token

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

获取access_token的接口地址:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

返回参数格式:

{"access_token": "ACCESS_TOKEN", "expires_in": 7200}

二、发送模板消息

先在微信公众平台选用怒需要的模板id,例如

选用模板消息:

https://mp.weixin.qq.com/wxopen/tmplmsg?action=self_list&token=264012870&lang=zh_CN

选用的是购买成功的模板,关键字可以自己定义顺序,如果不符合你的情况,还可以自定义关键字

微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】

选用好了之后,可以在我的模板中查看。然后将其模板id复制过来。

类似于这样 : _CfGS7SqVyNPg9Op8OXzMp6aOl7X9rCkrRfiMcccms8

发送模板的消息接口地址:

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

参数:

touser (必填) 接收者(用户)的 openid
template_id (必填) 所需下发的模板消息的id
page (可选) 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
form_id (必填) 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
data (必填) 模板内容,不填则下发空模板
color (可选) 模板内容字体的颜色,不填默认黑色
emphasis_keyword (可选) 模板需要放大的关键词,不填则默认无放大

例如

html

<form bind:submit="testSubmit" report-submit="true">
  <button formType="submit">发送模板消息</button>
 </form>

js

testSubmit:function(e){
 var self= this;
 let _access_token = '5_E1pZJQzTC-lC0r-JJz9wVAZv5Zv22CNtmV_7C1T0sqC9TV7mGE4FTmDX2B0PVM4LaGtaTfXwzfJLnD7fDKTg8DOICJNkKBQgn_Ot2zYmBJyY1g1VXoBNdtwUE0QaP8_9tWlbR-Zq7L1OyrrPKCIjAEAOGM';
 let url='https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='+_access_token
; let _jsonData = {
  access_token: _access_token,
  touser: openid,
  template_id: '_CfGS7SqVyNPg9Op8OXzMp6aOl7X9rCkrRfiMcccms8',
  form_id: e.detail.formId,
  page: "pages/index/index",
  data: {
  "keyword1": { "value": "测试数据一", "color": "#173177" },
  "keyword2": { "value": "测试数据二", "color": "#173177" },
  "keyword3": { "value": "测试数据三", "color": "#173177" },
  "keyword4": { "value": "测试数据四", "color": "#173177" },
  }
 }
 wx.request({
  url: url,
  data: data,
  method: method,
  success: function (res) {
   console.log(res)
  },
  fail: function (err) {
   console.log('request fail ', err);
  },
  complete: function (res) {
   console.log("request completed!");
  }
 })

结果:

类似于这种

微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
JavaScript常用小技巧小结
Dec 29 Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
Bootstrap CSS组件之输入框组
Dec 17 Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
Dec 05 Javascript
vue增加强缓存和版本号的实现方法
May 01 Javascript
微信小程序身份证验证方法实现详解
Jun 28 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
Oct 23 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 Javascript
浅谈Node 异步IO和事件循环
May 05 #Javascript
vue的列表交错过渡实现代码示例
May 05 #Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 #Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 #Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 #Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 #Javascript
小程序关于请求同步的总结
May 05 #Javascript
You might like
终于听上了直流胆调频
2021/03/02 无线电
解决中英文字符串长度问题函数
2007/01/16 PHP
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
Python实现的二维码生成小软件
2014/07/11 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
德国高性价比网上药店:medpex
2017/07/09 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
简历自我评价模版
2014/01/31 职场文书
教书育人演讲稿
2014/09/11 职场文书
结婚保证书
2015/01/16 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis