refactor: support i18n
This commit is contained in:
@@ -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}`, {
|
||||
|
||||
Reference in New Issue
Block a user