From ece59a0a5600b1d224bc3047ed9fad5347bc952c Mon Sep 17 00:00:00 2001 From: ruibaby Date: Fri, 3 Jan 2020 16:54:47 +0800 Subject: [PATCH] feat: support download log file. --- src/views/sheet/internal/LinkList.vue | 4 +-- .../system/developer/tabs/RuntimeLogs.vue | 30 ++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/views/sheet/internal/LinkList.vue b/src/views/sheet/internal/LinkList.vue index 646b1433e..f7f9335f0 100644 --- a/src/views/sheet/internal/LinkList.vue +++ b/src/views/sheet/internal/LinkList.vue @@ -22,13 +22,13 @@ help="* 需要加上 http://" > - - + --> diff --git a/src/views/system/developer/tabs/RuntimeLogs.vue b/src/views/system/developer/tabs/RuntimeLogs.vue index 2bc02532f..b49395193 100644 --- a/src/views/system/developer/tabs/RuntimeLogs.vue +++ b/src/views/system/developer/tabs/RuntimeLogs.vue @@ -28,7 +28,10 @@ style="margin-right: 8px;" @click="()=>this.loadLogs()" >刷新 - 下载 + 下载 @@ -36,6 +39,7 @@ import { codemirror } from 'vue-codemirror-lite' import 'codemirror/mode/shell/shell.js' import adminApi from '@/api/admin' +import moment from 'moment' export default { name: 'RuntimeLogs', components: { @@ -66,9 +70,27 @@ export default { }) }, handleDownloadLogFile() { - adminApi.downloadLogFiles(this.logLines).then(response => { - this.$message.success('下载成功!') - }) + const hide = this.$message.loading('下载中...', 0) + adminApi + .getLogFiles(this.logLines) + .then(response => { + var blob = new Blob([response.data.data]) + var downloadElement = document.createElement('a') + var href = window.URL.createObjectURL(blob) + downloadElement.href = href + downloadElement.download = 'halo-log-' + moment(new Date(), 'YYYY-MM-DD-HH-mm-ss') + '.log' + document.body.appendChild(downloadElement) + downloadElement.click() + document.body.removeChild(downloadElement) + window.URL.revokeObjectURL(href) + this.$message.success('下载成功!') + }) + .catch(() => { + this.$message.error('下载失败!') + }) + .finally(() => { + hide() + }) }, handleLinesChange(value) { this.logLines = value