fix: 远端退出登录接口异常导致本地无法清理登录信息的问题

This commit is contained in:
hzm
2026-02-08 06:49:46 +08:00
parent 406f14150d
commit 4d4b931e30

View File

@@ -2563,22 +2563,18 @@ export default function HomePage() {
isLoggingOutRef.current = true;
try {
const { data: { session } } = await supabase.auth.getSession();
if (!session) {
await supabase.auth.signOut({ scope: 'local' });
setUserMenuOpen(false);
setUser(null);
return;
if (session) {
const { error } = await supabase.auth.signOut();
if (error && error.code !== 'session_not_found') {
throw error;
}
}
const { error } = await supabase.auth.signOut();
if (error?.code === 'session_not_found') {
await supabase.auth.signOut({ scope: 'local' });
} else if (error) {
throw error;
}
setUserMenuOpen(false);
setUser(null);
} catch (err) {
console.error('登出失败', err);
} finally {
try {
await supabase.auth.signOut({ scope: 'local' });
} catch { }
setUserMenuOpen(false);
setUser(null);
}