微信小程序 判断一次消息订阅是否勾选”总是保持以上选择“

867 阅读1分钟

微信官方并没有提供api去判断用户是否选择了"总是保持以上选择",但是可以通过判断wx.getSetting()返回的数据,如果选中了“总是保持以上选择选择…”就会返回tempIds中的内容,反之,则会返回空。

 wx.requestSubscribeMessage({
    tmplIds: tmplIds,
    success (res) {
     let flag1 = true;
     wx.getSetting({
       withSubscriptions: true,
       success (res) {
         console.log("getSetting res", res.subscriptionsSetting);
         for (i = 0; i < len; i++) {//选择长期订阅后判断是否有拒绝接受消息
           if (res.subscriptionsSetting[tmplIds[i]]) {
             flag1 = false;
             break;
           }
         }
       }
     });
     if (flag1) {
         wx.showToast({ title: "请先订阅全部消息!", icon: 'none' });
     }
    },
    fail (res) {
      console.log('fail', res);
    }
  })