Files
ClassContent/历届学生/吴欣阳/项目开发/上课项目/vue管理后台/src/http/index.js
2024-09-27 02:06:13 +08:00

61 lines
1.5 KiB
JavaScript

import axios from "axios";
import config from "@/config"
export default class http {
constructor() {
this.instance = axios.create({
baseURL: config.checkUrl(),
timeout: 3000,
headers: {'X-Custom-Header': 'foobar'}
});
this.interceptors()
}
async get(params) {
return await this.instance.get(params.url, {
params: params.data,
headers: Object.assign({
token: localStorage.getItem("token"),
"Content-Type": "application/json;"
}, params.headers)
})
}
async post(params) {
return await this.instance.post(params.url, params.data, {
headers: Object.assign({
token: localStorage.getItem("token"),
"Content-Type": "application/json;"
}, params.headers)
})
}
interceptors() {
// 添加请求拦截器
this.instance.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
this.instance.interceptors.response.use(function (response) {
// 对响应数据做点什么
switch (response.data.status) {
case 200:
return response.data.result
break;
case 404:
throw new Error(response.data.msg);
break;
}
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});
}
}