86 lines
2.4 KiB
JavaScript
86 lines
2.4 KiB
JavaScript
import axios from 'axios'
|
||
import { Message, Loading } from 'element-ui'
|
||
import Vue from 'vue'
|
||
// const id = Loading.service({
|
||
// target: document.querySelector('.appamin'),
|
||
// background: 'rgba(255, 255, 255, 0.1)',
|
||
// spinner: 'el-icon-loading',
|
||
// text: '请求加载中。。。'
|
||
// })
|
||
// id.close()
|
||
// import store from '@/store'
|
||
// import { getToken } from '@/utils/auth'
|
||
// import errorCode from '@/utils/errorCode'
|
||
|
||
// axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
|
||
// axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
|
||
|
||
// 创建axios实例
|
||
const service = axios.create({
|
||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||
// baseURL: process.env.VUE_APP_BASE_API,
|
||
// 超时
|
||
timeout: 1500000
|
||
})
|
||
|
||
const options = {
|
||
fullscreen: true,
|
||
target: document.querySelector('.appamin'),
|
||
background: 'rgba(255, 255, 255, 0.8)',
|
||
spinner: 'el-icon-loading',
|
||
text: '数据加载中'}
|
||
|
||
// request拦截器
|
||
service.interceptors.request.use(config => {
|
||
console.log(`request.config=>`, config)
|
||
Loading.service(options)
|
||
// 是否需要设置 token
|
||
// const isToken = (config.headers || {}).isToken === false
|
||
// if (getToken() && !isToken) {
|
||
// config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
||
// }
|
||
console.log('Vue: ', Vue)
|
||
config.headers['token'] = Vue.cookie.get('token') || ''
|
||
return config
|
||
}, error => {
|
||
console.log(error)
|
||
Promise.reject(error)
|
||
})
|
||
|
||
// 响应拦截器
|
||
service.interceptors.response.use(res => {
|
||
console.log(`response.res=>`, res)
|
||
const id = setTimeout(() => {
|
||
Loading.service(options).close()
|
||
clearTimeout(id)
|
||
}, 300)
|
||
if (res.config.responseType === 'blob') {
|
||
return res
|
||
}
|
||
return res.data
|
||
},
|
||
error => {
|
||
const id = setTimeout(() => {
|
||
Loading.service(options).close()
|
||
clearTimeout(id)
|
||
}, 300)
|
||
console.log('err' + error)
|
||
let { message } = error
|
||
if (message === 'Network Error') {
|
||
message = '后端接口连接异常'
|
||
} else if (message.includes('timeout')) {
|
||
message = '系统接口请求超时'
|
||
} else if (message.includes('Request failed with status code')) {
|
||
message = '系统接口' + message.substr(message.length - 3) + '异常'
|
||
}
|
||
Message({
|
||
message: message,
|
||
type: 'error',
|
||
duration: 5 * 1000
|
||
})
|
||
return Promise.reject(error)
|
||
}
|
||
)
|
||
|
||
export default service
|