解决uniapp默认首页判断没有登陆后进入登陆页面,屏幕闪首页问题(app)

本文介绍了如何通过修改manifest.json文件和在App.vue的onLaunch生命周期中设置逻辑,实现uni-app应用的闪屏页动态控制。当用户未登录时,闪屏页将在登录成功后关闭;已登录则直接关闭闪屏页。关键代码涉及到uni.reLaunch和plus.navigator.closeSplashscreen方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心思想在manifest.json文件修改闪屏页配置。

将闪屏页自动关闭autoclose改为false
在页面实际操作逻辑完成后调用plus.navigator.closeSplashscreen();来关闭闪屏页面来实现。

// 核心代码
// App.vue生命周期onLaunch中写
let token = uni.getStorageSync('token');
if (token === null || token === '') {
	uni.reLaunch({
		url: '/pages/login/index',
		success: ()=> {
			plus.navigator.closeSplashscreen();
		}
	})
}else {
	plus.navigator.closeSplashscreen();
}

// manifest.json中修改
"app-plus" : {
        "splashscreen" : {
            "alwaysShowBeforeRender" : false,
            "waiting" : true,
            "autoclose" : false,
            "delay" : 0
        }
}
好的,我来详细讲解一下如何解决 uniapp 判断启动页还是引导页打开页面问题,并提供一些代码示例。 方法一:使用 Vue 的 keep-alive 组件缓存页面 在需要判断启动页还是引导页打开的页面中,可以使用 Vue 的 keep-alive 组件缓存页面,以避免页面打开时出现一问题。 示例代码: ```html <template> <div> <!-- 使用 keep-alive 组件缓存页面 --> <keep-alive> <router-view></router-view> </keep-alive> </div> </template> ``` 方法二:使用 App.vue 中的 onLaunch 钩子函数 在 App.vue 中的 onLaunch 钩子函数中,可以判断启动页还是引导页后再跳转到相应的页面,以确保页面加载完全后再打开,避免一问题。 示例代码: ```js export default { onLaunch(options) { // 判断是否是第一次启动 const isFirstLaunch = !uni.getStorageSync('isFirstLaunch') // 如果是第一次启动,则跳转到引导页 if (isFirstLaunch) { uni.setStorageSync('isFirstLaunch', true) uni.navigateTo({ url: '/pages/guide/guide' }) } else { // 如果是第一次启动,则跳转到启动页 uni.navigateTo({ url: '/pages/start/start' }) } } } ``` 方法三:使用 uni-app 提供的页面栈管理函数 在需要判断启动页还是引导页打开的页面中,可以使用 uni.navigateTo 和 uni.redirectTo 函数,这两个函数可以保证页面加载完全后再打开,会出现一问题。 示例代码: ```js // 判断是否是第一次启动 const isFirstLaunch = !uni.getStorageSync('isFirstLaunch') // 如果是第一次启动,则跳转到引导页 if (isFirstLaunch) { uni.setStorageSync('isFirstLaunch', true) uni.navigateTo({ url: '/pages/guide/guide' }) } else { // 如果是第一次启动,则跳转到启动页 uni.redirectTo({ url: '/pages/start/start' }) } ``` 以上就是解决 uniapp 判断启动页还是引导页打开页面问题的三种方法,并提供了相应的代码示例。希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值