Browse Source

导出增加报错处理

ljb 8 months ago
parent
commit
8f15d871ac
1 changed files with 39 additions and 12 deletions
  1. 39 12
      src/api/common.js

+ 39 - 12
src/api/common.js

@@ -1,4 +1,5 @@
 import request from "@/router/axios";
+import { Message } from 'element-ui';
 
 /**
  * 文件流返回
@@ -6,19 +7,45 @@ import request from "@/router/axios";
  * @param params 接口参数
  */
 export const exportBlob = (url, params) => {
-  return request({
-    url: url,
-    params: params,
-    method: 'get',
-    responseType: 'blob',
-  })
+  return new Promise((resolve, reject) => {
+    request({
+      url: url,
+      params,
+      method: 'get',
+      responseType: 'blob',
+    }).then(res => {
+      if (res.data.type.indexOf('json') > -1) {
+        let reader = new FileReader();
+        reader.addEventListener("loadend", function () {
+          let jsonData = JSON.parse(reader.result);
+          Message.error(jsonData.msg);
+        });
+        reader.readAsText(res.data, 'utf-8');
+      } else {
+        resolve(res);
+      }
+    })
+  });
 }
 
 export const exportBloByPost = (url, data) => {
-  return request({
-    url: url,
-    data,
-    method: 'post',
-    responseType: 'blob',
-  })
+  return new Promise((resolve, reject) => {
+    request({
+      url: url,
+      data,
+      method: 'post',
+      responseType: 'blob',
+    }).then(res => {
+      if (res.data.type.indexOf('json') > -1) {
+        let reader = new FileReader();
+        reader.addEventListener("loadend", function () {
+          let jsonData = JSON.parse(reader.result);
+          Message.error(jsonData.msg);
+        });
+        reader.readAsText(res.data, 'utf-8');
+      } else {
+        resolve(res);
+      }
+    })
+  });
 }