Vue axios 封装
request.js文件
import axios from 'axios'
import { Message } from 'element-ui'
const headers = {
'Content-type': 'application/json;charset-UTF-8'
}
const Axios = axios.create({
timeout: 30000,
withCredentials: true,
headers
})
Axios.interceptors.response.use(
response => {
if (response.data.code === 400002) {
Message({
type: 'error',
message: response.data.message
})
}
if (response.data.code !== 0) {
Message({
type: 'error',
message: response.data.message
})
return Promise.reject(response.data)
}
return response.data
},
error => {
const msg = error.toString()
const url = error.request.responseURL
Message({ type: 'error', message: `${msg} ${url}` })
return Promise.reject(error)
}
)
export const $http = Axios
export default {
install (Vue, Option) {
Object.defineProperty(Vue.prototype, '$http', { value: Axios })
}
}

浙公网安备 33010602011771号