小程序
小游戏
企业微信
微信支付
扫描小程序码分享
长期订阅消息,单个可以弹出授权,两个就无法弹出了
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
const self = this; //叫号 JwvH4a9x**** //物流 bju6OIp**** let tmplIds = ['JwvH4a9x****','bju6OIp****']; wx.getSetting({ withSubscriptions: true, // 这里设置为true,下面才会返回mainSwitch success: function (res) { // 调起授权界面弹窗 if (res.subscriptionsSetting.mainSwitch) { // 用户打开了订阅消息总开关 if (res.subscriptionsSetting.itemSettings != null) { // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权 console.log(res.subscriptionsSetting.itemSettings); let moIdState1 = res.subscriptionsSetting.itemSettings[tmplIds[0]]; // 用户同意的消息模板id if (moIdState1 === 'accept') { console.log('叫号通知消息推送已开启'); } else if (moIdState1 === 'reject') { wx.showModal({ title: '提示', content: '你已拒绝消息推送,将无法及时收到消息推送', showCancel: false, success(res) { } }) } else if (moIdState1 === 'ban') { wx.showModal({ title: '提示', content: '消息推送功能已被禁止,将无法及时收到消息推送', showCancel: false, success(res) {} }) } let moIdState2 = res.subscriptionsSetting.itemSettings[tmplIds[1]]; // 用户同意的消息模板id if (moIdState2 === 'accept') { console.log('物流状态通知消息推送已开启'); } else if (moIdState2 === 'reject') { wx.showModal({ title: '提示', content: '你已拒绝消息推送,将无法及时收到消息推送', showCancel: false, success(res) { } }) } else if (moIdState2 === 'ban') { wx.showModal({ title: '提示', content: '消息推送功能已被禁止,将无法及时收到消息推送', showCancel: false, success(res) {} }) } } else { // 当用户没有点击 ’总是保持以上选择,不再询问‘ 按钮。那每次执到这都会拉起授权弹窗 wx.showModal({ title: '提示', content: '请授权开通消息推送', showCancel: true, success: function (ress) { if (ress.confirm) { console.log(tmplIds); wx.requestSubscribeMessage({ // 调起消息订阅界面 tmplIds: tmplIds, success(res) { console.log('订阅消息 成功 '); console.log(res); }, fail(er) { console.log("订阅消息 失败 "); console.log(er); } }) } } }) } } else { wx.showModal({ title: '提示', content: '订阅消息未开启,将无法及时收到消息推送', showCancel: false, success(res) {} }) } }, fail: function (error) { console.log(error); }, })
上代码
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
const self = this; //叫号 JwvH4a9x**** //物流 bju6OIp**** let tmplIds = ['JwvH4a9x****','bju6OIp****']; wx.getSetting({ withSubscriptions: true, // 这里设置为true,下面才会返回mainSwitch success: function (res) { // 调起授权界面弹窗 if (res.subscriptionsSetting.mainSwitch) { // 用户打开了订阅消息总开关 if (res.subscriptionsSetting.itemSettings != null) { // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权 console.log(res.subscriptionsSetting.itemSettings); let moIdState1 = res.subscriptionsSetting.itemSettings[tmplIds[0]]; // 用户同意的消息模板id if (moIdState1 === 'accept') { console.log('叫号通知消息推送已开启'); } else if (moIdState1 === 'reject') { wx.showModal({ title: '提示', content: '你已拒绝消息推送,将无法及时收到消息推送', showCancel: false, success(res) { } }) } else if (moIdState1 === 'ban') { wx.showModal({ title: '提示', content: '消息推送功能已被禁止,将无法及时收到消息推送', showCancel: false, success(res) {} }) } let moIdState2 = res.subscriptionsSetting.itemSettings[tmplIds[1]]; // 用户同意的消息模板id if (moIdState2 === 'accept') { console.log('物流状态通知消息推送已开启'); } else if (moIdState2 === 'reject') { wx.showModal({ title: '提示', content: '你已拒绝消息推送,将无法及时收到消息推送', showCancel: false, success(res) { } }) } else if (moIdState2 === 'ban') { wx.showModal({ title: '提示', content: '消息推送功能已被禁止,将无法及时收到消息推送', showCancel: false, success(res) {} }) } } else { // 当用户没有点击 ’总是保持以上选择,不再询问‘ 按钮。那每次执到这都会拉起授权弹窗 wx.showModal({ title: '提示', content: '请授权开通消息推送', showCancel: true, success: function (ress) { if (ress.confirm) { console.log(tmplIds); wx.requestSubscribeMessage({ // 调起消息订阅界面 tmplIds: tmplIds, success(res) { console.log('订阅消息 成功 '); console.log(res); }, fail(er) { console.log("订阅消息 失败 "); console.log(er); } }) } } }) } } else { wx.showModal({ title: '提示', content: '订阅消息未开启,将无法及时收到消息推送', showCancel: false, success(res) {} }) } }, fail: function (error) { console.log(error); }, })
上代码