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

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

所属分类:软件开发 来源: 丁老师原创 发布时间:2024-05-07 20:24 浏览: 4595 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)

这样就解决了。

相关文章

PHP提示Array and string ...

在使用PHP开发的程序时,突然遇到错误,查看错误日志发现提示:Array and string offset access syntax with curly braces is no longer supported,这是怎么回事呢?...

C++为什么不能在未命名的结构上调用成员函数...

int main() { auto hello= struct { int test() { return 1; } }().test(); }有初学C++的小伙伴提问,在运行C++代码时报错,错误提示如下:<source :2:...

Nginx环境下php下缓存问题的解决

nginx环境下php缓存问题的解决

bootstrap selectpicker...

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

推荐文章

Mysql 1267 Illegal mix...

这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。 但在使用视图查询时,比如select 'aaa' as type from xxx; select * from view where type=...

FastAdmin非菜单链接,跳转菜单页面的...

在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...

Hbuilder开发APP时,找不到真机的解...

正确的USB连线,其次打开开发者选项、USB调试,这些都是老生常谈,就不说了。在确保以上操作无误后,如果还找不到真机,关闭IDE,然后去adb的目录下,即HBuilderX\plugins\launcher\tools\adbs,把adb....

CI框架页面添加全局变量的方法

CI框架是一款很小却又非常强大的PHP程序框架,非常适合用来搭建中小型网站以及扩展程序。有同学问到,在使用CI框架时,比如要对全站的标题、公司信息、电话等设置一个全局变量,不用每个页面都写死,该怎么办呢?丁老师来教你:1.打开页面的控制器文...