From e858021565a760f2ac2fbe99e2887b132f0a2a13 Mon Sep 17 00:00:00 2001 From: zhangsir Date: Wed, 31 Jul 2024 14:29:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BD=9C=E4=B8=9A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Study/manager.vue | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/components/Study/manager.vue b/src/components/Study/manager.vue index c1736e76..ffd2d064 100644 --- a/src/components/Study/manager.vue +++ b/src/components/Study/manager.vue @@ -517,7 +517,7 @@ export default { name: this.downParams.name || '', contentId: this.contentId, } - window.open(`/systemapi/xboe/m/course/portal/export?contentId=${params.contentId}&courseName=${params.courseName}&courseId=${params.courseId}&status=${params.status}&name=${params.name}`) + // window.open(`/systemapi/xboe/m/course/portal/export?contentId=${params.contentId}&courseName=${params.courseName}&courseId=${params.courseId}&status=${params.status}&name=${params.name}`) const url = `/systemapi/xboe/m/course/portal/export?contentId=${params.contentId}&courseName=${params.courseName}&courseId=${params.courseId}&status=${params.status}&name=${params.name}` axios({ method: 'get', @@ -532,22 +532,23 @@ export default { url: url, responseType: 'blob', headers: { 'X-Access-Token': getToken() } - }).then((res) => { - const reader = new FileReader(); - reader.onload = function(e) { - console.log(res,e,'----res---e---') - const result = JSON.parse(e.target.result); - if (result.status === 200 || result.success) { - // 下载文件 - this.resolveBlob(res, 'application/zip',`${params.courseName}【作业】`) - } else { - this.$message.error(result.message); + }).then((response) => { + if (response.status === 200) { + if (!(response.headers['content-type']).startsWith('application/json')) { + this.resolveBlob(response, 'application/zip', `${params.courseName}【作业】`); + } else { + const reader = new FileReader(); + reader.onload = function(e) { + const errorData = JSON.parse(e.target.result); + this.$message.error(errorData.message); + }; + reader.readAsText(response.data); + } } - }; - reader.readAsText(res.data); - }).catch((error) => { - this.$message.error(error.response ? error.response.data.message : error.toString()); - }); + }).catch((error) => { + // 错误处理 + this.$message.error(error.response ? error.response.data.message : error.toString()); + }); }, resolveBlob(res, mimeType,filename) { const link = document.createElement('a');// 创建a标签