「笔记」订阅消息-订阅次数维护(新)
前言
不知何时官方更新了 __查询模板订阅状态__接口 的返回格式,导致之前的判断逻辑不可用,于是梳理了一下最新的用法。
查询模板订阅状态 接口
需要基础库大等于2.10.0才支持。
wx.getSetting({
withSubscriptions: true,
success (res) {
console.log(res)
}
})
新的返回格式
res.subscriptionsSetting = {
mainSwitch: true, // 订阅消息总开关
itemSettings: { // 每一项开关
zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject',
ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban'
},
zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject',
ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban'
}
旧的返回格式
res.subscriptionsSetting = {
zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject',
ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban'
}
对比以上两段代码可以发现,新的返回增加了一个mainSwitch,以及多了一层itemSettings。
假设在原有的判断逻辑不变的情况下,当mainSwitch为false状态的时候,清空当前用户所有的订阅记录,反之再判断itemSettings内的每一项状态是否为accept,如果非accept则删除订阅记录,这样就可以和原来一样了。
可以参考我之前发的 订阅消息-订阅次数维护 与本文结合一起看。