1.问题
在使用uni-app开发app 打包完成后 用户没登录首次进入跳转登录页 登录跳转至首页!
平常解决方法是onLaunch生命周期里面判断用户是否登录 但是有一个不好的体验就是每次进入程序先进入设定的第一个页面 在进入首页 这样体验不是很好~
2.解决
uni-app文档地址:https://uniapp.dcloud.io/collocation/manifest?id=splashscreen H5+文档地址:http://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.closeSplashscreen
使用plus.navigator.closeSplashscreen() 首先manifest.json app-plus 默认这两值是true 设置改为false 需要时在关闭
manifest.json 源码配置
"app-plus" : {
"splashscreen" : {
"alwaysShowBeforeRender" : false,
"waiting" : true,
"autoclose" : false,
"delay" : 0
}
}
App.vue 文件 onLaunch 生命周期里面写法 (根据自己需求情况判断)这里是用到token判断存在跳转至首页 不存在跳转登录页
onLaunch: function() {
console.log('App Launch');
// #ifdef APP-PLUS
// token标志来判断
let token= uni.getStorageSync('token');
if (token) {
//存在则关闭启动页进入首页
plus.navigator.closeSplashscreen();
} else {
//不存在则跳转至登录页
uni.reLaunch({
url: "/pages/login/login",
success: () => {
plus.navigator.closeSplashscreen();
}
})
}
// #endif
}