微信小程序發(fā)送模版消息:
通過微信提供的以下接口:
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
請求方式:
POST
請求參數(shù):
{
"touser": "openid",
"template_id": "申請的模版消息id",
"page": "點擊模版消息時跳轉(zhuǎn)的路徑",
"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用戶登錄憑證(有效期五分鐘)。開發(fā)者需要在開發(fā)者服務(wù)器后臺調(diào)用 api抑进,使用 code 換取 openid 和 session_key 等信息
console.log(res.code)
}
})
再通過拼接的url獲取用戶openid(小程序無法訪問該鏈接需要配合服務(wù)器完成)
https://api.weixin.qq.com/sns/jscode2session?appid=appid&secret=secret&js_code=res.code&grant_type=authorization_code
請求方式:
GET
返回如下結(jié)果:
{
"session_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"expires_in":xxxx,
"openid":"xxxxxxxxxxxxxxxxxx"
}
2.發(fā)送模版消息需要微信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是觸發(fā)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)
}
特別說明:
支付
當用戶在小程序內(nèi)完成過支付行為骂倘,可允許開發(fā)者向用戶在7天內(nèi)推送有限條數(shù)的模板消息(1次支付可下發(fā)3條,多次支付下發(fā)條數(shù)獨立赏僧,互相不影響)
提交表單
當用戶在小程序內(nèi)發(fā)生過提交表單行為且該表單聲明為要發(fā)模板消息的大猛,開發(fā)者需要向用戶提供服務(wù)時,可允許開發(fā)者向用戶在7天內(nèi)推送有限條數(shù)的模板消息(1次提交表單可下發(fā)1條淀零,多次提交下發(fā)條數(shù)獨立挽绩,相互不影響)