100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信小程序授权登录 跳转页面后在跳回首页不用再次登录

微信小程序授权登录 跳转页面后在跳回首页不用再次登录

时间:2019-10-24 03:58:47

相关推荐

微信小程序授权登录 跳转页面后在跳回首页不用再次登录

小程序授权登录要使用wx.getUserProfile,获得用户投头像后,做一些页面跳转功能,但是如果需要再次跳转首页的话,小程序就会有回到登录前的状态,这样体验感会很差。要想不用再次登录,也不难,只需要判断userInfo是否还存有信息就可以了。举个例子:

//wxml登录页面,也作为首页<view class="touxiang"><block wx:if="{{!hasUserInfo}}"><image bindtap="login" class="ava"></image><view class="text"><text>点击圆圈登录</text></view></block><block wx:else><image class="ava" src="{{userInfo.avatarUrl}}"></image><view class="text"><text>{{userInfo.nickName}}</text></view><button bindtap="url">跳转页面</button></block></view>//wxss.ava{width: 100rpx;height: 100rpx;border: 1rpx solid black;border-radius: 50%;margin-left: 43.5%;}.text{text-align: center;}

​/*** 页面的初始数据*/data: {userInfo: {},hasUserInfo: false,},/*点击后微信授权登录*/login: function (e) {var that = this// 获取用户的昵称和头像wx.getUserProfile({desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success: (res) => {that.setData({userInfo: res.userInfo,hasUserInfo: true //用于让页面判断是否登录})//这里要把用户信息保存进全局变量getApp().globalData.userInfo = res.userInfo}})},url: function () {wx.navigateTo({url: '/pages/url/url',})},​

跳转后的url页面

<button bindtap="shouye">跳转回首页</button>

//就假设该页面已经过多次不同页面跳转,现从该页面直接跳转回首页登录面,//则跳转回后首页会成未登录状态shouye:function(){wx.navigateTo({url: '../test/test',})},

此时就可以在首页js文件的onShow()做判断,判断全局变量的userInfo是否为空

onShow() {// 如果后台userInfo信息存在,可赋值直接进入登录页面,无需再次登录获取// 获取用户globalData信息var n = getApp().globalData.userInfo// 后台不为‘’,则赋值,然后登录if (n != '' && n != null) {this.setData({userInfo: n,hasUserInfo: true,canIUseGetUserProfile: true})//为空则意味着之前没有登录,直接登录就行this.login()}},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。