From 98bb1f00eeca2b459bd8b9fe5a745e65c6081f97 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 19 十月 2022 19:06:14 +0800
Subject: [PATCH] fix 修复 修改用户信息 校验用户名未排除当前用户问题
---
ruoyi-ui/src/plugins/download.js | 80 ++++++++++++++++++---------------------
1 files changed, 37 insertions(+), 43 deletions(-)
diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js
index 50f664a..85138bb 100644
--- a/ruoyi-ui/src/plugins/download.js
+++ b/ruoyi-ui/src/plugins/download.js
@@ -1,55 +1,35 @@
-import { saveAs } from 'file-saver'
import axios from 'axios'
+import {Loading, Message} from 'element-ui'
+import { saveAs } from 'file-saver'
import { getToken } from '@/utils/auth'
+import errorCode from '@/utils/errorCode'
+import { blobValidate } from "@/utils/ruoyi";
const baseURL = process.env.VUE_APP_BASE_API
+let downloadLoadingInstance;
export default {
- excel(url, params) {
- // get璇锋眰鏄犲皠params鍙傛暟
- if (params) {
- let urlparams = url + '?';
- for (const propName of Object.keys(params)) {
- const value = params[propName];
- var part = encodeURIComponent(propName) + "=";
- if (value !== null && typeof(value) !== "undefined") {
- if (typeof value === 'object') {
- for (const key of Object.keys(value)) {
- if (value[key] !== null && typeof (value[key]) !== 'undefined') {
- let params = propName + '[' + key + ']';
- let subPart = encodeURIComponent(params) + '=';
- urlparams += subPart + encodeURIComponent(value[key]) + '&';
- }
- }
- } else {
- urlparams += part + encodeURIComponent(value) + "&";
- }
- }
- }
- urlparams = urlparams.slice(0, -1);
- url = urlparams;
- }
- url = baseURL + url
- axios({
- method: 'get',
- url: url,
- responseType: 'blob',
- headers: { 'Authorization': 'Bearer ' + getToken() }
- }).then(res => {
- const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
- this.saveAs(blob, decodeURI(res.headers['download-filename']))
- })
- },
oss(ossId) {
var url = baseURL + '/system/oss/download/' + ossId
+ downloadLoadingInstance = Loading.service({ text: "姝e湪涓嬭浇鏁版嵁锛岃绋嶅��", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
axios({
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
- }).then(res => {
- const blob = new Blob([res.data], { type: 'application/octet-stream' })
- this.saveAs(blob, decodeURI(res.headers['download-filename']))
+ }).then(async (res) => {
+ const isLogin = await blobValidate(res.data);
+ if (isLogin) {
+ const blob = new Blob([res.data], { type: 'application/octet-stream' })
+ this.saveAs(blob, decodeURI(res.headers['download-filename']))
+ } else {
+ this.printErrMsg(res.data);
+ }
+ downloadLoadingInstance.close();
+ }).catch((r) => {
+ console.error(r)
+ Message.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒')
+ downloadLoadingInstance.close();
})
},
zip(url, name) {
@@ -58,14 +38,28 @@
method: 'get',
url: url,
responseType: 'blob',
- headers: { 'Authorization': 'Bearer ' + getToken() }
- }).then(res => {
- const blob = new Blob([res.data], { type: 'application/zip' })
- this.saveAs(blob, name)
+ headers: {
+ 'Authorization': 'Bearer ' + getToken(),
+ 'datasource': localStorage.getItem("dataName")
+ }
+ }).then(async (res) => {
+ const isLogin = await blobValidate(res.data);
+ if (isLogin) {
+ const blob = new Blob([res.data], { type: 'application/zip' })
+ this.saveAs(blob, name)
+ } else {
+ this.printErrMsg(res.data);
+ }
})
},
saveAs(text, name, opts) {
saveAs(text, name, opts);
+ },
+ async printErrMsg(data) {
+ const resText = await data.text();
+ const rspObj = JSON.parse(resText);
+ const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
+ Message.error(errMsg);
}
}
--
Gitblit v1.9.3