fix: 首次访问获取客户端默认语言/静态路由title
This commit is contained in:
@@ -82,6 +82,9 @@ type OptionsType = {
|
||||
signal?: AbortSignal;
|
||||
};
|
||||
|
||||
// 多语言处理
|
||||
const language = localGet(CACHE_LOCAL_I18N) || 'en_US';
|
||||
|
||||
// 兼容旧前端可改配置文件
|
||||
const baseUrl = import.meta.env.PROD
|
||||
? sessionGet('baseUrl') || import.meta.env.VITE_API_BASE_URL
|
||||
@@ -121,11 +124,7 @@ function beforeRequest(options: OptionsType): OptionsType | Promise<any> {
|
||||
}
|
||||
|
||||
// 客户端接受语言
|
||||
Reflect.set(
|
||||
options.headers,
|
||||
'Accept-Language',
|
||||
`${localGet(CACHE_LOCAL_I18N) || 'en_US'};q=0.9`
|
||||
);
|
||||
Reflect.set(options.headers, 'Accept-Language', `${language};q=0.9`);
|
||||
|
||||
// 是否需要设置 token
|
||||
const token = getToken();
|
||||
@@ -153,7 +152,7 @@ function beforeRequest(options: OptionsType): OptionsType | Promise<any> {
|
||||
requestObj.data === data &&
|
||||
requestObj.time - time < interval
|
||||
) {
|
||||
const message = RESULT_MSG_URL_RESUBMIT;
|
||||
const message = RESULT_MSG_URL_RESUBMIT[language];
|
||||
return Promise.resolve({
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: message,
|
||||
@@ -204,14 +203,14 @@ function interceptorResponse(res: ResultType): ResultType | Promise<any> {
|
||||
if (!Reflect.has(res, 'code')) {
|
||||
return Promise.resolve({
|
||||
code: RESULT_CODE_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS[language],
|
||||
data: res,
|
||||
});
|
||||
}
|
||||
if (Reflect.has(res, 'error')) {
|
||||
return Promise.resolve({
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: RESULT_MSG_ERROR,
|
||||
msg: RESULT_MSG_ERROR[language],
|
||||
data: res.error,
|
||||
});
|
||||
}
|
||||
@@ -291,7 +290,7 @@ export async function request(options: OptionsType): Promise<ResultType> {
|
||||
: await res.arrayBuffer();
|
||||
return {
|
||||
code: RESULT_CODE_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS[language],
|
||||
data: data,
|
||||
status: res.status,
|
||||
headers: res.headers,
|
||||
@@ -299,7 +298,7 @@ export async function request(options: OptionsType): Promise<ResultType> {
|
||||
default:
|
||||
return {
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: RESULT_MSG_NOT_TYPE,
|
||||
msg: RESULT_MSG_NOT_TYPE[language],
|
||||
};
|
||||
}
|
||||
} catch (error: any) {
|
||||
@@ -307,7 +306,7 @@ export async function request(options: OptionsType): Promise<ResultType> {
|
||||
if (error.name === 'AbortError') {
|
||||
return {
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: RESULT_MSG_TIMEOUT,
|
||||
msg: RESULT_MSG_TIMEOUT[language],
|
||||
};
|
||||
}
|
||||
throw error;
|
||||
@@ -326,21 +325,21 @@ function stateCode(res: Response) {
|
||||
if (res.status === 500) {
|
||||
return {
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: RESULT_MSG_SERVER_ERROR,
|
||||
msg: RESULT_MSG_SERVER_ERROR[language],
|
||||
};
|
||||
}
|
||||
// 上传文件成功无内容返回
|
||||
if (res.status === 204 && res.statusText === 'No Content') {
|
||||
return {
|
||||
code: RESULT_CODE_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS,
|
||||
msg: RESULT_MSG_SUCCESS[language],
|
||||
};
|
||||
}
|
||||
// 地址找不到
|
||||
if (res.status === 404 || res.status === 405) {
|
||||
return {
|
||||
code: RESULT_CODE_ERROR,
|
||||
msg: RESULT_MSG_URL_NOTFOUND,
|
||||
msg: RESULT_MSG_URL_NOTFOUND[language],
|
||||
};
|
||||
}
|
||||
// 身份授权
|
||||
|
||||
Reference in New Issue
Block a user