|
|
import axios from "axios";
|
|
|
import router from "../router/router.js";
|
|
|
import {ElMessage} from "element-plus";
|
|
|
|
|
|
// axios.defaults.staticBaseURL = '../'
|
|
|
|
|
|
//axios.defaults.baseURL = 'http://' + window.location.host //正式
|
|
|
axios.defaults.baseURL = 'http://' + window.location.hostname + ':9004' //测试
|
|
|
|
|
|
//post请求头
|
|
|
//axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8";
|
|
|
|
|
|
//后端用@RequestBody 接收,那么只支持这种格式
|
|
|
axios.defaults.headers.post["Content-Type"] = "application/json;charset=UTF-8";
|
|
|
|
|
|
// 表示跨域请求时是否需要使用凭证 允许跨域携带cookie信息
|
|
|
axios.defaults.withCredentials = true;
|
|
|
axios.defaults.changeOrigin = true;
|
|
|
// 允许跨域
|
|
|
axios.defaults.headers.post["Access-Control-Allow-Origin-Type"] = "*";
|
|
|
|
|
|
//设置超时
|
|
|
axios.defaults.timeout = 150000;
|
|
|
// 请求拦截器
|
|
|
axios.interceptors.request.use(
|
|
|
config => {
|
|
|
let token = localStorage.getItem('token');
|
|
|
// const token = "test";
|
|
|
if (token == null) {
|
|
|
/* try {
|
|
|
window.parent.toLogin()
|
|
|
} catch (e) {
|
|
|
router.push("/dist/login")
|
|
|
}
|
|
|
ElMessage.error('请登录!')
|
|
|
return;*/
|
|
|
token = "test";
|
|
|
}
|
|
|
token && (config.headers.token = token)
|
|
|
return config
|
|
|
},
|
|
|
error => {
|
|
|
return Promise.error(error)
|
|
|
})
|
|
|
|
|
|
axios.interceptors.response.use(
|
|
|
response => {
|
|
|
if (response.status == 200) {
|
|
|
/* if (response.headers.token != null && response.headers.token != '') {
|
|
|
localStorage.setItem('token', response.headers.token)
|
|
|
}*/
|
|
|
return Promise.resolve(response);
|
|
|
} else {
|
|
|
return Promise.reject(response);
|
|
|
}
|
|
|
},
|
|
|
error => {
|
|
|
// status =-1 为后台判断ssession失效是token无法获取时的错误码
|
|
|
if (error != null && error.response.data.status == -1) {
|
|
|
try {
|
|
|
window.parent.toLogin()
|
|
|
} catch (e) {
|
|
|
router.push("/dist/login")
|
|
|
}
|
|
|
ElMessage.error('登陆超时请重新登录!')
|
|
|
} else {
|
|
|
alert(JSON.stringify(error), '请求异常', {
|
|
|
confirmButtonText: '确定',
|
|
|
callback: (action) => {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
export default {
|
|
|
/**
|
|
|
* @param {String} url
|
|
|
* @param {Object} data
|
|
|
* @param {responseType} responseTypeParam
|
|
|
* @returns Promise
|
|
|
*/
|
|
|
post(url, data,responseTypeParam) {
|
|
|
if (data == null) {
|
|
|
data = {};
|
|
|
}
|
|
|
return new Promise((resolve, reject, responseType) => {
|
|
|
axios({
|
|
|
method: 'post',
|
|
|
url,
|
|
|
data: data,
|
|
|
crossDomain: true,
|
|
|
// headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
|
|
|
//默认json格式,如果是下载文件,需要传 responseType:'blob'
|
|
|
responseType: (responseTypeParam == null || responseTypeParam == '' || responseTypeParam == "") ? 'json' : responseTypeParam
|
|
|
})
|
|
|
.then(res => {
|
|
|
resolve(res.data)
|
|
|
})
|
|
|
.catch(err => {
|
|
|
reject(err)
|
|
|
});
|
|
|
})
|
|
|
},
|
|
|
get(url, data, inResponseType) {
|
|
|
return new Promise((resolve, reject, responseType) => {
|
|
|
axios({
|
|
|
method: 'get',
|
|
|
url,
|
|
|
params: data,
|
|
|
crossDomain: true,
|
|
|
headers: {
|
|
|
Accept: 'application/json', 'Content-Type': 'application/json; charset=utf-8',
|
|
|
withCredentials: true,
|
|
|
},
|
|
|
//默认json格式,如果是下载文件,需要传 responseType:'blob'
|
|
|
responseType: (inResponseType == null || inResponseType == '') ? 'json' : inResponseType
|
|
|
})
|
|
|
.then(res => {
|
|
|
resolve(res)
|
|
|
})
|
|
|
.catch(err => {
|
|
|
reject(err)
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
download(url, data, showProgress) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
axios({
|
|
|
method: 'get',
|
|
|
url,
|
|
|
params: data,
|
|
|
crossDomain: true,
|
|
|
headers: {
|
|
|
Accept: 'application/json', 'Content-Type': 'application/json; charset=utf-8',
|
|
|
withCredentials: true,
|
|
|
},
|
|
|
responseType: 'blob',
|
|
|
onDownloadProgress: function (progressEvent) {
|
|
|
if (showProgress != null) {
|
|
|
showProgress(progressEvent)
|
|
|
}
|
|
|
},
|
|
|
})
|
|
|
.then(res => {
|
|
|
resolve(res)
|
|
|
})
|
|
|
.catch(err => {
|
|
|
reject(err)
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
}; |