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

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

所属分类:软件开发来源: 丁老师原创发布时间:2024-05-07 20:24IP属地: 深圳
点击阅读全文

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

相关文章

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

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

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

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

dedecms cookies泄漏导致SQL...

dedecmscookies泄漏导致SQL漏洞inc_archives_functions.php的解决方法

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

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

推荐文章

mysql 1267 Illegal mix...

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

composer self-update 更...

1.composer版本更新文档版本号:https://getcomposer.org/download中文网:https://docs.phpcomposer.com/03-cli.html#self-update英文网:https://...

pdf和图片怎么添加水印

pdf添加水印,可以使用专业的pdf工具,如AdobeAcrobat、福昕PDF阅读器等,支持文字和图片形式的添加水印,支持透明度设置、水印位置设置等。图片添加水印,可以使用photoshop软件,但是photoshop太大了,而且使用起来...

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

QQ咨询微信咨询