添加聊天框消息解析功能;优化请求头处理;更新部分 api base url

This commit is contained in:
2026-03-27 18:00:30 +08:00
parent 8713e5a468
commit a101e79750
11 changed files with 464 additions and 193 deletions
+46
View File
@@ -0,0 +1,46 @@
import { getAccessToken } from "@/lib/authToken";
import { useProjectStore } from "@/store/projectStore";
export type AuthHeaderMode = "include" | "omit";
export type ProjectHeaderMode = "auto" | "include" | "omit";
export interface AuthContextHeaderOptions {
authHeaderMode?: AuthHeaderMode;
projectHeaderMode?: ProjectHeaderMode;
}
const shouldIncludeProjectHeader = (
url: string,
projectHeaderMode: ProjectHeaderMode,
) => {
if (projectHeaderMode === "include") {
return true;
}
if (projectHeaderMode === "omit") {
return false;
}
return !url.includes("/api/v1/meta/projects");
};
export const applyAuthContextHeaders = async (
url: string,
headers: Headers,
options: AuthContextHeaderOptions = {},
) => {
const accessToken = await getAccessToken();
if (accessToken && options.authHeaderMode !== "omit") {
headers.set("Authorization", `Bearer ${accessToken}`);
}
const projectId = useProjectStore.getState().currentProjectId;
if (
projectId &&
shouldIncludeProjectHeader(url, options.projectHeaderMode ?? "auto")
) {
headers.set("X-Project-Id", projectId);
}
return headers;
};