diff --git a/src/services/authService.ts b/src/services/authService.ts index a6d3c91..09c02a1 100644 --- a/src/services/authService.ts +++ b/src/services/authService.ts @@ -141,7 +141,16 @@ export function getGitHubLoginUrl(state?: string): string { : '/api/v1'; console.log('[Auth] Generating GitHub URL with base:', baseUrl); - const url = new URL(`${baseUrl}/auth/github`); + + // 处理相对路径问题:URL构造函数依然需要完整的 base 才能处理相对路径 + let fullUrlString; + if (baseUrl.startsWith('/')) { + fullUrlString = `${window.location.origin}${baseUrl}/auth/github`; + } else { + fullUrlString = `${baseUrl}/auth/github`; + } + + const url = new URL(fullUrlString); if (state) { url.searchParams.append('state', state); }