mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-05-12 02:56:13 +08:00
chore: move Auto_Bangumi_WebUI -> Auto_Bangumi_WebUI/webui/, prepare for merge into AutoBangumi repo
This commit is contained in:
51
webui/src/utils/axios.ts
Normal file
51
webui/src/utils/axios.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import Axios from 'axios';
|
||||
import type { ApiError } from '#/api';
|
||||
|
||||
export const axios = Axios.create();
|
||||
|
||||
axios.interceptors.request.use((config) => {
|
||||
const { auth } = useAuth();
|
||||
|
||||
if (auth.value !== '' && config.headers) {
|
||||
config.headers.Authorization = auth.value;
|
||||
}
|
||||
|
||||
return config;
|
||||
});
|
||||
|
||||
axios.interceptors.response.use(
|
||||
(res) => {
|
||||
return res;
|
||||
},
|
||||
(err) => {
|
||||
const status = err.response.status as ApiError['status'];
|
||||
const detail = (err.response.data.detail ?? '') as ApiError['detail'];
|
||||
const msg = (err.response.data.msg ?? '') as ApiError['msg'];
|
||||
|
||||
const error = {
|
||||
status,
|
||||
detail,
|
||||
msg,
|
||||
};
|
||||
|
||||
const message = useMessage();
|
||||
|
||||
/** token 过期 */
|
||||
if (error.status === 401) {
|
||||
const { auth } = useAuth();
|
||||
auth.value = '';
|
||||
}
|
||||
|
||||
/** 执行失败 */
|
||||
if (error.status === 406) {
|
||||
message.error(error.msg);
|
||||
}
|
||||
|
||||
if (error.status === 500) {
|
||||
const msg = error.detail ? error.detail : 'Request Error!';
|
||||
message.error(msg);
|
||||
}
|
||||
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user