我可以随时获取微信小程序用户是否接受订阅消息的设置吗?

题目中说的有点绕,正文说的清楚点。微信小程序页面中用户在提交表单的事件中(小程序页面A)我调用 wx.requestSubscribeMessage 提示用户订阅消息,我想要在另外一个页面(小程序页面B - 用户查看自己资料的页面中)让用户能看到自己针对多个订阅消息是接受还是拒绝的,我调用了函数 wx.getSetting ,在成功的回调中属性 subscriptionsSetting 有数据,但是属性 subscriptionsSetting.itemSettings 不存在。所以无法得知每个订阅消息的状态,是不是只有在页面A中可以调用该函数得知订阅消息的状态,在页面B中是无法获取的?或者有没有别的方法可以得知用户对于订阅消息的设置?

阅读 732
1 个回答

属性 subscriptionsSetting.itemSettings 不存在,检查下你是不是没传withSubscriptions: true,

wx.getSetting({
  withSubscriptions: true,
  success (res) {
    console.log(res.authSetting)
    // res.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }
    console.log(res.subscriptionsSetting)
    // res.subscriptionsSetting = {
    //   mainSwitch: true, // 订阅消息总开关
    //   itemSettings: {   // 每一项开关
    //     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息
    //     SYS_MSG_TYPE_RANK: 'accept'
    //     zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息
    //     ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',
    //   }
    // }
  }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏