- 问题描述:
有一种场景就是进入页面需要判断登录状态,没有登录则跳转登录页面,如果登录了就是跳转首页 .
有的人把登录页面放到pages的第一个页面,有的人把首页放到pages的第一页面.其实无论谁放到第一页面都是出现异常情况,如把登录页当到一个,那么没登录的时候是正常的,当登录成功,再次打开程序,则不应该再进入登录页,但现实是会从登录页一闪而过,甚至有些出现没有跳转的情况 - 解决方法
把一个空白页面放到pages里作为启动页,然后在这个空白页面进行是否登录的逻辑判断
//pages的设置
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
"path":"pages/JudeLoginPage/JudeLoginPage",
"style":{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle" : "custom"
}
},
....
]
空白页面的逻辑处理
created() {
console.log('App Launch')
// token标志来判断
let token= uni.getStorageSync('token');
console.log(token);
if (!token) {
console.log('没有token'),
//跳到登录页面.relaunch可以打开任何界面
uni.reLaunch({
url:'/pages/login/login'
})
} else {
console.log('有token')
//跳到首页,跳转tabbar界面,必须使用这个方法
uni.switchTab({
url: '/pages/home/home'
})
}
},
完结
补充