微信小程序发送模版消息:
通过微信提供的以下接口:
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
请求方式:
POST
请求参数:
{
"touser": "openid",
"template_id": "申请的模版消息id",
"page": "点击模版消息时跳转的路径",
"form_id": "提交时获取的formid(只能使用一次)",
"data": {
"keyword1": {
"value": "已接单",
"color": "#173177"
},
"keyword2": {
"value": "2017年10月19日 12:31",
"color": "#173177"
},
"keyword3": {
"value": "张一山",
"color": "#173177"
},
"keyword4": {
"value": "136xxxx1720",
"color": "#173177"
},
"keyword5": {
"value": "请手机保持通畅",
"color": "#173177"
}
},
"emphasis_keyword": "keyword1.DATA"
}
1.第一步首先获取用户的openID
通过wx.login获取用户登录code
wx.login({
success: function (res) {
var appid = appid //小程序appid
var secret = secret //小程序secret
var url = 'https://api.weixin.qq.com/sns/jscode2session?appid=appid&secret=secret&js_code=' + res.code + '&grant_type=authorization_code';
//code用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 api,使用 code 换取 openid 和 session_key 等信息
console.log(res.code)
}
})
再通过拼接的url获取用户openid(小程序无法访问该链接需要配合服务器完成)
https://api.weixin.qq.com/sns/jscode2session?appid=appid&secret=secret&js_code=res.code&grant_type=authorization_code
请求方式:
GET
返回如下结果:
{
"session_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"expires_in":xxxx,
"openid":"xxxxxxxxxxxxxxxxxx"
}
2.发送模版消息需要微信access_token(7200秒后作废)
通过下面链接获取
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
请求方式:
GET
{
"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"expires_in": 7200
}
3.获取form_id
提交form是触发formSubmit
<form bindsubmit="formSubmit" report-submit="true">
<button type="default" form-type='submit' bindtap='submit'>确定</button>
</form>
获取formid
formSubmit:function(e){
console.log(e.detail.formId)
}
特别说明:
支付
当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)
提交表单
当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)