Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
ded99502
提交
ded99502
authored
9月 27, 2021
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增通用方法简化下载使用
上级
02b95f95
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
70 行增加
和
82 行删除
+70
-82
FileUtils.java
.../src/main/java/com/ruoyi/common/utils/file/FileUtils.java
+1
-0
SecurityConfig.java
.../main/java/com/ruoyi/framework/config/SecurityConfig.java
+0
-2
index.vue.vm
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+1
-1
main.js
ruoyi-ui/src/main.js
+1
-2
download.js
ruoyi-ui/src/plugins/download.js
+48
-0
index.js
ruoyi-ui/src/plugins/index.js
+3
-0
ruoyi.js
ruoyi-ui/src/utils/ruoyi.js
+0
-7
zipdownload.js
ruoyi-ui/src/utils/zipdownload.js
+0
-42
index.vue
ruoyi-ui/src/views/monitor/job/index.vue
+1
-1
log.vue
ruoyi-ui/src/views/monitor/job/log.vue
+1
-1
index.vue
ruoyi-ui/src/views/monitor/logininfor/index.vue
+1
-1
index.vue
ruoyi-ui/src/views/monitor/operlog/index.vue
+1
-1
index.vue
ruoyi-ui/src/views/system/config/index.vue
+1
-1
data.vue
ruoyi-ui/src/views/system/dict/data.vue
+1
-1
index.vue
ruoyi-ui/src/views/system/dict/index.vue
+1
-1
index.vue
ruoyi-ui/src/views/system/post/index.vue
+1
-1
index.vue
ruoyi-ui/src/views/system/role/index.vue
+1
-1
index.vue
ruoyi-ui/src/views/system/user/index.vue
+2
-2
index.vue
ruoyi-ui/src/views/tool/build/index.vue
+4
-15
index.vue
ruoyi-ui/src/views/tool/gen/index.vue
+1
-2
没有找到文件。
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
浏览文件 @
ded99502
...
...
@@ -211,6 +211,7 @@ public class FileUtils
.
append
(
percentEncodedFileName
);
response
.
setHeader
(
"Content-disposition"
,
contentDispositionValue
.
toString
());
response
.
setHeader
(
"download-filename"
,
percentEncodedFileName
);
}
/**
...
...
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
浏览文件 @
ded99502
...
...
@@ -107,8 +107,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
"/**/*.js"
,
"/profile/**"
).
permitAll
()
.
antMatchers
(
"/common/download**"
).
anonymous
()
.
antMatchers
(
"/common/download/resource**"
).
anonymous
()
.
antMatchers
(
"/swagger-ui.html"
).
anonymous
()
.
antMatchers
(
"/swagger-resources/**"
).
anonymous
()
.
antMatchers
(
"/webjars/**"
).
anonymous
()
...
...
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
浏览文件 @
ded99502
...
...
@@ -567,7 +567,7 @@ export default {
this.exportLoading = true;
return export${BusinessName}(queryParams);
}).then(response => {
this.
download
(response.msg);
this.
#[[$download]]#.name
(response.msg);
this.exportLoading = false;
}).catch(() => {});
}
...
...
ruoyi-ui/src/main.js
浏览文件 @
ded99502
...
...
@@ -17,7 +17,7 @@ import './assets/icons' // icon
import
'./permission'
// permission control
import
{
getDicts
}
from
"@/api/system/dict/data"
;
import
{
getConfigKey
}
from
"@/api/system/config"
;
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
,
selectDictLabels
,
download
,
handleTree
}
from
"@/utils/ruoyi"
;
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
,
selectDictLabels
,
handleTree
}
from
"@/utils/ruoyi"
;
// 分页组件
import
Pagination
from
"@/components/Pagination"
;
// 自定义表格工具组件
...
...
@@ -43,7 +43,6 @@ Vue.prototype.resetForm = resetForm
Vue
.
prototype
.
addDateRange
=
addDateRange
Vue
.
prototype
.
selectDictLabel
=
selectDictLabel
Vue
.
prototype
.
selectDictLabels
=
selectDictLabels
Vue
.
prototype
.
download
=
download
Vue
.
prototype
.
handleTree
=
handleTree
// 全局组件挂载
...
...
ruoyi-ui/src/plugins/download.js
0 → 100644
浏览文件 @
ded99502
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
);
}
}
ruoyi-ui/src/plugins/index.js
浏览文件 @
ded99502
import
cache
from
'./cache'
import
modal
from
'./modal'
import
download
from
'./download'
export
default
{
install
(
Vue
)
{
...
...
@@ -7,5 +8,7 @@ export default {
Vue
.
prototype
.
$cache
=
cache
// 模态框对象
Vue
.
prototype
.
$modal
=
modal
// 下载文件
Vue
.
prototype
.
$download
=
download
}
}
ruoyi-ui/src/utils/ruoyi.js
浏览文件 @
ded99502
...
...
@@ -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
)
{
...
...
@@ -95,11 +93,6 @@ export function selectDictLabels(datas, value, separator) {
return
actions
.
join
(
''
).
substring
(
0
,
actions
.
join
(
''
).
length
-
1
);
}
// 通用下载方法
export
function
download
(
fileName
)
{
window
.
location
.
href
=
baseURL
+
"/common/download?fileName="
+
encodeURI
(
fileName
)
+
"&delete="
+
true
;
}
// 字符串格式化(%s )
export
function
sprintf
(
str
)
{
var
args
=
arguments
,
flag
=
true
,
i
=
1
;
...
...
ruoyi-ui/src/utils/zipdownload.js
deleted
100644 → 0
浏览文件 @
02b95f95
import
axios
from
'axios'
import
{
getToken
}
from
'@/utils/auth'
const
mimeMap
=
{
xlsx
:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
,
zip
:
'application/zip'
}
const
baseUrl
=
process
.
env
.
VUE_APP_BASE_API
export
function
downLoadZip
(
str
,
filename
)
{
var
url
=
baseUrl
+
str
axios
({
method
:
'get'
,
url
:
url
,
responseType
:
'blob'
,
headers
:
{
'Authorization'
:
'Bearer '
+
getToken
()
}
}).
then
(
res
=>
{
resolveBlob
(
res
,
mimeMap
.
zip
)
})
}
/**
* 解析blob响应内容并下载
* @param {*} res blob响应内容
* @param {String} mimeType MIME类型
*/
export
function
resolveBlob
(
res
,
mimeType
)
{
const
aLink
=
document
.
createElement
(
'a'
)
var
blob
=
new
Blob
([
res
.
data
],
{
type
:
mimeType
})
// //从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名;
var
patt
=
new
RegExp
(
'filename=([^;]+
\\
.[^
\\
.;]+);*'
)
var
contentDisposition
=
decodeURI
(
res
.
headers
[
'content-disposition'
])
var
result
=
patt
.
exec
(
contentDisposition
)
var
fileName
=
result
[
1
]
fileName
=
fileName
.
replace
(
/
\"
/g
,
''
)
aLink
.
style
.
display
=
'none'
aLink
.
href
=
URL
.
createObjectURL
(
blob
)
aLink
.
setAttribute
(
'download'
,
fileName
)
// 设置下载文件名称
document
.
body
.
appendChild
(
aLink
)
aLink
.
click
()
URL
.
revokeObjectURL
(
aLink
.
href
);
//清除引用
document
.
body
.
removeChild
(
aLink
);
}
ruoyi-ui/src/views/monitor/job/index.vue
浏览文件 @
ded99502
...
...
@@ -515,7 +515,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportJob
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/monitor/job/log.vue
浏览文件 @
ded99502
...
...
@@ -298,7 +298,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportJobLog
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/monitor/logininfor/index.vue
浏览文件 @
ded99502
...
...
@@ -221,7 +221,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportLogininfor
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/monitor/operlog/index.vue
浏览文件 @
ded99502
...
...
@@ -308,7 +308,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportOperlog
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/system/config/index.vue
浏览文件 @
ded99502
...
...
@@ -339,7 +339,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportConfig
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
...
...
ruoyi-ui/src/views/system/dict/data.vue
浏览文件 @
ded99502
...
...
@@ -385,7 +385,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportData
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/system/dict/index.vue
浏览文件 @
ded99502
...
...
@@ -343,7 +343,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportType
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
...
...
ruoyi-ui/src/views/system/post/index.vue
浏览文件 @
ded99502
...
...
@@ -310,7 +310,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportPost
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/system/role/index.vue
浏览文件 @
ded99502
...
...
@@ -618,7 +618,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportRole
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
ruoyi-ui/src/views/system/user/index.vue
浏览文件 @
ded99502
...
...
@@ -648,7 +648,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportUser
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
...
...
@@ -660,7 +660,7 @@ export default {
/** 下载模板操作 */
importTemplate
()
{
importTemplate
().
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
$download
.
name
(
response
.
msg
);
});
},
// 文件上传中处理
...
...
ruoyi-ui/src/views/tool/build/index.vue
浏览文件 @
ded99502
...
...
@@ -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 logo from '@/assets/logo/logo.png'
import
CodeTypeDialog
from
'./CodeTypeDialog'
import
DraggableItem
from
'./DraggableItem'
const
emptyActiveData
=
{
style
:
{},
autosize
:
{}
}
let
oldActiveId
let
tempActiveData
...
...
@@ -287,7 +276,7 @@ export default {
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
()
...
...
ruoyi-ui/src/views/tool/gen/index.vue
浏览文件 @
ded99502
...
...
@@ -180,7 +180,6 @@
<
script
>
import
{
listTable
,
previewTable
,
delTable
,
genCode
,
synchDb
}
from
"@/api/tool/gen"
;
import
importTable
from
"./importTable"
;
import
{
downLoadZip
}
from
"@/utils/zipdownload"
;
import
hljs
from
"highlight.js/lib/highlight"
;
import
"highlight.js/styles/github-gist.css"
;
hljs
.
registerLanguage
(
"java"
,
require
(
"highlight.js/lib/languages/java"
));
...
...
@@ -270,7 +269,7 @@ export default {
this
.
$modal
.
msgSuccess
(
"成功生成到自定义路径:"
+
row
.
genPath
);
});
}
else
{
downLoadZ
ip
(
"/tool/gen/batchGenCode?tables="
+
tableNames
,
"ruoyi"
);
this
.
$download
.
z
ip
(
"/tool/gen/batchGenCode?tables="
+
tableNames
,
"ruoyi"
);
}
},
/** 同步数据库操作 */
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论