From 75b22e9a233f762b44eb078137df43b7495a18da Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 27 九月 2021 16:50:26 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-ui/package.json | 4 +- ruoyi-ui/src/views/tool/gen/index.vue | 2 ruoyi-ui/src/utils/ruoyi.js | 2 - ruoyi-ui/src/plugins/index.js | 3 + ruoyi-ui/src/views/tool/build/index.vue | 19 ++------- ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java | 1 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 6 +- ruoyi-ui/src/plugins/download.js | 48 ++++++++++++++++++++++++ 8 files changed, 62 insertions(+), 23 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java index dc3aea2..3ab304c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -35,6 +35,7 @@ .append(percentEncodedFileName); response.setHeader("Content-disposition", contentDispositionValue.toString()); + response.setHeader("download-filename", percentEncodedFileName); } /** diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 229704f..bb8b7f2 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -21,7 +21,7 @@ /** * spring security閰嶇疆 - * + * * @author ruoyi */ @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) @@ -32,7 +32,7 @@ */ @Autowired private UserDetailsService userDetailsService; - + /** * 璁よ瘉澶辫触澶勭悊绫� */ @@ -50,7 +50,7 @@ */ @Autowired private JwtAuthenticationTokenFilter authenticationTokenFilter; - + /** * 璺ㄥ煙杩囨护鍣� */ diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 58a8c79..d43aee1 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -42,7 +42,7 @@ "core-js": "3.8.1", "echarts": "4.9.0", "element-ui": "2.15.5", - "file-saver": "2.0.4", + "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", "js-beautify": "1.13.0", @@ -71,7 +71,7 @@ "eslint-plugin-vue": "7.2.0", "lint-staged": "10.5.3", "runjs": "4.4.2", - "sass": "1.32.0", + "sass": "1.42.1", "sass-loader": "10.1.0", "script-ext-html-webpack-plugin": "2.1.5", "svg-sprite-loader": "5.1.1", diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js new file mode 100644 index 0000000..cb10ab0 --- /dev/null +++ b/ruoyi-ui/src/plugins/download.js @@ -0,0 +1,48 @@ +import { saveAs } from 'file-saver' +import axios from 'axios' +import { getToken } from '@/utils/auth' + +const baseURL = process.env.VUE_APP_BASE_API + +export default { + name(name, isDelete = true) { + var url = baseURL + "/common/download?fileName=" + encodeURI(name) + "&delete=" + isDelete + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then(res => { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURI(res.headers['download-filename'])) + }) + }, + resource(resource) { + var url = baseURL + "/common/download/resource?resource=" + encodeURI(resource); + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then(res => { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURI(res.headers['download-filename'])) + }) + }, + zip(url, name) { + var url = baseURL + url + axios({ + 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) + }) + }, + saveAs(text, name, opts) { + saveAs(text, name, opts); + } +} + diff --git a/ruoyi-ui/src/plugins/index.js b/ruoyi-ui/src/plugins/index.js index 15d829b..a138e6d 100644 --- a/ruoyi-ui/src/plugins/index.js +++ b/ruoyi-ui/src/plugins/index.js @@ -1,5 +1,6 @@ import cache from './cache' import modal from './modal' +import download from './download' export default { install(Vue) { @@ -7,5 +8,7 @@ Vue.prototype.$cache = cache // 妯℃�佹瀵硅薄 Vue.prototype.$modal = modal + // 涓嬭浇鏂囦欢 + Vue.prototype.$download = download } } diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js index 10533e7..63bd379 100644 --- a/ruoyi-ui/src/utils/ruoyi.js +++ b/ruoyi-ui/src/utils/ruoyi.js @@ -3,8 +3,6 @@ * Copyright (c) 2019 ruoyi */ -const baseURL = process.env.VUE_APP_BASE_API - // 鏃ユ湡鏍煎紡鍖� export function parseTime(time, pattern) { if (arguments.length === 0 || !time) { diff --git a/ruoyi-ui/src/views/tool/build/index.vue b/ruoyi-ui/src/views/tool/build/index.vue index 1f8b361..0a1d94c 100644 --- a/ruoyi-ui/src/views/tool/build/index.vue +++ b/ruoyi-ui/src/views/tool/build/index.vue @@ -137,23 +137,13 @@ <script> import draggable from 'vuedraggable' -import { saveAs } from 'file-saver' import beautifier from 'js-beautify' import ClipboardJS from 'clipboard' import render from '@/utils/generator/render' import RightPanel from './RightPanel' -import { - inputComponents, - selectComponents, - layoutComponents, - formConf -} from '@/utils/generator/config' -import { - exportDefault, beautifierConf, isNumberStr, titleCase -} from '@/utils/index' -import { - makeUpHtml, vueTemplate, vueScript, cssStyle -} from '@/utils/generator/html' +import { inputComponents, selectComponents, layoutComponents, formConf } from '@/utils/generator/config' +import { beautifierConf, titleCase } from '@/utils/index' +import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/html' import { makeUpJs } from '@/utils/generator/js' import { makeUpCss } from '@/utils/generator/css' import drawingDefalut from '@/utils/generator/drawingDefalut' @@ -161,7 +151,6 @@ import CodeTypeDialog from './CodeTypeDialog' import DraggableItem from './DraggableItem' -const emptyActiveData = { style: {}, autosize: {} } let oldActiveId let tempActiveData @@ -287,7 +276,7 @@ execDownload(data) { const codeStr = this.generateCode() const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' }) - saveAs(blob, data.fileName) + this.$download.saveAs(blob, data.fileName) }, execCopy(data) { document.getElementById('copyNode').click() diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue index 5f4e65b..5590a04 100644 --- a/ruoyi-ui/src/views/tool/gen/index.vue +++ b/ruoyi-ui/src/views/tool/gen/index.vue @@ -270,7 +270,7 @@ this.$modal.msgSuccess("鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�" + row.genPath); }); } else { - downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi"); + this.$download.zip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi"); } }, /** 鍚屾鏁版嵁搴撴搷浣� */ -- Gitblit v1.9.3