diff --git a/src/plugins/download.ts b/src/plugins/download.ts index e1c4414..c6c8521 100644 --- a/src/plugins/download.ts +++ b/src/plugins/download.ts @@ -34,21 +34,29 @@ export default { }, async zip(url: string, name: string) { url = baseURL + url; - const res = await axios({ - method: 'get', - url: url, - responseType: 'blob', - headers: { - Authorization: 'Bearer ' + getToken(), - datasource: localStorage.getItem('dataName') + downloadLoadingInstance = ElLoading.service({ text: '正在下载数据,请稍候', background: 'rgba(0, 0, 0, 0.7)' }); + try { + const res = await axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { + Authorization: 'Bearer ' + getToken(), + datasource: localStorage.getItem('dataName') + } + }); + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }); + FileSaver.saveAs(blob, name); + } else { + this.printErrMsg(res.data); } - }); - const isBlob = blobValidate(res.data); - if (isBlob) { - const blob = new Blob([res.data], { type: 'application/zip' }); - FileSaver.saveAs(blob, name); - } else { - this.printErrMsg(res.data); + downloadLoadingInstance.close(); + } catch (r) { + console.error(r) + ElMessage.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); } }, async printErrMsg(data: any) {