1.首先先写一个弹框 用户点击出现授权订阅
//点击按钮
<button @tap="subscribeMessages"> 点击订阅 </button>
// 订阅消息
subscribeMessages() {
console.log('订阅了消息!');
let that = this
wx.requestSubscribeMessage({
// 此处可填写多个模板 ID,但低版本微信不兼容只能授权一个
tmplIds: ['Qe1cXqfQdjtLaTxSANoN-EPSCLNucU_XXXXXXXX'],
success(res) {
console.log('已授权接收订阅消息', res)
uni.showToast({
title: '订阅成功!',
// icon: 'none',
duration: 2000
})
// 登录成功跳转页面
setTimeout(function () {
wx.navigateTo({
url: '../homePage/homePage' //页面路径
})
}, 500)
}
})
},
templIds就是接收到的模板 在小程序这里设置 这样用户就订阅成功了!
2.点击提交 发送订阅消息
<view class="tijiao" @tap="token">确认提交</view>
//点击提交执行 获取access_token
// 获取access_token
token() {
let that = this;
wx.request({
url: `https://test.XXXXXXX.net/hy/jsdc/getAccessToken`,
header: {
"token": wx.getStorageSync('token')
},
success(res) {
if (res.statusCode == 200) {
console.log('获取到accessToken', res.data.data.accessToken);
that.sendMessage(res.data.data.accessToken)
}
},
fail(error) {
console.log(error)
}
})
// const that = this;
// const appid = "wxfa218b3af6dcXXXX"
// const secret = "c50d326c81e1d685fb91f3707XXXXX"
// wx.request({
// url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
// header: {
// 'content-type': 'application/json'
// },
// success(res) {
// that.sendMessage(res.data.access_token)
// },
// fail(error) {
// console.log(error)
// }
// })
},
sendMessage(tokens) {
console.log('发送订阅', tokens);
// debugger
const access_token = tokens;
const openId = "oksZ15VsSmxQq00qD7jLgcp06iHU" // 这里填写你的 用户openId
wx.request({
url: `https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${access_token}`, //仅为示例,并非真实的接口地址
data: {
"touser": openId,
"template_id": "Qe1cXqfQdjtLaTxSANoN-EPSCLNucU_XXXXXXXX",
"data": {
"thing2": {
"value": this.form.contacts
},
"phone_number3": {
"value": this.form.contactsPhone
},
"time4": {
"value": this.form.dinersDate + ' ' + this.form.dinersTime
},
"number5": {
"value": this.form.dinersNum
}
}
},
method: 'post',
header: {
'Content-Type': 'application/json'
},
success(res) {
console.log("成功发送给审核员小程序推送", res)
},
fail(error) {
console.log("error", error)
}
})
},