Commit afb1f37d by zhangleyuan

feat:上传图片相关修改

parent 75eb6c76
...@@ -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 });
}); });
......
...@@ -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>
) )
} }
......
...@@ -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">
......
.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
...@@ -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
......
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';
......
...@@ -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',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment