uniapp前置登录逻辑判断

需求:1、新用户直接登录。2、已经登录过的用户在后台验证token,验证通过则直接进入主界面,失败 则跳转到登录界面。
实现:登录的逻辑判断主要写在app.vue中
onLaunch: function() {
			console.log('App Launch')		
			// 获取缓存中的登录数据
			let tokenRes = uni.getStorageSync('token');
			let userInfoRes = uni.getStorageSync('userInfo'); 
			
			if (tokenRes && userInfoRes) {//如果没有token,和userInfo则登录
                //通过一个接口测试token是否失效
				getDoProcess().then(function(res){
					if(res.code==401){//如果 失效 则跳转
						uni.redirectTo({
							url:"/pages/login/index",
							success: () => {
								plus.navigator.closeSplashscreen()//关闭页面加载动画
							}
						})
					}else{//否则关闭加载动画,进入主界面,这里需要把主界面 放在pages.json中第一个
						plus.navigator.closeSplashscreen()
					}
				})
				
			} else {
				uni.redirectTo({
					url:'pages/login/index',
					success: () => {
						plus.navigator.closeSplashscreen()
					}
				})
				
			}
		},
注意:设置plus.navigator.closeSplashscreen()需要将manifest.json中的 下面这块设置为false
"splashscreen" : {
            "alwaysShowBeforeRender" : false,
            "waiting" : true,
            "autoclose" : false,
            "delay" : 0
        }
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐