feat: 登陆后跳转位置增加iframe判断

This commit is contained in:
ZyGuo committed 2026-06-01 16:13:47 +08:00
1 parent 0922c8299f
commit 16adb90653
1 file changed
+12 -2
+12 -2
View File
@@ -11,6 +11,9 @@ import {
} from "@/core/page-layout/sidebar-enabled"; } from "@/core/page-layout/sidebar-enabled";
const DEFAULT_USERNAME = "guest"; const DEFAULT_USERNAME = "guest";
const IFRAME_LOGIN_SOURCE = "iframe";
const DEFAULT_REDIRECT_PATH = "/page/workspace/chats/new";
const IFRAME_REDIRECT_PATH = "/page/workspace/chats_iframe/new";
type LoginStatus = "loading" | "success" | "error"; type LoginStatus = "loading" | "success" | "error";
@@ -22,6 +25,13 @@ export default function LoginPage() {
() => isSidebarEnabledFromSearch(searchParams.toString()), () => isSidebarEnabledFromSearch(searchParams.toString()),
[searchParams], [searchParams],
); );
const redirectPath = useMemo(
() =>
searchParams.get("from") === IFRAME_LOGIN_SOURCE
? IFRAME_REDIRECT_PATH
: DEFAULT_REDIRECT_PATH,
[searchParams],
);
const resolvedUsername = useMemo(() => { const resolvedUsername = useMemo(() => {
const raw = username?.trim(); const raw = username?.trim();
return raw && raw.length > 0 ? raw : DEFAULT_USERNAME; return raw && raw.length > 0 ? raw : DEFAULT_USERNAME;
@@ -43,7 +53,7 @@ export default function LoginPage() {
setStoredAuth(auth); setStoredAuth(auth);
persistSidebarEnabled(sidebarEnabled); persistSidebarEnabled(sidebarEnabled);
setStatus("success"); setStatus("success");
router.replace("/page/workspace/chats/new"); router.replace(redirectPath);
} catch (error) { } catch (error) {
if (cancelled) { if (cancelled) {
return; return;
@@ -59,7 +69,7 @@ export default function LoginPage() {
return () => { return () => {
cancelled = true; cancelled = true;
}; };
}, [resolvedUsername, router, sidebarEnabled]); }, [redirectPath, resolvedUsername, router, sidebarEnabled]);
return ( return (
<div className="flex min-h-screen items-center justify-center bg-background px-6"> <div className="flex min-h-screen items-center justify-center bg-background px-6">