import axios from 'axios'; let downInstanceSet = axios.create({ baseURL: process.env.VUE_APP_BASE_URL, timeout: 60000, withCredentials: true, responseType: 'blob' }) /*为请求添加请求头中的token和请求所需参数userid*/ downInstanceSet.interceptors.request.use(config => { if (sessionStorage.token) { config.headers.Authorization = sessionStorage.getItem('token'); if (typeof (config.params) == "undefined") { config.params = {} } } return config;//赋值完后把config返回回去 }, error => { // 请求错误后把我们的error返回回去 return Promise.reject(error); }) //响应拦截器 downInstanceSet.interceptors.response.use( response => { let blob = new Blob([response.data], {type: "application/vnd.ms-excel"}); let downloadElement = document.createElement('a') let url = window.URL.createObjectURL(blob); downloadElement.href = url; downloadElement.download = decodeURI(response.headers.filename); //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(url); //释放blob对象 return true; }); export const downInstance=downInstanceSet;