ball_admin/src/service/base.ts

99 lines
2.6 KiB
TypeScript

import store from "@/store";
import Config from "@/util/config";
import axios, { AxiosResponse } from "axios";
// 添加请求拦截器
axios.defaults.headers.common["Content-Type"] = "application/json; charset=utf8";
axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
axios.interceptors.request.use((config) => {
config.baseURL = `${Config.baseUrl}`;
config.timeout = 50000;
let token = window.localStorage.getItem("token")
config.headers.Authorization = token ?? "1"
return config;
}, (error) => {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use((res: AxiosResponse) => {
if (res.data?.status === 401) {
store.usrStore.openLoginDilog()
store.usrStore.logOut()
window.location.href = '#/login'
}
return res;
}, (err) => {
if (err.status === 401) {
store.usrStore.openLoginDilog()
store.usrStore.logOut()
window.location.href = '#/login'
}
return Promise.reject(err);
});
class BaseHttp {
async gets(url: string, params: any) {
let res = await axios({
method: 'get',
url: url,
headers: {
"token": window.localStorage.getItem("video-token"),
'Content-Type': 'application/json; charset=utf-8'
},
params
});
return res.data;
};
async get(url: string, params: any) {
let res = await axios({
method: 'get',
url: url,
params
});
return res.data;
};
async post(url: string, params: any) {
let res = await axios({
method: 'post',
url: url,
data: params
});
return res.data;
};
async forms(url: string, params: any) {
let res = await axios({
method: 'post',
url: url,
params: params
});
return res.data;
};
async upload(url: string, params: any) {
let res = await axios({
method: 'post',
url: url,
data: params
});
return res.data;
};
async put(url: string, params: any) {
let res = await axios({
method: 'put',
url: url,
data: params
});
return res.data;
};
async delete(url: string, params: any) {
let res = await axios({
method: 'delete',
url: url,
params
})
return res.data;
};
}
// eslint-disable-next-line import/no-anonymous-default-export
export default new BaseHttp()