在使用uniapp开发APP的时候,很多时候需要用到自动登录功能,由于uniapp默认显示的第一页是在pages.json中设置的第一项,如果我们将登录页设置为pages.json中第一项的话,在自动登录首页的时候会从登录页一闪而过;如果设置首页为pages.json中第一项的话第一次登录App则会从首页一闪而过,如果是多身份登录的App则设置哪一个身份的首页当做第一显示页面也都不合适。

解决方法:

修改默认的启动界面参数,当页面加载完毕再手动关闭启动页面;
设置空白页作为第一启动页
第二种方法就不多做介绍,接下来介绍一下第一种方法的实现过程:

"app-plus" : {
        "usingComponents" : true,
        "nvueCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : { // 主要是修改该对象下的参数
            "alwaysShowBeforeRender" : false,
            "waiting" : false,
            "autoclose" : false,
            "delay" : 0
        },
        ...
}

首先修改manifest.json配置文件关闭默认启动界面
uni-app 启动界面(splash)参数配置说明 | 启动慢的原因

然后在App生命周期onShow或者在你需要的地方手动关闭启动界面,设置的延迟时间不宜过长,不建议超过6s

setTimeout(()=>{
	// #ifdef APP-PLUS 
	plus.navigator.closeSplashscreen()
	// #endif
}, 2000)


之前在使用android离线打包的时候一直停留在启动界面无法正常进入首页,在线打包则正常。
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐