refactor: support i18n

This commit is contained in:
mlogclub
2026-05-25 12:06:15 +08:00
parent 309ac1fe9e
commit 988f55c80d
179 changed files with 10968 additions and 3763 deletions
+6 -1
View File
@@ -1,4 +1,6 @@
import { expireSession, readSession } from "@/lib/auth"
import { readStoredLocale } from "@/i18n/config"
import { translateCurrentMessage } from "@/i18n/messages"
const API_BASE_URL =
process.env.NEXT_PUBLIC_API_BASE_URL?.trim() || ""
@@ -22,7 +24,7 @@ async function parseResult<T>(response: Response) {
if (payload.errorCode === 3000 || payload.errorCode === 3002) {
expireSession()
}
const error = new Error(payload.message || "请求失败")
const error = new Error(payload.message || translateCurrentMessage("api.requestFailed"))
;(error as Error & { errorCode?: number }).errorCode = payload.errorCode
throw error
}
@@ -49,6 +51,9 @@ export async function request<T>(
) {
authHeaders.set("Content-Type", "application/json")
}
const locale = readStoredLocale()
authHeaders.set("Accept-Language", locale)
authHeaders.set("X-Locale", locale)
const requestBaseUrl = baseUrl !== undefined ? baseUrl : API_BASE_URL
const response = await fetch(`${requestBaseUrl}${path}`, {