收藏
回答

小程序用户授权

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.authorize 微信iOS客户端 1.6 1.6

用户拒绝授权后如何再次调用授权接口?

最后一次编辑于  2018-01-25  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

1 个回答

  • 永恒君
    永恒君
    2018-01-25

    我是这样写的:

    // 检测用户是否拒绝了授权
    ifGetUser: function (callback) {
      wx.getSetting ? wx.getSetting({
        success: settings => {
          var can = settings.authSetting['scope.userInfo']
          this.data.noUser = can
          console.log('是否已授权', can)
          if (!this.data.noUser) {
            wx.hideLoading();
            wx.showModal({
              content: '拒绝了授权,是否重新开启',
              confirmText: '前往开启',
              showCancel: false,
              success: res => {
                wx.openSetting({
                  success: (res) => { }
                });
              },
            });
            return;
          } else {
            callback && callback(true);
          }
        }
      }) : wx.showModal({
        content: '您的小程序版本太低,请更新微信',
        showCancel: false
      });
    },

    然后这样使用:

    // 请求用户授权获得信息
    getInfo: function (callbcak) {
      wx.getUserInfo({
        lang: 'zh_CN',
        withCredentials: true,
        complete: res => {
          this.ifGetUser(can => { // 判断是否已授权
            console.log('用户信息', res.userInfo)
            this.data.userInfo = res.userInfo
            callbcak && callbcak(res)
          })
        }
      })
    },
    2018-01-25
    赞同
    回复