微信小程序实现发送模板消息功能示例【通过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 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
JavaScript基础语法让人疑惑的地方小结
May 23 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
jQuery中size()方法用法实例
Dec 27 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
Bootstrap模态框插件使用详解
May 11 Javascript
详解js的视频和音频采集
Aug 09 Javascript
jQuery实现高级检索功能
May 28 jQuery
js JSON.stringify()基础详解
Jun 19 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 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
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
使用python实现扫描端口示例
2014/03/29 Python
使用Python的内建模块collections的教程
2015/04/28 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python中的 enum 模块源码详析
2019/01/09 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
你常见到的runtime exception
2016/09/05 面试题
青春寄语大全
2014/04/09 职场文书
金融与证券专业求职信
2014/06/22 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
大学生实习介绍信
2015/05/05 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫