data() {
return {
bbbbbs: {
orderBy:'id desc',
pageNo:'1',
pageSize:'10',
export:'1'
},
} }
methods: {
exportList(){
const params = this.bbbbbs;
request({
url:'lit/protected/lit/platform_user/list',
method: 'get',
responseType: 'blob',
params
}).then((res) => {
let fileName = res.headers['content-disposition'].split('=')[1]
let objectUrl = URL.createObjectURL(new Blob([res.data]))
const link = document.createElement('a')
link.download = decodeURI(fileName)
link.href = objectUrl
link.click()
})
},
}

import axios from 'axios'
import { Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
// create an axios instance
const service = axios.create({
baseURL: process.env.BASE_API, // api 的 base_url
timeout: 15000 // request timeout
});
// request interceptor
service.interceptors.request.use(
config => {
// Do something before request is sent
if (store.getters.token) {
// 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
config.headers['Authorization'] = getToken();
}
return config;
},
error => {
// Do something with request
Promise.reject(error);
}
);
// response interceptor
service.interceptors.response.use(
// response => response.data,
/**
* 下面的注释为通过在response里,自定义code来标示请求状态
* 当code返回如下情况则说明权限有问题,登出并返回到登录页
* 如想通过 xmlhttprequest 来状态码标识 逻辑可写在下面error中
* 以下代码均为样例,请结合自生需求加以修改,若不需要,则可删除
*/
response => {
const res = response.data;
// 导出
const headers = response.headers;
if (headers['content-type'] === 'application/octet-stream' || headers['content-type'] === 'text/html;application/vnd.ms-excel') {
return response;
} else if (res.errCode !== '0000') {
// token过期或无效
if (res.errCode === 'AUTH1001' || res.errCode === 'AUTH1002' || res.errCode === 'AUTH1003') {
store.dispatch('FedLogOut').then(() => {
location.reload()
})
}
// 如果定义了异常处理回调,则直接执行定义的异常处理回调
if(response.config.errorCallback instanceof Function){
response.config.errorCallback(res);
return;
}
Message({
message: res.errMsg,
type: 'error',
duration: 5 * 1000
});
return Promise.reject('error');
} else {
// 后端会存在两种数据响应字段
const resData = res.datas;
return resData || res.data;
}
},
error => {
console.log('err' + error); // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
}
);
export default service