This commit is contained in:
JIANG
2026-02-11 18:58:10 +08:00
parent 9d06226cb4
commit 66f2390078
13 changed files with 307 additions and 62 deletions
+20 -4
View File
@@ -1,6 +1,7 @@
import axios from "axios";
import { config } from "@config/config";
import { useProjectStore } from "@/store/projectStore";
import { getAccessToken } from "@/lib/authToken";
export const API_URL = process.env.NEXT_PUBLIC_API_URL || config.BACKEND_URL;
@@ -8,11 +9,26 @@ export const api = axios.create({
baseURL: API_URL,
});
api.interceptors.request.use((request) => {
const projectId = useProjectStore.getState().currentProjectId;
if (projectId) {
const isMetaProjectsRequest = (request: {
baseURL?: string;
url?: string;
}) => {
const url = `${request.baseURL ?? ""}${request.url ?? ""}`;
return url.includes("/api/v1/meta/projects");
};
api.interceptors.request.use(async (request) => {
const accessToken = await getAccessToken();
if (accessToken) {
request.headers = request.headers ?? {};
request.headers["X-Project-ID"] = projectId;
request.headers.Authorization = `Bearer ${accessToken}`;
}
const projectId = useProjectStore.getState().currentProjectId;
if (projectId && !isMetaProjectsRequest(request)) {
request.headers = request.headers ?? {};
request.headers["X-Project-Id"] = projectId;
}
return request;
});