Sfoglia il codice sorgente

update 优化 下载zip方法增加遮罩层

疯狂的狮子Li 1 anno fa
parent
commit
40175c150c
1 ha cambiato i file con 22 aggiunte e 14 eliminazioni
  1. 22 14
      src/plugins/download.ts

+ 22 - 14
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) {