2

场景介绍

image.png

1.当用户点击“开启订阅消息”时弹出如下授权框


注:此图来源于网络图片,如侵权,请告知删除
图片来自https://www.jianshu.com/p/085...

2.当用户点击“总是保持以上选择,不在询问”,再次点击“开启订阅消息”时,跳转到小程序设置页。如下图
image.png

注意事项:
1.开发者工具必须是最新的
2.基础库在 2.10.0 以上
3.用户需要点击“总是保持以上,不再询问”,才可以获取到getSetting返回的用户授权信息

// 开启订阅消息
openMsg() {
    var that = this
    // 获取用户的当前设置,判断是否点击了“总是保持以上,不在询问”
    wx.getSetting({
        withSubscriptions:true,  //是否获取用户订阅消息的订阅状态,默认false不返回
       success(res) {
          if(res.authSetting['scope.subscribeMessage']) { //用户点击了“总是保持以上,不再询问”
             uni.openSetting({ // 打开设置页
               success(res) {
                 console.log(res.authSetting)
               }
             });
          }else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
             var templateid = that.setting.templateid.map(item => item.tempid)
             uni.requestSubscribeMessage({
               tmplIds: templateid,
               success (res) {
                  console.log(res)
               },
               fail:(res) => {
                  console.log(res)
               }
             }) 
          }
       }
    })
},

坑很多,也是借鉴了很多网友的思路


houqq
245 声望14 粉丝