2025-03-05更新:
早上一来发现问题又出现了;人都裂开了;
然后开始怀疑周末点了个开发者工具的版本更新,是不是跟新版有关。
然后又去官网(微信开发者工具(稳定版 Stable Build)下载地址与更新日志 | 微信开放文档)找老一点的版本,重新下回1.06.2306010的稍老版,然后到现在就没再复现过这个问题。。。(有点想骂人!),建议各位友友关闭自动更新:
-----------------------------------
2023-03-04遇到如下问题:
页面清除所有缓存后进入小程序首页,首页会调用多个基础接口,每个接口后台接口返回报文需要重新登录,自动跳转user-type页选择身份信息,同时user-type页又根据逻辑判断自动跳转选择小区页(area),此时因为多个跳转同时渲染紧张页面出现白屏、且控制台不报错。
↓接口报文登陆过期会自动跳转/user-type页
if (res.data.status === 0) {
return resolve(res.data)
}
else if (res.data.status === 1000) {
if (res.data.message == '登陆过期,请退出重新登陆') {
uni.removeStorageSync('token');
}
uni.navigateTo({
url: "/pages/user/user-type/user-type"
})
}
↓页面无id时又会跳转/area页面
mounted() {
if (uni.getStorageSync('cid') !== '') {
// --
} else {
// 无cid会跳转
uni.navigateTo({
url: '/pages/area/area'
});
}
},
解决方案:
方案一:进入首页调接口之前加一些可靠数据判定等,改掉多个跳转同时触发...
方案二:给第二个跳转加个setTimeout
setTimeout(function() {
uni.navigateTo({
url: '/pages/area/area'
});
}, 500);
方案三:不自动跳转小区,手动触发
其他方案:各位大佬自行补充
其他辅助解决:pages.json页面配路由时,上述两个页面的路由位置稍微往后放一放。。。
总结:白屏不报错检查了好久哪里问题还以为页面哪里写的有bug。写自动跳转时要避免多个跳转同时并行,或是第二个跳转稍加延时。。。(页面渲染和加载逻辑总是码农必踩的坑,找到问题之前焦头烂额,找到问题之后:“就这,原来你小子!TmT”)
其他博主解决白屏问题:
微信小程序uniapp出现白屏怎么解决(总集)_uniapp白屏-CSDN博客小程序 进入详情页面进入第一次白屏,推出再进正常。_小程序优化页面白屏一下后又恢复了-CSDN博客