fix(wxapp): 修复首页分享链接白屏问题

- 添加邀请关系处理的超时保护,避免长时间等待
- 优化 API调用流程,增加错误处理机制
- 改进页面加载逻辑,确保主要内容优先显示
- 新增失败重试计数,防止无限重试
- 清理邀请参数缓存,避免重复处理
This commit is contained in:
2025-09-01 20:40:08 +08:00
parent 7a7d8b4605
commit 2c31f2a6d7
6 changed files with 590 additions and 45 deletions

View File

@@ -82,18 +82,32 @@ function Home() {
})
// 检查是否有待处理的邀请关系
// 检查是否有待处理的邀请关系 - 异步处理,不阻塞页面加载
if (hasPendingInvite()) {
console.log('检测到待处理的邀请关系')
// 延迟处理,确保用户信息已加载
// 延迟处理,确保用户信息已加载,并设置超时保护
setTimeout(async () => {
try {
const success = await checkAndHandleInviteRelation()
// 设置超时保护,避免长时间等待
const timeoutPromise = new Promise((_, reject) =>
setTimeout(() => reject(new Error('邀请关系处理超时')), 8000)
);
const invitePromise = checkAndHandleInviteRelation();
const success = await Promise.race([invitePromise, timeoutPromise]);
if (success) {
console.log('首页邀请关系处理成功')
}
} catch (error) {
console.error('首页邀请关系处理失败:', error)
// 邀请关系处理失败不应该影响页面正常显示
// 可以选择清除邀请参数,避免重复尝试
const errorMessage = error instanceof Error ? error.message : String(error)
if (errorMessage?.includes('超时')) {
console.log('邀请关系处理超时,清除邀请参数')
// 可以选择清除邀请参数或稍后重试
}
}
}, 2000)
}