微信小程序用户登录信息过期处理
由于小程序对获取用户信息的新规定,获取用户信息必须通过一个button调出获取窗口,然而用户的token会过期,而本地存在的缓存可能会让用户误以为自己仍处于登录状态,但实际使用时因为用户此时登录信息已经过期并未有openid导致信息渲染不完全从而无法成功使用小程序。
问题的麻烦就在于此时用户对小程序其实是已经授权的,我们无法通过院线的授权登录按钮实现刷新登录信息,可是我们总不能让用户每次都把小程序删除后重新登录小程序,又麻烦用户体验也差。
我的解决办法是通过ui优化重写写一个提示用户重新授权的button,并在button的方法调用中无论如何将用户的登录信息改为false,从而实现重新登录。
效果如图:
用户点击登录后即可重新实现获取用户信息,刷新页面,并无需唤起授权窗口。
wxml:
<view class="text-center text-orange">
<text class="text-center text-orange">登录信息过期时请重新授权</text>
<button class="text-blue cu-btn" open-type="getUserInfo" bindgetuserinfo="bindgetuserinfo">登录</button>
<text>哦(*╹▽╹*)</text></view>
js:
bindgetuserinfo: function () {
self = this
this.logged = false
// 调用云函数
if (!this.logged) {
wx.cloud.callFunction(