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

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

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

这样就解决了。

相关文章

目前有可以替代JetBrains的AI ID...

目前AI应用飞速发展,国内外各大厂商都推出了AI IDE(用于编程开发的编辑器),比如Cursor、Trae、Qoder、Copliot等。但就我们常用的开发工具来说,比如JetBrains旗下的Intellij IDEA、Websto...

FastAdmin后台列表默认分页数量由10...

没那么多废话,直接上修改方法public\assets\js\require-table.jspageSize: Config.pagesize || localStorage.getItem("pagesize")...

微信小程序开发用Vue2和Vue3好?有什么...

有新入行同学向丁老师咨询,在使用Uniapp做微信小程序时,是选择Vue2还是Vue3呢?哪个开发微信小程序更好一点,两者有什么区别呢?今天丁老师给大家介绍一下。首先,我们来介绍一下Vue2和Vue3。Vue2和Vue3是Vue.js框...

微信企业付款到零钱开发

丁老师开发的微信企业付款功能,可以直接对接系统,在用户申请提现时由微信直接付款至个人的微信零钱账户

推荐文章

Mui的toast修改位置居中

mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式设置位置,具体方法如下:1.mui toast设置type为divmui.toast('hello', { type: 'd...

Tortoise Svn出现No Path ...

在日常开发过程中,突然发现svn无法提交和更新,出现“no path or pathfile specified on the command line”的错误,网上搜了一圈百度 google 以及stack overflow都没找到真正能...

微信小程序和APP有什么区别?到底该做哪个?

经常有新客户咨询丁老师,微信小程序和APP有什么区别呢?一般情况下来说应该做哪个?今天丁老师就这个问题做一下介绍。微信小程序和APP的区别微信小程序微信小程序微信平台运行,无需下载安装,用户通过微信搜索、扫码或者朋友分享就能直接使用,用完即...

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

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