点击查看代码
function getStorage(key) {
return new Promise((resolve, reject) => {
uni.getStorage({
key: key,
success: (res) => {
resolve(res.data);
},
fail: (err) => {
reject(null); // 修改这里,如果失败了,返回null
}
});
});
}
onShow(async (e) => {
try {
// 使用Promise.all同时获取info和yjtoken
const [info, yjtoken] = await Promise.all([
getStorage('info'),
getStorage('yjtoken')
]);
// 只在这里设置loginShow.value的值,这样就可以避免先设为true
if (info && yjtoken) {
app.globalData.info = info;
interInfo.value = info;
loginShow.value = false; // 如果都有值,不显示登录
} else {
loginShow.value = true; // 如果任何一个没有值,显示登录
}
} catch (error) {
console.error('Error getting storage items:', error);
// 出错时,可能需要显示登录,也可能需要其他错误处理
loginShow.value = true;
}
});