uniapp启动页面鉴权页面闪烁问题

在使用uni-app开发app 打包完成后如果没有token,那么就在onLaunch生命周期里面判断用户是否登录并跳转至登录页。 但是在app中页面会先进入首页然后再跳转至登录页,十分影响体验。

处理方法:

使用plus.navigator.closeSplashscreen()

官网文档地址 app-splashscreen

勾选"等待首页渲染完毕后再关闭Splash图",表示需要等待首页渲染完成后再关闭启动界面

不勾选"等待首页渲染完毕后再关闭Splash图",则表示首页加载完成后就会关闭启动界面,此时首页可能没有完成渲染,在部分设备可能会闪一下白屏,不推荐使用。

根据官网配置启动项后在onLaunch声明周期中配置

|------------------------|---------|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 属性 | 类型 | 默认值 | 描述 |
| alwaysShowBeforeRender | Boolean | true | 是否等待首页渲染完毕后再关闭启动界面 |
| autoclose | Boolean | true | 是否自动关闭启动界面,仅当alwaysShowBeforeRender设置为false时生效,如果需要手动关闭启动界面,需将 alwaysShowBeforeRender 及 autoclose 均设置为 false |
| waiting | Boolean | true | 是否在启动界面显示等待雪花 |

代码控制关闭启动界面 App启动后不会自动关闭启动界面,需要在代码中调用plus.navigator.closeSplashscreen关闭启动界面

源码视图

javascript 复制代码
"app-plus" : {
    "splashscreen" : {
        "alwaysShowBeforeRender" : false,
        "autoclose" : false,
    }
}

App.vue中

javascript 复制代码
       const store = useMainStore()
       if(!store.token){
		   uni.reLaunch({
			   url:'/pages/login/login',
			   success:()=>{
				   plus.navigator.closeSplashscreen();
			   }
		   })
        }else{
			plus.navigator.closeSplashscreen();
		}
相关推荐
嘉琪0015 小时前
uni-app 核心坑点及解决方案——2026 0309
uni-app
行者-全栈开发8 小时前
uni-app 审批流程组件封装:打造企业级工作流可视化方案
uni-app
2501_9160088910 小时前
iPhone 上怎么抓 App 的网络请求,在 iOS 设备上捕获网络请求
android·网络·ios·小程序·uni-app·iphone·webview
jingling55510 小时前
无需重新安装APK | uni-app 热更新技术实战
前端·javascript·前端框架·uni-app·node.js
遇见小美好y10 小时前
uniapp 实现向下追加数据功能
前端·javascript·uni-app
行者-全栈开发11 小时前
43 篇系统实战:uni-app 从入门到架构师成长之路
前端·typescript·uni-app·vue3·最佳实践·企业级架构
00后程序员张12 小时前
iOS上架工具,AppUploader(开心上架)用于证书生成、描述文件管理Xcode用于应用构建
android·macos·ios·小程序·uni-app·iphone·xcode
万物得其道者成13 小时前
uniapp 滑动过快 onReachBottom 事件不触发
uni-app
2501_9159214313 小时前
只有 IPA 没有源码时,如何给 iOS 应用做安全处理
android·安全·ios·小程序·uni-app·iphone·webview