首页 > 原创文章 > 软件开发 > 查看文章

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

所属分类:软件开发 来源: 丁老师原创 发布时间:2024-05-07 20:24 浏览: 4745 IP属地: 深圳
微信小程序开发

在使用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)

这样就解决了。

相关文章

Jeecg启动时org.springfram...

错误代码:[main] ERROR org.springframework.boot.SpringApplication:818 - Application run failed org.springframework.beans.fa...

Mysql导入数据库时出现Unknown c...

有同学提问,在使用mysql导入数据库时,出现了Unknown collation: 'utf8mb4_0900_ai_ci'的错误,是怎么回事呢?其实这是因为,导出数据时,用的是mysql高版本的数据库,一般来说是8....

安装fastadmin提示“你所浏览的页面暂...

安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“...

bootstrap selectpicker...

selectpicker组件,广泛应用于基于bootstrap的框架中,比如fastadmin框架等。在使用时,经常有同学问到,在对select进行操作后,比如添加和删除option,但是select没有更新,这是怎么回事呢?请看代码:...

推荐文章

VideoJs宽度高度自适应100%的方法

videojs是一款非常不错的html video播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,vide...

IDEA IDE换行自动显示的}括号如何去掉

在使用idea旗下的产品,如intellij idea,php storm,web storm时,有的时候编辑前端页面JS,在换行时经常会自动出现个}大括号,这一点程序不是很智能,其实后边都已经有括号了。比如下图这样:那么如何解决这个问题呢...

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...

Uniapp开发微信小程序怎么模拟位置?

废话不多说,直接上货。在微信开发者工具调试栏,找到Sensor(传感器)。Geolocation,勾选启用,下边输入经纬度即可!