import Vue from 'vue';
import axios from 'axios';
import qs from 'querystring'
let isFilterApi = !(process.env.NODE_ENV === 'development');
let _axios = axios.create({
baseURL: '',
withCredentials:true,
timeout: 300000,
transformRequest: [function (data) {
return data
}],
transformResponse: [function (data) {
return data
}]
})
_axios.interceptors.request.use(
(config) => {
return config
},
error => {
Promise.reject(error)
}
);
_axios.interceptors.response.use(
(response) => response,
(error) => Promise.reject(error),
);
_axios.defaults.headers.common['Token'] = '1111'
function filterApi(url) {
url = isFilterApi? url:'/api'+url
return url
}
function _error(err){
switch (Number(err.response.status)) {
case 400://一般是前台参数格式有问题
Vue.prototype.$message({
type: 'warning',
showClose: true,
message: '请求无效!'
});
break;
case 404:
Vue.prototype.$message({
type: 'error',
showClose: true,
message: '未找到该接口'
});
break;
case 500:
Vue.prototype.$message({
type: 'error',
showClose: true,
message: '服务器异常',
});
break;
}
}
export const JsonPost = (url, params) => new Promise((resolve, reject) => {
url = filterApi(url)
_axios.defaults.headers.post['Content-Type'] = 'application/json; charset=UTF-8';
delete _axios.defaults.responseType
_axios.post(url, JSON.stringify(params)).then((res) => {
resolve(res.data);
}).catch((err) => {
_error(err)
reject(err.data);
});
});
export const FormDataPost = (url, params) => new Promise((resolve, reject) => {
url = filterApi(url)
_axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
delete _axios.defaults.responseType
_axios.post(url, qs.stringify(params)).then((res) => {
resolve(res.data);
}).catch((err) => {
_error(err)
reject(err.data);
});
});
export const FilePost = (url, params) => new Promise((resolve, reject) => {
url = filterApi(url)
_axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';
delete _axios.defaults.responseType
_axios.post(url, params).then((res) => {
resolve(res.data);
}).catch((err) => {
_error(err)
reject(err.data);
});
});
export const BlobPost = (url, params) => new Promise((resolve, reject) => {
url = filterApi(url)
_axios.defaults.headers.post['Content-Type'] = 'application/json; charset=UTF-8';
_axios.defaults.responseType = 'blob';
_axios.post(url, JSON.stringify(params)).then((res) => {
resolve(res.data);
}).catch((err) => {
_error(err)
reject(err.data);
});
});
export const get = (url, params) => new Promise((resolve, reject) => {
url = filterApi(url)
delete _axios.defaults.responseType
_axios.get(url, { params }).then((res) => {
resolve(res.data);
}).catch((err) => {
_error(err)
reject(err.data);
});
});
import { get, JsonPost, FormDataPost, FilePost, BlobPost } from '../http';
export const _JsonPost = (params = {}) => JsonPost('/sc-prevention/process/queryWorkOrderInfo', params);
export const _FormDataPost = (params = {}) => FormDataPost('/sc-prevention/process/queryWorkOrderInfo', params);
export const _FilePost = (params = {}) => FilePost('/sc-prevention/process/queryWorkOrderInfo', params);
export const _BlobPost = (params = {}) => BlobPost('/sc-prevention/process/queryWorkOrderInfo', params);
export const _get = (params = {}) => get('/sc-prevention/process/queryWorkOrderInfo', params);
import * as home from './home/index';
export {
home
}
import {home} from '../api/api_type2/index'
home._get({name:'测试',age:29}).then(res=>{
console.log(res)
}).catch(err=>{
alert('get请求失败')
})
home._JsonPost({name:'测试',age:29}).then(res=>{
})
home._FormDataPost({name:'测试',age:29}).then(res=>{
console.log(res)
})
home._FilePost({name:'测试',age:29}).then(res=>{
console.log(res)
})
home._BlobPost({name:'测试',age:29}).then(res=>{
console.log(res)
})
home._get({name:'测试',age:29}).then(res=>{
}).catch(err=>{
return home._JsonPost({name:'测试',age:29})
}).then(res=>{
}).catch(err=>{
return home._FormDataPost({name:'测试',age:29})
}).then(res=>{
}).catch(err=>{
return home._FilePost({name:'测试',age:29})
}).then(res=>{
}).catch(err=>{
return home._BlobPost({name:'测试',age:29})
})
Promise.all([home._get({name:'测试',age:29}),home._JsonPost({name:'测试',age:29})]).then(res=>{
}).catch(err=>{
console.log('all测试')
})
目录结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/9e8ffdea5a8f45349469ddc55f36f6ea.png#pic_center)