From 32eb453e47ffd2cc07dba7cdb29d75e4a3c52f0b Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Thu, 9 Jun 2022 09:49:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8B=E8=BD=BDtoken?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/api/manage.js | 79 +++++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/jero-web/src/api/manage.js b/jero-web/src/api/manage.js index 570bdebeb..24c7c2b61 100644 --- a/jero-web/src/api/manage.js +++ b/jero-web/src/api/manage.js @@ -1,6 +1,9 @@ import Vue from 'vue' import { axios } from '@/utils/request' +import store from '@/store' import JLoadingOne from '../components/jero/JLoadingOne' +import { Modal } from 'ant-design-vue' +import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types' const showDrawer = {} @@ -153,29 +156,61 @@ export function downloadFile(url, fileName, parameter, callback) { isTrue: isTrue }) return downFile(url, parameter).then((data) => { - console.log(data) - if (!data || data.size === 0) { - Vue.prototype['$message'].warning('文件下载失败') - return + let fileReader = new FileReader() + fileReader.onload = function(event) { + try { + let jsonData = JSON.parse(event.target.result) + if (jsonData.message.includes('token')) { + index.showDrawer({ + loading: false, + isTrue: isTrue + }) + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + try { + let path = window.document.location.pathname + if (path != '/' && path.indexOf('/user/login') == -1) { + window.location.reload() + } + } catch (e) { + window.location.reload() + } + }) + } + }) + } + } catch (e) { + if (!data || data.size === 0) { + Vue.prototype['$message'].warning('文件下载失败') + return + } + if (typeof window.navigator.msSaveBlob !== 'undefined') { + window.navigator.msSaveBlob(new Blob([data]), fileName) + } else { + let url = window.URL.createObjectURL(new Blob([data])) + let link = document.createElement('a') + link.style.display = 'none' + link.href = url + link.setAttribute('download', fileName) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + } + index.showDrawer({ + loading: false, + isTrue: isTrue + }) + callback && callback() + } } - if (typeof window.navigator.msSaveBlob !== 'undefined') { - window.navigator.msSaveBlob(new Blob([data]), fileName) - } else { - let url = window.URL.createObjectURL(new Blob([data])) - let link = document.createElement('a') - link.style.display = 'none' - link.href = url - link.setAttribute('download', fileName) - document.body.appendChild(link) - link.click() - document.body.removeChild(link) //下载完成移除元素 - window.URL.revokeObjectURL(url) //释放掉blob对象 - } - index.showDrawer({ - loading: false, - isTrue: isTrue - }) - callback && callback() + fileReader.readAsText(data) }) }