在使用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)这样就解决了。
现在用Uniapp做APP/小程序,是很快速、很成熟的方案了,除非是要求特别挑剔的项目,否则一般不会用Android/iOS原生开发。除了Uniapp,还有Taro、Rax、Flutter等工具,都是可以实现一套代码,多终端应用的生成。...
在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=...
这个时候可以用到live方法
最近有读者来函咨询,dedecms在上传图片时提示“Upload filetype not allow”,怎么也上传不了。丁老师在百度查询了后,发现问题的根本原因是php没有上传权限的原因造成的,一般来说是php的临时上传目录,没有写权...
现在微信支付已经超越支付宝,成为中国最广泛的在线支付方式。作为互联网电子商务服务商,如何开通对接微信支付?如何使用微信支付呢?丁老师整理一篇微信支付常见的问题解答。一、如何开通微信支付?微信支付可以在微信支付官网(https://pay.w...
在使用python3.12时突然遇到提示windows No module named distutils,研究了一下,把解决办法分享出来。1.安装 setuptools,它现在也提供 distutils;2.从第三方源(如系统软件包)载入...
宝塔系统相关问题解决方法
安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...