「笔记」订阅消息-订阅次数维护(新)
发布于 5 年前 作者 pengyong 5343 次浏览 来自 分享

前言

不知何时官方更新了 __查询模板订阅状态__接口 的返回格式,导致之前的判断逻辑不可用,于是梳理了一下最新的用法。

查询模板订阅状态 接口

需要基础库大等于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则删除订阅记录,这样就可以和原来一样了。

可以参考我之前发的 订阅消息-订阅次数维护 与本文结合一起看。

1 回复

帖子不存在 [捂脸]

回到顶部