Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
f8aaa9b4
Commit
f8aaa9b4
authored
Jun 09, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:处理预览加载
parent
24b32840
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
29 deletions
+50
-29
src/modules/resource-disk/components/FolderList.jsx
+15
-22
src/modules/resource-disk/modal/PreviewFileModal.jsx
+28
-5
src/modules/resource-disk/modal/PreviewFileModal.less
+7
-2
No files found.
src/modules/resource-disk/components/FolderList.jsx
View file @
f8aaa9b4
...
...
@@ -56,7 +56,8 @@ class FolderList extends React.Component {
nonCompliantFileList
:
[],
// 不符合上限的文件列表
parentRights
:
''
,
// 继承父级文件夹权限
showPreviewModal
:
false
,
//是否显示loading
previewing
:
false
//是否正在预览
previewing
:
false
,
//是否正在预览
previewStatus
:
'UPLOAD'
//预览文件的生成状态
}
}
...
...
@@ -172,7 +173,8 @@ class FolderList extends React.Component {
if
(
!
fileVersionId
){
this
.
setState
({
previewing
:
true
,
showPreviewModal
:
true
showPreviewModal
:
true
,
previewStatus
:
'UPLOAD'
},
async
()
=>
{
const
uploadSign
=
await
that
.
getYoZoSign
(
ossUrl
,
"UPLOAD"
);
axios
.
post
(
`https://dmc.yozocloud.cn/api/file/http?fileUrl=
${
ossUrl
}
&appId=
${
appId
}
&sign=
${
uploadSign
}
`
)
...
...
@@ -181,14 +183,11 @@ class FolderList extends React.Component {
const
{
previewing
}
=
that
.
state
;
if
(
previewing
){
const
previewSign
=
await
that
.
getYoZoSign
(
response
.
data
.
data
.
fileVersionId
,
"VIEW"
);
that
.
closePreview
();
const
url
=
`https://eic.yozocloud.cn/api/view/file?fileVersionId=
${
response
.
data
.
data
.
fileVersionId
}
&appId=
${
appId
}
&sign=
${
previewSign
}
`
const
a
=
document
.
createElement
(
'a'
);
document
.
body
.
appendChild
(
a
);
a
.
setAttribute
(
'href'
,
url
);
a
.
setAttribute
(
'target'
,
'_blank'
);
a
.
click
();
document
.
body
.
removeChild
(
a
)
that
.
setState
({
previewStatus
:
'UPLOAD_SUCCESS'
,
url
})
}
})
})
...
...
@@ -278,18 +277,12 @@ class FolderList extends React.Component {
this
.
handleDataDot
(
folderFormat
);
}
cancelPreview
=
()
=>
{
//
const rightDom = document.querySelector('.right-container');
//
rightDom.style.zIndex = 1;
const
rightDom
=
document
.
querySelector
(
'.right-container'
);
rightDom
.
style
.
zIndex
=
1
;
this
.
setState
({
previewing
:
false
,
showPreviewModal
:
false
})
}
closePreview
=
()
=>
{
// const rightDom = document.querySelector('.right-container');
// rightDom.style.zIndex = 1;
this
.
setState
({
showPreviewModal
:
false
showPreviewModal
:
false
,
previewStatus
:
'UPLOAD'
})
}
// 选择文件夹
...
...
@@ -779,7 +772,7 @@ class FolderList extends React.Component {
const
{
currentFolder
,
currentFile
,
renameModalData
,
showSelectFileModal
,
showUploadModal
,
localFileList
,
showCopyFileModal
,
showManagingModal
,
showPreviewModal
showPreviewModal
,
previewStatus
,
url
}
=
this
.
state
;
const
{
selectedFileIds
,
folderList
,
showResultPage
,
...
...
@@ -920,8 +913,8 @@ class FolderList extends React.Component {
}
}
/>
}
{
showPreviewModal
&&
<
PreviewFileModal
onCancel=
{
()
=>
this
.
cancelPreview
()
}
onClose=
{
()
=>
this
.
cancelPreview
()
}
/>
{
showPreviewModal
&&
<
PreviewFileModal
onCancel=
{
()
=>
this
.
cancelPreview
()
}
previewStatus=
{
previewStatus
}
url=
{
url
}
/>
}
{
this
.
state
.
scanFileModal
}
{
this
.
state
.
chargeModal
}
...
...
src/modules/resource-disk/modal/PreviewFileModal.jsx
View file @
f8aaa9b4
...
...
@@ -10,21 +10,44 @@ class PreviewFileModal extends React.Component {
cancelPreView
=
()
=>
{
this
.
props
.
onCancel
();
}
closePreView
=
()
=>
{
this
.
props
.
onClose
();
toPreView
=
(
url
)
=>
{
const
a
=
document
.
createElement
(
'a'
);
document
.
body
.
appendChild
(
a
);
a
.
setAttribute
(
'href'
,
url
);
a
.
setAttribute
(
'target'
,
'_blank'
);
a
.
click
();
document
.
body
.
removeChild
(
a
);
this
.
props
.
onCancel
();
}
render
()
{
const
{
previewStatus
,
url
}
=
this
.
props
return
(
<
div
className=
"preview-modal"
>
<
div
className=
"preview-modal-content"
>
<
div
className=
"load-img-box"
><
img
className=
"load-img"
src=
"https://image.xiaomaiketang.com/xm/3j32ashQst.png"
></
img
></
div
>
<
div
className=
"load-img-box"
>
{
previewStatus
===
"UPLOAD"
&&
<
img
className=
"load-img"
src=
"https://image.xiaomaiketang.com/xm/3j32ashQst.png"
></
img
>
}
{
previewStatus
===
"UPLOAD_SUCCESS"
&&
<
img
className=
"load-img"
src=
"https://image.xiaomaiketang.com/xm/jJRK3bTEdc.png"
></
img
>
}
</
div
>
<
div
className=
"load-text-box"
>
{
previewStatus
===
"UPLOAD"
&&
<
div
className=
"load-text-box-title"
>
预览生成中
</
div
>
<
div
>
可暂时关闭窗口,预览生成后仍会打开文件
</
div
>
}
{
previewStatus
===
"UPLOAD_SUCCESS"
&&
<
div
className=
"load-text-box-title"
>
预览生成成功
</
div
>
}
</
div
>
<
div
className=
"operate"
>
<
span
className=
"btn cancel-preview-btn"
onClick=
{
()
=>
this
.
cancelPreView
()
}
>
取消预览
</
span
>
<
span
className=
"btn close-preview-btn"
onClick=
{
()
=>
this
.
closePreView
()
}
>
暂时关闭
</
span
>
{
previewStatus
===
"UPLOAD"
&&
<
span
className=
"btn to-preview-btn__disabled to-preview-btn"
>
去查看
</
span
>
}
{
previewStatus
===
"UPLOAD_SUCCESS"
&&
<
span
className=
"btn to-preview-btn"
onClick=
{
()
=>
this
.
toPreView
(
url
)
}
>
去查看
</
span
>
}
</
div
>
</
div
>
</
div
>
...
...
src/modules/resource-disk/modal/PreviewFileModal.less
View file @
f8aaa9b4
...
...
@@ -9,11 +9,11 @@
background: rgba(0, 0, 0, 0.7);
.preview-modal-content{
position:absolute;
left:calc(50% - 1
60
px);
left:calc(50% - 1
33
px);
top:calc(50% - 87px);
color:#FFF;
text-align:center;
width:
320
px;
width:
266
px;
height:174px;
.load-img-box{
.load-img{
...
...
@@ -39,6 +39,11 @@
.cancel-preview-btn{
margin-right:8px;
}
.to-preview-btn__disabled{
border:1px solid #E8E8E8;
opacity: 0.4;
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment