微信小程序实现发送模板消息功能示例【通过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 相关文章推荐
MSN消息提示类
Sep 05 Javascript
JSON扫盲帖 JSON.as类教程
Feb 16 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 Javascript
页面中iframe相互传值传参
Dec 13 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 Javascript
Angular如何在应用初始化时运行代码详解
Jun 11 Javascript
详解vue中组件参数
Jul 09 Javascript
在Vue 中获取下拉框的文本及选项值操作
Aug 13 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 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
php实现检查文章是否被百度收录
2015/01/27 PHP
php实现的操作excel类详解
2016/01/15 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
js玩一玩WSH吧
2007/02/23 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
利用python获取Ping结果示例代码
2017/07/06 Python
python中字符串内置函数的用法总结
2018/09/13 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python用match()函数爬数据方法详解
2019/07/23 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
保密协议书范本
2014/04/22 职场文书
民族精神月活动总结
2014/08/28 职场文书
买房子个人收入证明
2014/10/12 职场文书
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL