基于微信小程序的模板消息
下发条件:用户本人在微信体系内与页面有交互行为后触发
首先理清一下思路:
发送模板消息需要哪些数据?
1.access_token: 获取 access_token 过期时间7200秒
也就是两小时。
需要appid
appsecret
两个参数来获取access_token
access_token 是全局唯一接口调用凭据,开发者调用各接口时都需使用 access_token,此处获取 access_token 以备后面用于发送模板消息
接口地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
2. openid 获取方式:
需要appid appsecret js_code
三个参数 来获取openid,需要和小程序有交互,传递数据
https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code
同一个小程序用户的openid不变
3.formid_id :这个也需要和小程序有交互,从小程序端传过来。formid和openid 绑定同一个小程序,才能发送消息,一个formid只能使用一次
4.template_id :从微信小程序后台获取 复制粘贴过来。
综上所述,可以默认设置一次不变的数据有:appid appsecret tmplate_id
- 使用说明
1.1 获取模板id
登录https://mp.weixin.qq.com获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用
页面的 <form/> 组件,属性 report-submit 为 true 时,可以声明为需发模板消息,此时点击按钮提交表单可以获取 formId,用于发送模板消息。或者当用户完成支付行为,可以获取 prepay_id 用于发送模板消息。
调用接口下发模板消息
1.2 获取 access_token
access_token 是全局唯一接口调用凭据,开发者调用各接口时都需使用 access_token,此处获取 access_token 以备后面用于发送模板消息
接口地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
1
HTTP请求方式:
GET
1
1.3 发送模板消息
接口地址:(ACCESS_TOKEN 需换成上文获取到的 access_token)
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
1
HTTP请求方式:
POST
1
- 使用案例
场景描述:前台获取 formId 送至后台,由后台实现模板消息的发送。(此处由于 formId 只能由用户触发表单提交操作产生,故前台需要将每次产生的formId发送至后台,由后台保存并在适当时候调用微信接口向用户发送模板消息)
代码实现:
//example.wxml
<form bindsubmit="submitInfo" report-submit='true' >
<button form-type="submit" type="default" size="mini">提交</button>
</form>
//example.js
submitInfo: function (e) {
console.log(e.detail.formId);
}
网友评论