import router from '@/router';
|
import axios from 'axios'
|
import store from '@/store';
|
|
import {
|
Message
|
} from 'element-ui'
|
const service = axios.create({
|
baseURL: `http://192.168.110.34:9090`,
|
timeout: 30000, // request timeout
|
})
|
|
// 请求拦截
|
service.interceptors.request.use(
|
config => {
|
let token = localStorage.getItem('token');
|
if (token) {
|
config.headers.Authorization = token;
|
}
|
// get
|
if (config.method == 'get') {
|
if (!config.params) config.params = {};
|
config.params = {
|
...config.params,
|
}
|
}
|
if (config.method == 'post') {
|
// 文件上传
|
if (config?.data?.blob) {
|
const formData = new FormData();
|
formData.append('file', config.data.blob);
|
config.headers['Content-Type'] = 'multipart/form-data; boundary=----WebKitFormBoundaryfJ7Q1AjuTNDYAaad';
|
config.data = formData
|
return config
|
}
|
// 普通post
|
if (!config.data) config.data = {};
|
config.data = {
|
...config.data,
|
}
|
}
|
return config
|
},
|
error => {
|
return Promise.reject(error)
|
}
|
)
|
|
// 响应拦截
|
service.interceptors.response.use(
|
response => {
|
return new Promise((resolve, reject) => {
|
if (!response) {
|
reject(new Error('请求超时'))
|
}
|
const res = response;
|
if (res.status === 200) {
|
resolve(res.data)
|
} else {
|
Message({
|
iconClass: " ",
|
customClass: "el-message--error",
|
message: res.data.msg || 'Error',
|
type: 'error',
|
duration: 1500,
|
center: true
|
})
|
reject(res.data)
|
}
|
})
|
},
|
error => {
|
Message({
|
iconClass: " ",
|
customClass: "el-message--error",
|
message: error.message,
|
type: 'error',
|
duration: 1500,
|
center: true
|
})
|
return Promise.reject(error)
|
}
|
)
|
|
export default service
|