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
afb1f37d
Commit
afb1f37d
authored
Dec 20, 2020
by
zhangleyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:上传图片相关修改
parent
75eb6c76
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
46 additions
and
142 deletions
+46
-142
src/bu-components/UploadProgressModal.jsx
+2
-0
src/modules/course-manage/components/AddLiveIntro.jsx
+5
-3
src/modules/course-manage/modal/ManageCoursewareModal.jsx
+1
-0
src/modules/course-manage/modal/SelectPrepareFileModal.jsx
+0
-0
src/modules/course-manage/modal/SelectPrepareFileModal.less
+0
-111
src/modules/prepare-lesson/modal/SelectPrepareFileModal.jsx
+33
-23
src/modules/prepare-lesson/modal/UploadProgressModal.jsx
+3
-3
src/modules/resource-disk/components/FolderManage.jsx
+2
-2
No files found.
src/bu-components/UploadProgressModal.jsx
View file @
afb1f37d
...
@@ -111,10 +111,12 @@ class UploadProgressModal extends React.Component {
...
@@ -111,10 +111,12 @@ class UploadProgressModal extends React.Component {
},
},
mime
:
type
mime
:
type
}).
then
(
url
=>
{
}).
then
(
url
=>
{
console
.
log
(
'1111'
);
file
.
status
=
'success'
;
file
.
status
=
'success'
;
this
.
setState
({
fileList
});
this
.
setState
({
fileList
});
this
.
props
.
onUpload
(
fileContent
,
resourceId
);
this
.
props
.
onUpload
(
fileContent
,
resourceId
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
file
.
status
=
'fail'
;
file
.
status
=
'fail'
;
this
.
setState
({
fileList
});
this
.
setState
({
fileList
});
});
});
...
...
src/modules/course-manage/components/AddLiveIntro.jsx
View file @
afb1f37d
...
@@ -13,7 +13,7 @@ import EditorBox from '../components/EditorBox';
...
@@ -13,7 +13,7 @@ import EditorBox from '../components/EditorBox';
import
User
from
'@/common/js/user'
;
import
User
from
'@/common/js/user'
;
import
UploadOss
from
'@/core/upload'
;
import
UploadOss
from
'@/core/upload'
;
import
'./AddLiveIntro.less'
;
import
'./AddLiveIntro.less'
;
// import SelectPrepareFileModal from '..
/modal/SelectPrepareFileModal';
import
SelectPrepareFileModal
from
'@/modules/prepare-lesson
/modal/SelectPrepareFileModal'
;
import
{
DISK_MAP
}
from
'@/common/constants/academic/lessonEnum'
;
import
{
DISK_MAP
}
from
'@/common/constants/academic/lessonEnum'
;
import
{
ImgCutModalNew
}
from
'@/components'
;
import
{
ImgCutModalNew
}
from
'@/components'
;
...
@@ -53,6 +53,7 @@ class AddLiveIntro extends React.Component {
...
@@ -53,6 +53,7 @@ class AddLiveIntro extends React.Component {
mediaName
:
folderName
,
mediaName
:
folderName
,
size
:
folderSize
size
:
folderSize
}
}
console
.
log
(
'liveCourseWarmMedia'
,
liveCourseWarmMedia
);
this
.
props
.
onChange
(
'liveCourseWarmMedia'
,
liveCourseWarmMedia
);
this
.
props
.
onChange
(
'liveCourseWarmMedia'
,
liveCourseWarmMedia
);
}
}
// 获取机构可见的磁盘
// 获取机构可见的磁盘
...
@@ -367,7 +368,8 @@ class AddLiveIntro extends React.Component {
...
@@ -367,7 +368,8 @@ class AddLiveIntro extends React.Component {
</
div
>
</
div
>
</
div
>
</
div
>
{
/* 选择暖场图文件弹窗 */
}
{
/* 选择暖场图文件弹窗 */
}
{
/* <SelectPrepareFileModal
<
SelectPrepareFileModal
multiple=
{
true
}
operateType=
"select"
operateType=
"select"
accept=
"video/mp4,image/jpeg,image/png,image/jpg"
accept=
"video/mp4,image/jpeg,image/png,image/jpg"
selectTypeList=
{
[
'MP4'
,
'JPG'
,
'JPEG'
,
'PNG'
]
}
selectTypeList=
{
[
'MP4'
,
'JPG'
,
'JPEG'
,
'PNG'
]
}
...
@@ -378,7 +380,7 @@ class AddLiveIntro extends React.Component {
...
@@ -378,7 +380,7 @@ class AddLiveIntro extends React.Component {
this
.
setState
({
showSelectFileModal
:
false
})
this
.
setState
({
showSelectFileModal
:
false
})
}
}
}
}
onSelect=
{
this
.
handleSelectVideo
}
onSelect=
{
this
.
handleSelectVideo
}
/>
*/
}
/>
</
div
>
</
div
>
)
)
}
}
...
...
src/modules/course-manage/modal/ManageCoursewareModal.jsx
View file @
afb1f37d
...
@@ -343,6 +343,7 @@ class ManageCoursewareModal extends React.Component {
...
@@ -343,6 +343,7 @@ class ManageCoursewareModal extends React.Component {
onCancel=
{
()
=>
{
onCancel=
{
()
=>
{
this
.
props
.
onCancel
()
this
.
props
.
onCancel
()
}
}
}
}
maskClosable=
{
false
}
>
>
{
_
.
isEmpty
(
_list
)
?
{
_
.
isEmpty
(
_list
)
?
<
div
className=
"empty-body"
>
<
div
className=
"empty-body"
>
...
...
src/modules/course-manage/modal/SelectPrepareFileModal.jsx
deleted
100644 → 0
View file @
75eb6c76
This diff is collapsed.
Click to expand it.
src/modules/course-manage/modal/SelectPrepareFileModal.less
deleted
100644 → 0
View file @
75eb6c76
.select-prepare-file-modal {
.ant-upload-list {
display: none;
}
.DefaultIcon {
margin: 12px 0 0 0;
border: 1px solid #E8E8E8;
border-radius: 4px;
padding: 100px 0;
.desc {
color: #999;
.upload-btn {
color: #FF7519;
margin: 0 4px;
cursor: pointer;
}
}
}
.radio-buttons {
text-align: center;
margin-bottom: 16px;
}
.file-path {
display: inline-block;
color: #333;
position: relative;
margin-bottom: 12px;
margin-right: 12px;
&:last-child {
color: #999;
}
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #FF8534;
}
&::before {
content: '/';
position: absolute;
color: #CCC;
right: -8px;
}
}
}
.file-list {
border: 1px solid #E8E8E8;
border-radius: 4px;
.file-item {
display: flex;
align-items: center;
justify-content: space-between;
height: 48px;
padding: 12px 25px;
&:not(:last-child) {
border-bottom: 1px solid #E8E8E8;
}
&.enable {
cursor: pointer;
}
&.disable {
cursor: not-allowed;
opacity: 0.5;
}
&__cover {
min-width: 320px;
img {
margin-right: 8px;
}
}
&__size {
margin-left: 40px;
}
.iconfont {
color: #BFBFBF;
&.correct {
color: #FC9C6B;
}
}
}
}
.ant-modal-footer {
display: flex;
align-items: center;
justify-content: space-between;
.prepare-lesson-upload.hidden {
visibility: hidden;
}
.prepare-lesson-upload.visible {
visibility: visible;
}
.footer__left {
color: #FF7519;
cursor: pointer;
}
}
}
\ No newline at end of file
src/modules/prepare-lesson/modal/SelectPrepareFileModal.jsx
View file @
afb1f37d
...
@@ -312,21 +312,21 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -312,21 +312,21 @@ class SelectPrepareFileModal extends React.Component {
}
}
handleChooseFile
=
async
()
=>
{
handleChooseFile
=
async
()
=>
{
// 校验是否已经欠费
//
//
校验是否已经欠费
const
{
instId
}
=
window
.
currentUserInstInfo
;
//
const { instId } = window.currentUserInstInfo;
const
balanceRes
=
await
axios
.
Business
(
"public/liveAssets/query"
,
{
instId
});
//
const balanceRes = await axios.Business("public/liveAssets/query", { instId });
// balance小于等于0表示已经欠费,旗舰版用户不需要校验余额
//
//
balance小于等于0表示已经欠费,旗舰版用户不需要校验余额
const
ultimateRes
=
await
axios
.
Business
(
'public/inst/checkInstProduct'
,
{
//
const ultimateRes = await axios.Business('public/inst/checkInstProduct', {
instId
,
//
instId,
productCodeList
:
[
'ULTIMATESELL'
,
'PIP_TO_ULTIMATE'
,
'HIGH_TO_ULTIMATE'
]
//
productCodeList: ['ULTIMATESELL', 'PIP_TO_ULTIMATE', 'HIGH_TO_ULTIMATE']
});
//
});
const
{
result
}
=
balanceRes
;
//
const { result } = balanceRes;
if
((
!
result
||
result
.
balance
<=
0
)
&&
!
ultimateRes
.
result
)
{
//
if ((!result || result.balance <= 0) && !ultimateRes.result) {
this
.
handleShowNoticeModal
(
balance
);
//
this.handleShowNoticeModal(balance);
return
;
//
return;
}
//
}
const
dom
=
document
.
querySelector
(
'#detailFileInput'
);
const
dom
=
document
.
querySelector
(
'#detailFileInput'
);
dom
.
click
();
dom
.
click
();
}
}
...
@@ -401,10 +401,11 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -401,10 +401,11 @@ class SelectPrepareFileModal extends React.Component {
}
}
handleUploadDone
=
(
file
,
resourceId
)
=>
{
handleUploadDone
=
(
file
,
resourceId
)
=>
{
console
.
log
(
'9999'
);
const
{
folderList
,
folderPathList
,
currentRootDisk
,
uploadFolderPath
}
=
this
.
state
;
const
{
folderList
,
folderPathList
,
currentRootDisk
,
uploadFolderPath
}
=
this
.
state
;
const
{
scene
}
=
this
.
props
;
const
{
scene
}
=
this
.
props
;
const
{
teacherId
,
instId
}
=
window
.
currentUserInstInfo
;
//
const { teacherId, instId } = window.currentUserInstInfo;
const
currentFolder
=
folderPathList
[
folderPathList
.
length
-
1
];
const
currentFolder
=
folderPathList
[
folderPathList
.
length
-
1
];
const
{
id
=
null
}
=
uploadFolderPath
||
currentFolder
;
const
{
id
=
null
}
=
uploadFolderPath
||
currentFolder
;
let
{
size
,
type
,
name
}
=
file
;
let
{
size
,
type
,
name
}
=
file
;
...
@@ -413,6 +414,17 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -413,6 +414,17 @@ class SelectPrepareFileModal extends React.Component {
type
=
getFileTypeByName
(
name
)
type
=
getFileTypeByName
(
name
)
}
}
// const params = {
// name,
// resourceId,
// folderSize: size,
// folderFormat: type,
// folderTypeEnum: resourceId ? 'FILE' : 'FOLDER',
// disk: currentRootDisk.disk,
// instId: instId || LS.get('instId'),
// createUser: teacherId ? "TEACHER" : "ADMIN",
// parentId: id
// }
const
params
=
{
const
params
=
{
name
,
name
,
resourceId
,
resourceId
,
...
@@ -420,12 +432,12 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -420,12 +432,12 @@ class SelectPrepareFileModal extends React.Component {
folderFormat
:
type
,
folderFormat
:
type
,
folderTypeEnum
:
resourceId
?
'FILE'
:
'FOLDER'
,
folderTypeEnum
:
resourceId
?
'FILE'
:
'FOLDER'
,
disk
:
currentRootDisk
.
disk
,
disk
:
currentRootDisk
.
disk
,
instId
:
instId
||
LS
.
get
(
'instId'
),
createUser
:
"STORE_USER"
,
createUser
:
teacherId
?
"TEACHER"
:
"ADMIN"
,
parentId
:
id
,
parentId
:
id
storeId
:
User
.
getStoreId
(),
createId
:
User
.
getUserId
()
}
}
Service
.
Hades
(
'public/hadesStore/saveFolder'
,
params
).
then
((
res
)
=>
{
axios
.
Apollo
(
'public/apollo/saveFolder'
,
params
).
then
((
res
)
=>
{
const
{
query
,
selectedFileList
,
currentRootDisk
}
=
this
.
state
;
const
{
query
,
selectedFileList
,
currentRootDisk
}
=
this
.
state
;
const
_query
=
_
.
clone
(
query
);
const
_query
=
_
.
clone
(
query
);
{
/* TODO:麦麦打卡类目申请下来后解开视频入口 */
}
{
/* TODO:麦麦打卡类目申请下来后解开视频入口 */
}
...
@@ -478,9 +490,6 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -478,9 +490,6 @@ class SelectPrepareFileModal extends React.Component {
const
hasSelect
=
!!
selectedFileLength
;
const
hasSelect
=
!!
selectedFileLength
;
// 是否有上传权限
// 是否有上传权限
const
hasManagementAuthority
=
currentRootDisk
.
uploadPower
;
return
[
return
[
<
input
<
input
multiple
multiple
...
@@ -489,11 +498,12 @@ class SelectPrepareFileModal extends React.Component {
...
@@ -489,11 +498,12 @@ class SelectPrepareFileModal extends React.Component {
id=
"detailFileInput"
id=
"detailFileInput"
accept=
{
accept
}
accept=
{
accept
}
onChange=
{
(
e
)
=>
this
.
handleUpload
(
e
)
}
onChange=
{
(
e
)
=>
this
.
handleUpload
(
e
)
}
maskClosable=
{
false
}
/>,
/>,
<
div
<
div
key=
"footerLeft"
key=
"footerLeft"
className=
"footer__left"
className=
"footer__left"
className=
{
`prepare-lesson-upload ${operateType === 'select'
&& hasManagementAuthority
? 'visible' : 'hidden'}`
}
className=
{
`prepare-lesson-upload ${operateType === 'select'? 'visible' : 'hidden'}`
}
>
>
<
Tooltip
title=
{
tooltip
}
>
<
Tooltip
title=
{
tooltip
}
>
<
span
<
span
...
...
src/modules/prepare-lesson/modal/UploadProgressModal.jsx
View file @
afb1f37d
import
React
from
'react'
;
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
Modal
}
from
'antd'
;
import
OSS
from
'ali-oss'
;
import
OSS
from
'ali-oss'
;
import
Service
from
'@/common/js/service'
;
import
{
getEllipsText
}
from
"@/core/util"
;
import
{
getEllipsText
}
from
"@/core/util"
;
import
{
DEFAULT_SIZE_UNIT
,
FileTypeIcon
,
FileVerifyMap
}
from
"@/common/constants/academic/lessonEnum"
;
import
{
DEFAULT_SIZE_UNIT
,
FileTypeIcon
,
FileVerifyMap
}
from
"@/common/constants/academic/lessonEnum"
;
...
@@ -61,7 +61,7 @@ class UploadProgressModal extends React.Component {
...
@@ -61,7 +61,7 @@ class UploadProgressModal extends React.Component {
const
{
instId
}
=
window
.
currentUserInstInfo
;
const
{
instId
}
=
window
.
currentUserInstInfo
;
return
new
Promise
(
resolve
=>
{
return
new
Promise
(
resolve
=>
{
axios
.
postJSON
(
'mfs/anon/mfs/multiPartUpload'
,
{
Service
.
postJSON
(
'mfs/anon/mfs/multiPartUpload'
,
{
instId
,
instId
,
resourceName
,
resourceName
,
data
:
{
folderId
:
id
},
data
:
{
folderId
:
id
},
...
@@ -94,7 +94,6 @@ class UploadProgressModal extends React.Component {
...
@@ -94,7 +94,6 @@ class UploadProgressModal extends React.Component {
callbackBody
,
callbackBody
,
ossUri
ossUri
});
});
resolve
({
ossClient
,
resourceId
,
callBack
,
callbackBody
,
ossUri
});
resolve
({
ossClient
,
resourceId
,
callBack
,
callbackBody
,
ossUri
});
})
})
})
})
...
@@ -129,6 +128,7 @@ class UploadProgressModal extends React.Component {
...
@@ -129,6 +128,7 @@ class UploadProgressModal extends React.Component {
}).
then
(
url
=>
{
}).
then
(
url
=>
{
file
.
status
=
'success'
;
file
.
status
=
'success'
;
this
.
setState
({
fileList
});
this
.
setState
({
fileList
});
console
.
log
(
'fileList'
,
fileList
);
this
.
props
.
onUpload
(
fileContent
,
resourceId
);
this
.
props
.
onUpload
(
fileContent
,
resourceId
);
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
file
.
status
=
'fail'
;
file
.
status
=
'fail'
;
...
...
src/modules/resource-disk/components/FolderManage.jsx
View file @
afb1f37d
...
@@ -13,11 +13,11 @@ import _ from 'underscore';
...
@@ -13,11 +13,11 @@ import _ from 'underscore';
import
Service
from
'@/common/js/service'
;
import
Service
from
'@/common/js/service'
;
import
{
SUFFIX_MAP
}
from
'@/domains/resource-disk/constants'
;
import
{
SUFFIX_MAP
}
from
'@/domains/resource-disk/constants'
;
import
User
from
'@/common/js/user'
;
import
OperateArea
from
'./OperateArea'
;
import
OperateArea
from
'./OperateArea'
;
import
FolderList
from
'./FolderList'
;
import
FolderList
from
'./FolderList'
;
import
User
from
'@/common/js/user'
;
const
FOLDERLIST_URL_MAP
=
{
const
FOLDERLIST_URL_MAP
=
{
'MYSELF'
:
'public/hadesStore/folderList'
,
'MYSELF'
:
'public/hadesStore/folderList'
,
...
...
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