1、download.js
export default {
// 下载 Excel 方法
excel(data, fileName) {
this.download0(data, fileName, 'application/vnd.ms-excel');
},
// 下载 Word 方法
word(data, fileName) {
this.download0(data, fileName, 'application/msword');
},
// 下载 Zip 方法
zip(data, fileName) {
this.download0(data, fileName, 'application/zip');
},
// 下载 Html 方法
html(data, fileName) {
this.download0(data, fileName, 'text/html');
},
// 下载 Markdown 方法
markdown(data, fileName) {
this.download0(data, fileName, 'text/markdown');
},
download0(data, fileName, mineType) {
// 创建 blob
let blob = new Blob([data], {type: mineType});
// 创建 href 超链接,点击进行下载
window.URL = window.URL || window.webkitURL;
let href = URL.createObjectURL(blob);
let downA = document.createElement("a");
downA.href = href;
downA.download = fileName;
downA.click();
// 销毁超连接
window.URL.revokeObjectURL(href);
},
}
2、main.js全局挂载download方法
3、具体下载
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
// 执行导出
this.$modal.confirm('是否确认导出所有API 访问日志数据项?').then(() => {
this.exportLoading = true;
return exportApiAccessLogExcel(params);
}).then(response => {
this.$download.excel(response, 'API 访问日志.xls');
this.exportLoading = false;
}).catch(() => {});