From ba880dad9a5313a640a350f88ff1027a82bc7088 Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Tue, 31 Mar 2026 09:44:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E5=89=8D=E7=AB=AF=20A?= =?UTF-8?q?PI=20=E7=8E=AF=E5=A2=83=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.env.example | 1 - frontend/src/api/axios.ts | 5 +---- frontend/src/api/baseUrl.test.ts | 19 ------------------- frontend/src/api/baseUrl.ts | 12 ------------ 4 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 frontend/src/api/baseUrl.test.ts delete mode 100644 frontend/src/api/baseUrl.ts diff --git a/frontend/.env.example b/frontend/.env.example index 81f4a110..73a9682d 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -1,5 +1,4 @@ # Frontend feature flags and timeline overrides -VITE_API_BASE_URL= VITE_STARTUP_SUBMIT_ACCEPT_TIMEOUT_MONTHS=3 VITE_STARTUP_ACCEPT_TIMEOUT_MONTHS=3 VITE_STARTUP_ACCEPT_APPROVAL_TIMEOUT_MONTHS=6 diff --git a/frontend/src/api/axios.ts b/frontend/src/api/axios.ts index 0ae6aba3..e669ed03 100644 --- a/frontend/src/api/axios.ts +++ b/frontend/src/api/axios.ts @@ -7,12 +7,9 @@ import { useStudyStore } from "../store/study"; import { TEXT } from "../locales"; import { extendAccessToken, forceLogout, lockSession, markNetworkActive } from "../session/sessionManager"; import { useSessionStore } from "../store/session"; -import { resolveApiBaseUrl } from "./baseUrl"; - -const apiBaseUrl = resolveApiBaseUrl(import.meta.env.VITE_API_BASE_URL); const instance: AxiosInstance = axios.create({ - baseURL: apiBaseUrl, + baseURL: "/", timeout: 15000, }); diff --git a/frontend/src/api/baseUrl.test.ts b/frontend/src/api/baseUrl.test.ts deleted file mode 100644 index 521baee7..00000000 --- a/frontend/src/api/baseUrl.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { describe, expect, it } from "vitest"; -import { resolveApiBaseUrl } from "./baseUrl"; - -describe("resolveApiBaseUrl", () => { - it("defaults to same-origin root when no env override is set", () => { - expect(resolveApiBaseUrl(undefined)).toBe("/"); - expect(resolveApiBaseUrl("")).toBe("/"); - expect(resolveApiBaseUrl(" ")).toBe("/"); - }); - - it("preserves explicit root", () => { - expect(resolveApiBaseUrl("/")).toBe("/"); - }); - - it("trims whitespace and trailing slashes from absolute base urls", () => { - expect(resolveApiBaseUrl(" http://localhost:8000/ ")).toBe("http://localhost:8000"); - expect(resolveApiBaseUrl("https://api.example.com///")).toBe("https://api.example.com"); - }); -}); diff --git a/frontend/src/api/baseUrl.ts b/frontend/src/api/baseUrl.ts deleted file mode 100644 index 17657095..00000000 --- a/frontend/src/api/baseUrl.ts +++ /dev/null @@ -1,12 +0,0 @@ -const trimTrailingSlashes = (value: string): string => value.replace(/\/+$/, ""); - -export const resolveApiBaseUrl = (rawValue: string | undefined): string => { - const normalized = rawValue?.trim() ?? ""; - if (!normalized) { - return "/"; - } - if (normalized === "/") { - return "/"; - } - return trimTrailingSlashes(normalized); -};