微信小程序消息订阅
如图:
代码:
requestMessage() {
var tmplIds = '***' // 用户同意的消息模板id,此处用*号代替
// 这里是获取下发权限地方,根据官方文档,可以根据 wx.getSetting() 的 withSubscriptions 这个参数获取用户是否打开订阅消息总开关。后面我们需要获取用户是否同意总是同意消息推送。所以这里要给它设置为true 。
wx.getSetting({
withSubscriptions: true, // 这里设置为true,下面才会返回mainSwitch
success: function(res){
// 调起授权界面弹窗
if (res.subscriptionsSetting.mainSwitch) {
// 用户打开了订阅消息总开关
// 每次执到这都会拉起授权弹窗
wx.showModal({
title: '提示',
content:'请授权开通服务通知',
showCancel: true,
success: function (ress) {
if (ress.confirm) {
// console.log('用户点击确定')
wx.requestSubscribeMessage({
// 调起消息订阅界面
tmplIds: [tmplIds],
success (res) {
console.log('订阅消息 成功 ');
// console.log(res);
},
fail (er){
console.log("订阅消息 失败 ");
// console.log(er);
}
})
} else if (ress.cancel) {
// console.log('用户点击取消')
}
}
})
}else {
console.log('订阅消息未开启')
}
},
fail: function(error){
console.log(error);
}
})
},