首页 > 文章列表 > 相关知识 > 查看文章

uniapp开发小程序和app时,根据登录状态判断首页onlaunch失效方法解决

所属分类:相关知识 来源: 丁老师原创 更新时间:2024-05-07 20:24

在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显示首页还是跳转登录页的功能。此功能在app.vue的onlaunch方法中定义,方法如下:

onLaunch: function() {
	const _user=uni.getStorageInfo('user');
	if(_user){
		//已登录,默认首页,不处理
		// #ifdef APP-PLUS
			plus.navigator.closeSplashscreen();
		// #endif
	}
	else{
		//未登录,跳转到登录页
		uni.reLaunch({
			url:'/pages/login',
			success() {
				// #ifdef APP-PLUS
					plus.navigator.closeSplashscreen();
				// #endif
			}
		});
	}
},

但是在测试中发现,当用户未登录时,app/小程序没有跳转到login页,而是出现了空白,这是怎么回事呢?

经过丁老师不断的研究发现,这是uniapp的一个bug,系统在onLaunch的时候,同步reLaunch导致了系统出错。
解决办法,增加一个延时为0的timeout即可,代码如下:

setTimeout(() => {
	uni.reLaunch({
		url:'/pages/login'
	});
},0)

这样就解决了。

dls6.jpg

相关文章

丁老师淘宝采集插件demo

丁老师淘宝采集插件demo

composer更新指定包

composer更新指定包的命令composerrequirealibabacloud/dy...

ecshop微信文章采集插件下载

适用于ecshop的微信文章采集插件包

CSS常用字体

1.字体列表及引用链接鸿蒙字体-B站400 字重 CSS://s1.hdslb.com/bf...

推荐文章

网络产品营销有哪些好的方法?

现在的市场营销,基本上网络营销是直接、快速、精准、有效的通道,一款优秀的产品,接合网络和线下...

bt宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curlhttp:/...

mysql导入文件,source命令/php...

用phpmyadmin导入大数据库文件时,容易502badgateway,可以直接在linu...

百度编辑器ueditor自动添加p标签换行的...

在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,...