import axios from 'axios'
import $store from '@/store'
import __cancelaxios from '取消请求接口文件'
const Cancel = axios.CancelToken;
const service = axios.create({
baseURL: '',
withCredentials: true,
timeout: 30000
})
service.interceptors.request.use(config => {
config.headers['Content-Type'] = 'application/json';
if (!config.noToken) {
config.headers.token = $store.state.user.token
config.cancelToken = new Cancel(cb => __cancelaxios(config.key, cb));
}
return config
}, error => {
return Promise.reject(error)
})
service.interceptors.response.use(async (response) => {
const r1 = response.data
return r1
}, error => {
// error.code === 'ECONNABORTED' 网络超时
// error.code === 'ERR_CANCELED' 取消请求
return error
})
export default service
axios二次封装
最新推荐文章于 2024-07-20 18:16:53 发布