fix: 远端退出登录接口异常导致本地无法清理登录信息的问题
This commit is contained in:
22
app/page.jsx
22
app/page.jsx
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user