小程序发送模板消息,首先要去官网获取你的小程序id、小程序秘钥,以及消息模板的配置。登录https://mp.weixin.qq.com
1. 获取appid,secret信息
2. 添加模板,获取模板id
3.获取code
wx.login({
success: (data) => {
this.data.code = data.code;
console.log(this.data.code,"---------getCode---------", data)
}
})
4.获取openid
注意:需要将api.weixin.qq.com
的域名添加进白名单,否则控制台会有报错提示。
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
grant_type: "authorization_code",
appid: "",
js_code: this.data.code, // 上一步获取到的code
secret: ""
},
success: (data) => {
this.data.openid = data.data.openid;
console.log(this.data.openid,"---------getOpenid---------", data)
}
})
5. 获取token
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/token',
data: {
grant_type: "client_credential",
appid: "",
secret: ""
},
success: (data)=>{
this.data.token = data.data.access_token;
console.log(this.data.token,"--------getToken----------", data)
}
})
6. 发送消息模板
wxml文件结构:
<form bindsubmit="formSubmit" bindreset="formReset" report-submit="true" >
<view class="btn-area">
<button formType="submit">testSubmit</button>
</view>
</form>
发送模板的js:
formSubmit: function (e) {
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + this.data.token, // 上面获取的token
method: "POST",
data: {
touser: this.data.openid, // 上面获取的openid
template_id: "", // 模板id,上面第二步获取
page: "index",
form_id: e.detail.formId, // 这里可能会报the formId is a mock one,这是因为需要在手机上进行测试
data: {
"keyword1": {
"value": "配电监测"
},
"keyword2": {
"value": "报警"
},
"keyword3": {
"value": "2018-07-13"
},
"keyword4": {
"value": "广州市天河区天河路208号"
}
},
emphasis_keyword: "测试通知"
},
success: (data) => {
console.log(e, "--------send----------", data)
},
fail: function (err) {
console.log('request fail ', err);
},
complete: function (res) {
console.log("request completed!");
}
})
}