基于axios封装
创建js文件
import axios from "axios";
import { baseURL } from '../utils/config.js' //请求的地址
if (process.env.NODE_ENV === 'development') {
baseURL;
} else {
baseURL;
}
//创建自定义axios对象
const instance = axios.create({
baseURL,
timeout: 30000,
})
// 增加请求拦截器
instance.interceptors.request.use(
config => {
// console.group('本次请求的地址为:', config.url)
// 给headers添加token属性
if (sessionStorage.getItem('Token')) {
config.headers.token = sessionStorage.getItem('Token');
}
// alert('解决');
// alert(JSON.stringify(config))
// if (store.state.meteoToken) {
// config.headers.Authorization = store.state.meteoToken;
// }
return config
},
error => {
// loadingCount = 0;
// if (loadingInstance) {
// loadingInstance.close();
// }
// alert('这里写警示框弹出的内容');
return error;
}
)
//暴露get
export function get (url, params = null) {
return new Promise((resolve, reject) => {
instance.get(url, {
params,
}).then(res => {
resolve(res.data);
}).catch(err => {
reject(err);
});
})
}
//暴露post
export function post (url, params, isFile = false) {
let data = params;
//处理请求头
let config = {
Headers: { "Content-Type": "application/json" }
}
//处理文件
if (isFile) {
data = new FormData();
for (let i in params) {
data.append(i, params[i])
}
//处理有文件时请求头
config = {
Headers: {
"Content-Type": "multiple/form-data"
}
}
}
// alert('ewuhshgjsnfsj');
return new Promise((resolve, reject) => {
instance.post(url, data, config).then(res => {
resolve(res.data);
}).catch(err => {
// alert(err)
reject(err)
})
})
}
封装之后可以直接引用该js文件中的get、post