在使用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离线打包的时候一直停留在启动界面无法正常进入首页,在线打包则正常。