This commit is contained in:
hailin 2025-05-22 21:34:45 +08:00
parent 925cbf1fbc
commit 4b2b35377e
19 changed files with 78 additions and 58 deletions

View File

@ -31,54 +31,53 @@ export default async function Login({
const supabase = getSupabaseServerClient() const supabase = getSupabaseServerClient()
const session = (await supabase.auth.getSession()).data.session if (searchParams.cleaned !== "true") {
const session = (await supabase.auth.getSession()).data.session
console.log("[login page]Login session============================>", session) console.log("[login page]Login session============================>", session)
if (session) { if (session) {
const { data: homeWorkspace, error } = await supabase const { data: homeWorkspace, error } = await supabase
.from("workspaces") .from("workspaces")
.select("*") .select("*")
.eq("user_id", session.user.id) .eq("user_id", session.user.id)
.eq("is_home", true) .eq("is_home", true)
.maybeSingle(); .maybeSingle();
if (!homeWorkspace) { if (!homeWorkspace) {
// 获取 host 值,根据环境不同决定获取方式 // 获取 host 值,根据环境不同决定获取方式
let hosturl: string | undefined; let hosturl: string | undefined;
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
// 客户端环境下,使用 window.location.host // 客户端环境下,使用 window.location.host
console.log("客户端环境:使用 window.location.host 获取 host"); console.log("客户端环境:使用 window.location.host 获取 host");
hosturl = `http://${window.location.host}`; hosturl = `http://${window.location.host}`;
} else {
// 服务器端环境下,使用 next/headers 获取 host
const hostHeader = headers().get('host');
if (hostHeader) {
console.log("服务器端环境:使用 headers().get('host') 获取 host", hostHeader);
hosturl = `http://${hostHeader}`;
} else { } else {
console.log("服务器端环境:没有获取到 host从环境变量中获取 SUPABASE_URL", process.env.SUPABASE_URL); // 服务器端环境下,使用 next/headers 获取 host
hosturl = process.env.SUPABASE_URL; const hostHeader = headers().get('host');
if (hostHeader) {
console.log("服务器端环境:使用 headers().get('host') 获取 host", hostHeader);
hosturl = `http://${hostHeader}`;
} else {
console.log("服务器端环境:没有获取到 host从环境变量中获取 SUPABASE_URL", process.env.SUPABASE_URL);
hosturl = process.env.SUPABASE_URL;
}
}
console.log("最终的 hosturl 值:", hosturl);
if (hosturl) {
await fetch(`${hosturl}/api/clearcookies`, {
method: "POST",
});
} else {
console.error("Host URL is not available");
} }
}
console.log("最终的 hosturl 值:", hosturl);
if (hosturl) {
await fetch(`${hosturl}/api/clearcookies`, {
method: "POST",
});
} else {
console.error("Host URL is not available");
}
//return redirect(`/${localeString}`);
//return redirect(`/${localeString}/login`);
if (searchParams.cleaned !== "true") {
return redirect(`/${locale}/system/clearcookies-then-redirect`) return redirect(`/${locale}/system/clearcookies-then-redirect`)
}
else{
return redirect(`/${localeString}/${homeWorkspace!.id}/chat`);
} }
}
else{
return redirect(`/${localeString}/${homeWorkspace!.id}/chat`);
} }
} }

View File

@ -13,5 +13,9 @@ export default function ClearCookiesThenRedirect({ params }: { params: { locale:
}) })
}, []) }, [])
return null // 什么都不渲染 return (
<div className="flex items-center justify-center h-screen text-sm text-muted-foreground">
t("login.clearing")
</div>
)
} }

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "পাসওয়ার্ড রিসেট করতে ইমেইল চেক করুন", "checkEmailToReset": "পাসওয়ার্ড রিসেট করতে ইমেইল চেক করুন",
"signupNotAllowed": "ইমেইল {{email}} দিয়ে সাইন আপ করা অনুমোদিত নয়।", "signupNotAllowed": "ইমেইল {{email}} দিয়ে সাইন আপ করা অনুমোদিত নয়।",
"unexpectedError": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে", "unexpectedError": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে",
"invalidCredentials": "অবৈধ ইমেইল বা পাসওয়ার্ড।" "invalidCredentials": "অবৈধ ইমেইল বা পাসওয়ার্ড।",
"clearing": "লগইন অবস্থা মুছে ফেলা হচ্ছে..."
}, },
"chat": { "chat": {
"defaultChatTitle": "চ্যাট", "defaultChatTitle": "চ্যাট",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Überprüfe deine E-Mails, um das Passwort zurückzusetzen.", "checkEmailToReset": "Überprüfe deine E-Mails, um das Passwort zurückzusetzen.",
"signupNotAllowed": "Die E-Mail-Adresse {{email}} ist nicht zur Registrierung zugelassen.", "signupNotAllowed": "Die E-Mail-Adresse {{email}} ist nicht zur Registrierung zugelassen.",
"unexpectedError": "Ein unerwarteter Fehler ist aufgetreten.", "unexpectedError": "Ein unerwarteter Fehler ist aufgetreten.",
"invalidCredentials": "Ungültige E-Mail-Adresse oder ungültiges Passwort." "invalidCredentials": "Ungültige E-Mail-Adresse oder ungültiges Passwort.",
"clearing": "Anmeldestatus wird gelöscht..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chat", "defaultChatTitle": "Chat",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Check email to reset password", "checkEmailToReset": "Check email to reset password",
"signupNotAllowed": "Email {{email}} is not allowed to sign up.", "signupNotAllowed": "Email {{email}} is not allowed to sign up.",
"unexpectedError": "An unexpected error occurred", "unexpectedError": "An unexpected error occurred",
"invalidCredentials": "Invalid email or password." "invalidCredentials": "Invalid email or password.",
"clearing": "Clearing login state..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chat", "defaultChatTitle": "Chat",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Revisa tu correo para restablecer la contraseña.", "checkEmailToReset": "Revisa tu correo para restablecer la contraseña.",
"signupNotAllowed": "El correo {{email}} no está permitido para registrarse.", "signupNotAllowed": "El correo {{email}} no está permitido para registrarse.",
"unexpectedError": "Ocurrió un error inesperado.", "unexpectedError": "Ocurrió un error inesperado.",
"invalidCredentials": "Correo electrónico o contraseña inválidos." "invalidCredentials": "Correo electrónico o contraseña inválidos.",
"clearing": "Eliminando el estado de inicio de sesión..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chat", "defaultChatTitle": "Chat",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Vérifiez votre e-mail pour réinitialiser le mot de passe", "checkEmailToReset": "Vérifiez votre e-mail pour réinitialiser le mot de passe",
"signupNotAllowed": "Le-mail {{email}} nest pas autorisé à sinscrire.", "signupNotAllowed": "Le-mail {{email}} nest pas autorisé à sinscrire.",
"unexpectedError": "Une erreur inattendue sest produite", "unexpectedError": "Une erreur inattendue sest produite",
"invalidCredentials": "E-mail ou mot de passe invalide." "invalidCredentials": "E-mail ou mot de passe invalide.",
"clearing": "Suppression de l'état de connexion..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Discussion", "defaultChatTitle": "Discussion",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "בדוק את האימייל לאיפוס סיסמה", "checkEmailToReset": "בדוק את האימייל לאיפוס סיסמה",
"signupNotAllowed": "האימייל {{email}} אינו מורשה להירשם.", "signupNotAllowed": "האימייל {{email}} אינו מורשה להירשם.",
"unexpectedError": "אירעה שגיאה בלתי צפויה", "unexpectedError": "אירעה שגיאה בלתי צפויה",
"invalidCredentials": "אימייל או סיסמה לא נכונים." "invalidCredentials": "אימייל או סיסמה לא נכונים.",
"clearing": "מנקה את מצב ההתחברות..."
}, },
"chat": { "chat": {
"defaultChatTitle": "צ'אט", "defaultChatTitle": "צ'אט",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Periksa email untuk mengatur ulang kata sandi", "checkEmailToReset": "Periksa email untuk mengatur ulang kata sandi",
"signupNotAllowed": "Email {{email}} tidak diizinkan untuk mendaftar.", "signupNotAllowed": "Email {{email}} tidak diizinkan untuk mendaftar.",
"unexpectedError": "Terjadi kesalahan yang tidak terduga", "unexpectedError": "Terjadi kesalahan yang tidak terduga",
"invalidCredentials": "Email atau kata sandi salah." "invalidCredentials": "Email atau kata sandi salah.",
"clearing": "Menghapus status login..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Obrolan", "defaultChatTitle": "Obrolan",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Controlla la tua email per reimpostare la password", "checkEmailToReset": "Controlla la tua email per reimpostare la password",
"signupNotAllowed": "L'indirizzo email {{email}} non è autorizzato a registrarsi.", "signupNotAllowed": "L'indirizzo email {{email}} non è autorizzato a registrarsi.",
"unexpectedError": "Si è verificato un errore imprevisto", "unexpectedError": "Si è verificato un errore imprevisto",
"invalidCredentials": "Email o password non validi." "invalidCredentials": "Email o password non validi.",
"clearing": "Pulizia dello stato di accesso..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chat", "defaultChatTitle": "Chat",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "パスワードをリセットするにはメールを確認してください", "checkEmailToReset": "パスワードをリセットするにはメールを確認してください",
"signupNotAllowed": "メールアドレス {{email}} は登録できません。", "signupNotAllowed": "メールアドレス {{email}} は登録できません。",
"unexpectedError": "予期しないエラーが発生しました", "unexpectedError": "予期しないエラーが発生しました",
"invalidCredentials": "メールアドレスまたはパスワードが正しくありません。" "invalidCredentials": "メールアドレスまたはパスワードが正しくありません。",
"clearing": "ログイン状態をクリアしています..."
}, },
"chat": { "chat": {
"defaultChatTitle": "会話", "defaultChatTitle": "会話",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "비밀번호 재설정을 위해 이메일을 확인하세요.", "checkEmailToReset": "비밀번호 재설정을 위해 이메일을 확인하세요.",
"signupNotAllowed": "이메일 {{email}}은(는) 가입할 수 없습니다.", "signupNotAllowed": "이메일 {{email}}은(는) 가입할 수 없습니다.",
"unexpectedError": "예상치 못한 오류가 발생했습니다.", "unexpectedError": "예상치 못한 오류가 발생했습니다.",
"invalidCredentials": "이메일 또는 비밀번호가 올바르지 않습니다." "invalidCredentials": "이메일 또는 비밀번호가 올바르지 않습니다.",
"clearing": "로그인 상태를 정리하는 중..."
}, },
"chat": { "chat": {
"defaultChatTitle": "채팅", "defaultChatTitle": "채팅",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Verifique seu email para redefinir a senha", "checkEmailToReset": "Verifique seu email para redefinir a senha",
"signupNotAllowed": "O email {{email}} não está autorizado a se registrar.", "signupNotAllowed": "O email {{email}} não está autorizado a se registrar.",
"unexpectedError": "Ocorreu um erro inesperado", "unexpectedError": "Ocorreu um erro inesperado",
"invalidCredentials": "Email ou senha inválidos." "invalidCredentials": "Email ou senha inválidos.",
"clearing": "Limpando o estado de login..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chat", "defaultChatTitle": "Chat",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Проверьте почту для сброса пароля", "checkEmailToReset": "Проверьте почту для сброса пароля",
"signupNotAllowed": "Электронная почта {{email}} не разрешена для регистрации.", "signupNotAllowed": "Электронная почта {{email}} не разрешена для регистрации.",
"unexpectedError": "Произошла непредвиденная ошибка", "unexpectedError": "Произошла непредвиденная ошибка",
"invalidCredentials": "Неверный адрес эл. почты или пароль." "invalidCredentials": "Неверный адрес эл. почты или пароль.",
"clearing": "Очистка состояния входа..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Чат", "defaultChatTitle": "Чат",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "මුරපදය යළි පිහිටුවීමට ඊමේල් පරීක්ෂා කරන්න", "checkEmailToReset": "මුරපදය යළි පිහිටුවීමට ඊමේල් පරීක්ෂා කරන්න",
"signupNotAllowed": "{{email}} යන්න ලියාපදිංචි වීමට අවසර නැත.", "signupNotAllowed": "{{email}} යන්න ලියාපදිංචි වීමට අවසර නැත.",
"unexpectedError": "予期 නොකළ දෝෂයක් ඇතිවිය", "unexpectedError": "予期 නොකළ දෝෂයක් ඇතිවිය",
"invalidCredentials": "අවලංගු ඊමේල් හෝ මුරපදයක්." "invalidCredentials": "අවලංගු ඊමේල් හෝ මුරපදයක්.",
"clearing": "ඇතුල් වීමේ තත්වය මකාදමමින්..."
}, },
"chat": { "chat": {
"defaultChatTitle": "කතාබස්", "defaultChatTitle": "කතාබස්",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Kontrollera din e-post för att återställa lösenordet", "checkEmailToReset": "Kontrollera din e-post för att återställa lösenordet",
"signupNotAllowed": "E-postadressen {{email}} är inte tillåten för registrering.", "signupNotAllowed": "E-postadressen {{email}} är inte tillåten för registrering.",
"unexpectedError": "Ett oväntat fel inträffade", "unexpectedError": "Ett oväntat fel inträffade",
"invalidCredentials": "Ogiltig e-postadress eller lösenord." "invalidCredentials": "Ogiltig e-postadress eller lösenord.",
"clearing": "Rensar inloggningsstatus..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Chatt", "defaultChatTitle": "Chatt",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "పాస్వర్డ్ రీసెట్ చేయడానికి ఈమెయిల్ తనిఖీ చేయండి", "checkEmailToReset": "పాస్వర్డ్ రీసెట్ చేయడానికి ఈమెయిల్ తనిఖీ చేయండి",
"signupNotAllowed": "{{email}} చిరునామా నమోదు చేసుకోడానికి అనుమతించబడలేదు.", "signupNotAllowed": "{{email}} చిరునామా నమోదు చేసుకోడానికి అనుమతించబడలేదు.",
"unexpectedError": "అనుకోని లోపం సంభవించింది", "unexpectedError": "అనుకోని లోపం సంభవించింది",
"invalidCredentials": "చెల్లని ఈమెయిల్ లేదా పాస్వర్డ్." "invalidCredentials": "చెల్లని ఈమెయిల్ లేదా పాస్వర్డ్.",
"clearing": "లాగిన్ స్థితిని క్లియర్ చేస్తోంది..."
}, },
"chat": { "chat": {
"defaultChatTitle": "చాట్", "defaultChatTitle": "చాట్",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "Kiểm tra email để đặt lại mật khẩu", "checkEmailToReset": "Kiểm tra email để đặt lại mật khẩu",
"signupNotAllowed": "Email {{email}} không được phép đăng ký.", "signupNotAllowed": "Email {{email}} không được phép đăng ký.",
"unexpectedError": "Đã xảy ra lỗi không mong muốn", "unexpectedError": "Đã xảy ra lỗi không mong muốn",
"invalidCredentials": "Email hoặc mật khẩu không hợp lệ." "invalidCredentials": "Email hoặc mật khẩu không hợp lệ.",
"clearing": "Đang xóa trạng thái đăng nhập..."
}, },
"chat": { "chat": {
"defaultChatTitle": "Trò chuyện", "defaultChatTitle": "Trò chuyện",

View File

@ -60,7 +60,8 @@
"checkEmailToReset": "请检查邮箱以重置密码", "checkEmailToReset": "请检查邮箱以重置密码",
"signupNotAllowed": "邮箱 {{email}} 不允许注册。", "signupNotAllowed": "邮箱 {{email}} 不允许注册。",
"unexpectedError": "发生了未知错误", "unexpectedError": "发生了未知错误",
"invalidCredentials": "邮箱或密码错误。" "invalidCredentials": "邮箱或密码错误。",
"clearing": "正在清除登录状态..."
}, },
"chat": { "chat": {
"defaultChatTitle": "对话", "defaultChatTitle": "对话",