收藏
回答

订阅消息选择'总是允许'后,下次怎么限制wx.requestSubscribeMessage的执行?

我的主要功能是,点击switch后开关打开,同时触发switch的事件和picker的事件。picker的事件的功能是将用户选择的时间到data中定义的变量中,switch事件的主要功能是,要求用户授权订阅消息,当用户允许时,就将picker选择的时间写入数据库

可以看出,用户在选择完提醒时间后,才可以选择允许授权。我在授权函数中,写的操作是,用户点击'允许',就将用户选择的时间写入数据库。

但是,当用户选择总是允许时,授权函数就不等待用户选择完时间,就执行了。直接将空的时间写入了数据库

请问下,有没有什么解决方案或者思路

回答关注问题邀请回答
收藏

1 个回答

  • 游戏人生
    游戏人生
    2020-06-21

    可以通过这样判断用户是否点了“总是”,然后做提示

    wx.getSetting({
      withSubscriptions: true,
      success(res) {
        console.log(res.authSetting)
        // res.authSetting = {
        //   "scope.userInfo": true,
        //   "scope.subscribeMessage": true
        // }
        console.log(res.subscriptionsSetting)
        // res.subscriptionsSetting = {
        //   SYS_MSG_TYPE_INTERACTIVE: 'accept',
        //   SYS_MSG_TYPE_RANK: 'accept',
        //   zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject',
        //   ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',
        // }
      }
    });
    
    


    这里的话,给你一个建议就是知道用户总是后,避免反复入库,用户点击后,弹窗提示并配置这个时间点,同时记录当前页面这个openId(用户)是否已经设置过时间~

    这是我之前写的文章,你可以看下

    https://developers.weixin.qq.com/community/develop/article/doc/000240bb188098d767f9b299956013


    2020-06-21
    有用 1
    回复 1
    • 璐
      2020-07-01
      感谢,感谢
      2020-07-01
      回复
登录 后发表内容
问题标签