关于小程序登录,现有2个业务场景,1.小程序初次打开,授权登录,得到用户信息手机号码token等,其他业务验证token。2.小程序已经打开过,再次打开小程序触发下面逻辑
wx.getSetting({
success: function (res) {
if (res.authSetting['scope.userInfo']) {
isHide: false;
isShow: false;
//用户已经授权过,获取用户信息
wx.getUserInfo({
success: function (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({
isShow: true
});
}
}
})
现增加第三种情况,Token过期,在其他业务的page下,跳转到登录pages.因为已经授权的原因,不显示授权拉取按钮直接得到授权执行登录方法,并且跳回之前的业务pages下。这个用户使用体验不是很好。如何清空之前的授权,重新获取手机号码和用户信息等?
1.无发清空
2.在app.js写一个更新用户数据的函数
在业务page页面判断
1.已登录,token失效直接调用app的函数更新登录状态并更新数据 直接调用提示登录即可
2.如果未登录跳转登录页面登录授权就好了
小程序用户长期不登陆小程序,在后台判断的时候用户的登录状态已经丢失了,但是通过这个接口判断的显示用户还是授权状态,所以还是通过token判断吧
这个授权无法清空
因为以及授权过,所以
if (res.authSetting['scope.userInfo'])
就只能为真,则直接跳过了用户点击按钮去授权的这个过程,有什么办法解决,或者清除掉这个授权?