微信小程序实现一次性订阅消息的代码:
js文件
加入订阅消息代码:wx.requestSubscribeMessage(Object object)
//授权订阅提醒 subscribeMessage(){ console.info('订阅消息!!!'); let tmplId ='LGpkXsxxxxPFE02z6Oxxxxv_eez0xxxxego'; wx.requestSubscribeMessage({ tmplIds: [tmplId], success (res) { if(res[tmplId]=='accept'){//如果点击允许 wx.showToast({ title: '订阅成功', }) } } }) }
判断订阅消息是否已经订阅
let id = 'LGpkXsQ396mr-xxxxxxxxxx6Ovd5w4v_eez0pYoQego' wx.getSetting({ withSubscriptions: true, success(res) { debugger console.log(res) if (res.subscriptionsSetting.mainSwitch) { // 用户打开了订阅消息总开关 if (res.subscriptionsSetting.itemSettings) { // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权 let moIdState = res.subscriptionsSetting.itemSettings[id]; // 用户同意的消息模板id if (moIdState === 'accept') { wx.requestSubscribeMessage({ tmplIds: ['LGpkXsQ396mr-xxxxxxxxxx6Ovd5w4v_eez0pYoQego'], success(res) { wx.showToast({ title: '不会再拉起推送消息的授权,订阅成功', }) }, }) } else if (moIdState === 'reject') { console.log('拒绝了消息推送'); wx.showToast({ title: '拒绝了消息推送', }); wx.openSetting({ withSubscriptions: true, }); } else if (moIdState === 'ban') { wx.showToast({ title: '已被后台封禁', }) } } else { wx.requestSubscribeMessage({ tmplIds: ['LGpkXsQ396mr-xxxxxxxxxx6Ovd5w4v_eez0pYoQego'], success(res) { wx.showToast({ title: '订阅成功', }) }, }) } } else { wx.openSetting({ withSubscriptions: true, }) } } })