From 64ee80db77901fb249bbca4949a24610e4e7c0ae Mon Sep 17 00:00:00 2001
From: cyf009 <591388323@qq.com>
Date: Thu, 12 Dec 2024 16:44:45 +0800
Subject: [PATCH] 1

---
 WebSite/src/api/Training.js          | 15 +++++++++------
 WebSite/src/api/base/base.js         | 27 +++++++++++++++++++++++++++
 WebSite/src/views/training/index.vue |  2 ++
 3 files changed, 38 insertions(+), 6 deletions(-)
 create mode 100644 WebSite/src/api/base/base.js

diff --git a/WebSite/src/api/Training.js b/WebSite/src/api/Training.js
index 0995f1e..7341c57 100644
--- a/WebSite/src/api/Training.js
+++ b/WebSite/src/api/Training.js
@@ -1,5 +1,7 @@
 import request from '@/core/base/request';
-class Training {
+import { Base } from '@/api/base/base.js';
+
+class Training  extends Base{
     static async getTrainingList() {
         return await request({
           url: 'training/selectList',
@@ -53,11 +55,12 @@ class Training {
       }
 
       static async exportTraining() {
-        return await request({
-          url: 'training/exportTraining',
-          method: 'post',
-          responseType: 'blob'
-        });
+        await request({
+            method: 'post',
+            url: 'training/exportTraining',
+            responseType: 'blob'
+          });
+        
       }
 }
   export default Training;
\ No newline at end of file
diff --git a/WebSite/src/api/base/base.js b/WebSite/src/api/base/base.js
new file mode 100644
index 0000000..56d2040
--- /dev/null
+++ b/WebSite/src/api/base/base.js
@@ -0,0 +1,27 @@
+class Base {
+  static downloadFile(res) {
+    debugger;
+    if (!res.data) return;
+    var blob = new Blob([res.data], { type: res.data.type });
+    // 閽堝浜嶪E娴忚鍣ㄧ殑澶勭悊, 鍥犻儴鍒咺E娴忚鍣ㄤ笉鏀寔createObjectURL
+    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+      window.navigator.msSaveOrOpenBlob(blob, res.filename);
+    } else {
+      var downloadElement = document.createElement('a');
+      var href = window.URL.createObjectURL(blob); // 鍒涘缓涓嬭浇鐨勯摼鎺�
+      downloadElement.href = href;
+      downloadElement.download = res.filename; // 涓嬭浇鍚庢枃浠跺悕
+      document.body.appendChild(downloadElement);
+      downloadElement.click(); // 鐐瑰嚮涓嬭浇
+      document.body.removeChild(downloadElement); // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+      window.URL.revokeObjectURL(href); // 閲婃斁鎺塨lob瀵硅薄
+    }
+  }
+
+  static processRequestData(data) {
+    if (!data.enabled) {
+      delete data.enabled;
+    }
+  }
+}
+export { Base };
diff --git a/WebSite/src/views/training/index.vue b/WebSite/src/views/training/index.vue
index 3befbc1..373b547 100644
--- a/WebSite/src/views/training/index.vue
+++ b/WebSite/src/views/training/index.vue
@@ -217,7 +217,9 @@ export default {
       }
     };
     const exportTraining = async () => {
+        debugger;
       const res = await Training.exportTraining();
+      debugger;
       if (res.type === 'application/x-download') {
         downloadBlobFile(
           new Blob([res], { type: res.type }),
-- 
GitLab