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
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐