收藏
回答

wx.getSetting的res.authSetting['scope.userInfo']判断?

关于小程序登录,现有2个业务场景,1.小程序初次打开,授权登录,得到用户信息手机号码token等,其他业务验证token。2.小程序已经打开过,再次打开小程序触发下面逻辑

        wx.getSetting({
            successfunction (res{
                if (res.authSetting['scope.userInfo']) {
                    isHidefalse;
                    isShow: false;
                    //用户已经授权过,获取用户信息
                    wx.getUserInfo({
                        successfunction (res{
                            //赋值局部变量
                            console.log(res)
                            // that.data.userInfo = res.userInfo  
                            //
                            console.log(res.userInfo)
                            //从数据库获取用户信息验证
                            that.queryUsreInfo(res.userInfo);
                            // getApp().globalData.userInfo=res.userInfo
                            //验证成功后,跳转进入小程序首页
                            wx.switchTab({
                                url'/pages/home/home'
                            })
                        }
                    });
                }
                else {
                    that.setData({
                        isShowtrue
                    });
                }
            }
              })

       现增加第三种情况,Token过期,在其他业务的page下,跳转到登录pages.因为已经授权的原因,不显示授权拉取按钮直接得到授权执行登录方法,并且跳回之前的业务pages下。这个用户使用体验不是很好。如何清空之前的授权,重新获取手机号码和用户信息等?


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

4 个回答

  • 默
    2020-06-02

    1.无发清空

    2.在app.js写一个更新用户数据的函数

    在业务page页面判断

    1.已登录,token失效直接调用app的函数更新登录状态并更新数据 直接调用提示登录即可

    2.如果未登录跳转登录页面登录授权就好了

    2020-06-02
    有用 1
    回复
  • 不爱梨-🍐🍓🍉🍎🍇🍒
    不爱梨-🍐🍓🍉🍎🍇🍒
    02-24

    小程序用户长期不登陆小程序,在后台判断的时候用户的登录状态已经丢失了,但是通过这个接口判断的显示用户还是授权状态,所以还是通过token判断吧

    02-24
    有用
    回复
  • 今天暴富了么?
    今天暴富了么?
    2020-06-02

    这个授权无法清空

    2020-06-02
    有用
    回复
  • 不晚
    不晚
    2020-06-02

    因为以及授权过,所以

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

    就只能为真,则直接跳过了用户点击按钮去授权的这个过程,有什么办法解决,或者清除掉这个授权?

    2020-06-02
    有用
    回复
登录 后发表内容
问题标签