收藏
回答

快速切换tab导致wx.getSetting拿不到已经授权的信息

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.getSetting 客户端 iOS 6.6.7 2.1.2

有三个tab页:home、product、 center。每个tab页的onShow都有下面这段代码

onShow: function () {
  // 授权用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权用户信息,不再弹出自定义授权弹框
          this.setData({
            authInfoDlg: false
          })
        } else {
          // 没有授权,弹出自定义授权弹框
          this.setData({
            authInfoDlg: true
          })
        }
      }
    })
}

authInfoDlg 控制一个自定义授权弹框,下面是这个弹框的部分代码。

<button class='auth-dlg-btn btn-solid-org' open-type="getUserInfo" lang='zh_CN' bindgetuserinfo="_getUserInfo">点击授权</button>
 
_getUserInfo (e) {
    if (e.detail.userInfo) {
      console.log(e)
      // 关闭自定义授权弹框
      this.setData({
        authInfoDlg: false
      })
      // 保存unionId
      let { rawData: raw_data, signature, encryptedData: encrypted_data, iv } = e.detail
      wx.$ajax('user/saveUserUnionId', {
        raw_data,
        signature,
        encrypted_data,
        iv
      })
       
      if (this.authSuccess) {
        this.authSuccess();
      }
    }
  }


   
当进入到首页时,弹出自定义
授权弹框(图一),点击授权,调起微信用户信息授权弹框(图二),点击允许。

授权之后,除非手动清除授权信息,这个自定义授权弹框不该再出现。 但是,当我快速切换tab,这个自定义授权弹框居然会出现,而且,授权信息为空(见下图),这是为何???

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

4 个回答

  • 小被子
    小被子
    2018-07-16

    官方迟迟没有答复,我改了一种实现方式,参考https://segmentfault.com/a/1190000015650591中的小程序片段2

    2018-07-16
    有用
    回复
  •  
     
    2018-07-13

    这个问题我们也遇到了,用的是官方推荐的代码:

    wx.getSetting({

        success:  function (res) {

            console.log(res)

                 if (res.authSetting[ 'scope.userInfo' ]) {

                    that.setData({

                        isauthorizationShow:  true

                    })

                    } else {

                    that.setData({

                        isauthorizationShow:  false

                    })

                }

            }

        })



    自己做了一个授权的弹窗,然后判断用户是否授权过,未授权就显示,

    但是问题就是明明授权了,但是过一会后(未退出小程序),在其他页面突然弹出了自己做的授权框,

    退出从进就好了,

    希望官方尽快给一个回复~


    2018-07-13
    有用
    回复 1
    • 小被子
      小被子
      2018-07-16

      官方迟迟没有答复,我改了一种实现方式,参考https://segmentfault.com/a/1190000015650591中的小程序片段2

      2018-07-16
      回复
  • 高淑珍
    高淑珍
    2018-07-12

    同问~

    2018-07-12
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-07-05

    你好,麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2018-07-05
    有用
    回复 1
登录 后发表内容