评论

「笔记」订阅消息-订阅次数维护(新)

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

前言

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

查询模板订阅状态 接口

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

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

附:订阅消息参数值内容限制说明

参数类别 参数说明 参数值限制 说明
thing.DATA 事物 20个以内字符 可汉字、数字、字母或符号组合
number.DATA 数字 32位以内数字 只能数字,可带小数
letter.DATA 字母 32位以内字母 只能字母
symbol.DATA 符号 5位以内符号 只能符号
character_string.DATA 字符串 32位以内数字、字母或符号 可数字、字母或符号组合
time.DATA 时间 24小时制时间格式(支持+年月日) 例如:15:01,或:2019年10月1日 15:01
date.DATA 日期 年月日格式(支持+24小时制时间) 例如:2019年10月1日,或:2019年10月1日 15:01
amount.DATA 金额 1个币种符号+10位以内纯数字,可带小数,结尾可带“元” 可带小数
phone_number.DATA 电话 17位以内,数字、符号 电话号码,例:+86-0766-66888866
car_number.DATA 车牌 8位以内,第一位与最后一位可为汉字,其余为字母或数字 车牌号码:粤A8Z888挂
name.DATA 姓名 10个以内纯汉字或20个以内纯字母或符号 中文名10个汉字内;纯英文名20个字母内;中文和字母混合按中文名算,10个字内
phrase.DATA 汉字 5个以内汉字 5个以内纯汉字,例如:配送中
最后一次编辑于  03-12  
点赞 1
收藏
评论

5 个评论

  • Peter👊
    Peter👊
    04-01

    第一个问题:如何让用户多次订阅?

    第二个问题:一次性订阅最多能让用户订阅多少次?

    04-01
    赞同
    回复 7
    • 拾忆
      拾忆
      04-01
      问题一,点按钮
      问题二,点一次订阅一次,最多可以同时允许3个模板,就是3次。
      04-01
      回复
    • Peter👊
      Peter👊
      04-01回复拾忆
      同一个用户点击同一个模板可以一直点吗?一直增加次数,比如十次
      04-01
      回复
    • 拾忆
      拾忆
      04-01回复Peter👊
      可以呀,只要你能让用户点就行,点几千次都行。
      04-01
      回复
    • Peter👊
      Peter👊
      04-01回复拾忆
      那我把模板消息替换了,现在模板消息还是能用,就是每次都要计算多少次了,还得填fromId,麻烦死了
      04-01
      回复
    • 拾忆
      拾忆
      04-01
      嗯,没办法
      04-01
      回复
    查看更多(2)
  • nut
    nut
    03-24

    大佬。一次性订阅消息是一个模板id一个用户只能发一次,还是说这个用户授权一次发一次,授权几次就能发几次

    03-24
    赞同
    回复 3
    • 拾忆
      拾忆
      03-24
      订阅消息根据用户订阅的模板和订阅次数决定能发送多少次,订阅授权一次只能发送一次,订阅两次可以发送两次。
      03-24
      回复
    • Timor
      Timor
      04-01回复拾忆
      他这个订阅消息是每点一次就弹订阅框?我现在项目是后台更新文章了或者活动就发给用户通知,之前的模板消息没有了,现在订阅消息我之前以为无限次推送,后来看了你文章更懵了
      04-01
      回复
    • 拾忆
      拾忆
      04-01回复Timor

      无限推送只有长期订阅消息才有,一次性订阅消息就是根据订阅次数来的,不要懵

      04-01
      回复
  • RAIN
    RAIN
    03-13

    大佬你好,文档中 “需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息”,这里的3条消息是消息模板吗??

    03-13
    赞同
    回复 1
    • 拾忆
      拾忆
      03-13
      一次性订阅消息的模板。
      03-13
      回复
  • 默认²⁰²⁰
    默认²⁰²⁰
    03-10

    我的怎么没有返回最新格式的?

    03-10
    赞同
    回复 3
    • 拾忆
      拾忆
      03-12
      格式是一样的,只是没有勾选总是允许,就不会返回下面的模板状态。
      03-12
      回复
    • 默认²⁰²⁰
      默认²⁰²⁰
      03-12回复拾忆
      打开总是允许了   mainswitch 已经是true了
      03-12
      回复
    • 拾忆
      拾忆
      03-12回复默认²⁰²⁰
      03-12
      回复
  • 小生蚝
    小生蚝
    03-07

    帖子不存在 [捂脸]

    03-07
    赞同
    回复 3
    • 拾忆
      拾忆
      03-07
      改好了
      03-07
      1
      回复
    • 小生蚝
      小生蚝
      03-07回复拾忆
      谢谢啦!学到了hhh
      03-07
      回复
    • 拾忆
      拾忆
      03-07回复小生蚝
      不用谢
      03-07
      回复
登录 后发表内容