|
|
|
@ -11,6 +11,8 @@ import { reducer, initialState } from './VideoReducer'
|
|
|
|
|
import { deleteVideoInCloud } from './VideoUtil'
|
|
|
|
|
let uploader
|
|
|
|
|
const files = []
|
|
|
|
|
const MAX_FILE_COUNT = 3
|
|
|
|
|
const MAX_FILE_SIZE = 200
|
|
|
|
|
function VideoUploadList (props) {
|
|
|
|
|
|
|
|
|
|
const [videoes, setVideoes] = useState([]);
|
|
|
|
@ -28,13 +30,22 @@ function VideoUploadList (props) {
|
|
|
|
|
}
|
|
|
|
|
if (file.size > 200 * 1024 * 1024) {
|
|
|
|
|
// 超过200m TODO
|
|
|
|
|
alert("视频大小超过200M")
|
|
|
|
|
showNotification(`视频大小超过${MAX_FILE_SIZE}M`)
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
let gotTheSameFileName = false;
|
|
|
|
|
state.videoes.some((item) => {
|
|
|
|
|
if (item.name == file.name) {
|
|
|
|
|
gotTheSameFileName = true;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
if (gotTheSameFileName) {
|
|
|
|
|
showNotification(`你不能上传同一个视频文件名称,请重新选择。`)
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO 判断文件类型
|
|
|
|
|
var Title = file.name
|
|
|
|
|
file.type
|
|
|
|
|
var userData = '{"Vod":{}}'
|
|
|
|
|
|
|
|
|
|
if (!uploader) {
|
|
|
|
@ -164,6 +175,9 @@ function VideoUploadList (props) {
|
|
|
|
|
console.log(error)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function onTitleChange(title, index) {
|
|
|
|
|
dispatch({type: 'updateTitle', title, index})
|
|
|
|
|
}
|
|
|
|
|
// login
|
|
|
|
|
return (
|
|
|
|
|
<div className="educontent videoUploadList">
|
|
|
|
@ -171,17 +185,44 @@ function VideoUploadList (props) {
|
|
|
|
|
.videoUploadList .section {
|
|
|
|
|
background: #fff;
|
|
|
|
|
padding: 16px 20px;
|
|
|
|
|
padding-top: 0px;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .cBreadcrumb {
|
|
|
|
|
margin-top: 16px;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .title .head {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin-right: 8px;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .title .titleDescription {
|
|
|
|
|
color: #555;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .section .description {
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
margin-bottom: 30px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* item */
|
|
|
|
|
.videoUploadList .cancelUpload {
|
|
|
|
|
flex: 0 0 92px;
|
|
|
|
|
flex: 0 0 200px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.videoUploadList .titleInput {
|
|
|
|
|
width: 480px;
|
|
|
|
|
margin-top: 16px;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .videoUpload {
|
|
|
|
|
padding: 26px 0;
|
|
|
|
|
border-bottom: 1px dashed #DCDCDC;
|
|
|
|
|
}
|
|
|
|
|
.videoUploadList .videoUpload:last-child {
|
|
|
|
|
border-bottom: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
`}</style>
|
|
|
|
|
<CBreadcrumb
|
|
|
|
|
className="mb30"
|
|
|
|
|
separator=" > "
|
|
|
|
|
items={[
|
|
|
|
|
{ to: `/users/${username}/videoes`, name: '视频'},
|
|
|
|
@ -189,31 +230,40 @@ function VideoUploadList (props) {
|
|
|
|
|
]}
|
|
|
|
|
></CBreadcrumb>
|
|
|
|
|
|
|
|
|
|
<div className="title section">上传视频</div>
|
|
|
|
|
|
|
|
|
|
{state.videoes.map((item, vIndex) => {
|
|
|
|
|
return (
|
|
|
|
|
<VideoUpload {...props} {...item} className="section"
|
|
|
|
|
cancelUpload={cancelUpload} key={vIndex}
|
|
|
|
|
index={vIndex}
|
|
|
|
|
></VideoUpload>
|
|
|
|
|
)
|
|
|
|
|
})}
|
|
|
|
|
|
|
|
|
|
<div className="description section">
|
|
|
|
|
<div className="">视频大小:不支持断点续传,单个视频文件最大200M;单次最多支持3个视频文件上传 </div>
|
|
|
|
|
<div className="">视频规格:avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm </div>
|
|
|
|
|
<div className="">温馨提示:请勿上传违法视频。平台将为每一个视频分配一个地址,您可以通过引用改地址将视频使用在开发社区等模块</div>
|
|
|
|
|
<div className="title">
|
|
|
|
|
<h2 className="head">上传视频</h2>
|
|
|
|
|
<span className="titleDescription">单次最多支持{MAX_FILE_COUNT}个视频文件上传,不支持断点续传,单个视频文件最大{MAX_FILE_SIZE}M</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="section">
|
|
|
|
|
<div>
|
|
|
|
|
{state.videoes.map((item, vIndex) => {
|
|
|
|
|
return (
|
|
|
|
|
<VideoUpload {...props} {...item} className=""
|
|
|
|
|
cancelUpload={cancelUpload}
|
|
|
|
|
onTitleChange={onTitleChange}
|
|
|
|
|
key={vIndex}
|
|
|
|
|
index={vIndex}
|
|
|
|
|
></VideoUpload>
|
|
|
|
|
)
|
|
|
|
|
})}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="description">
|
|
|
|
|
<div className="">视频大小:不支持断点续传,单个视频文件最大200M;单次最多支持3个视频文件上传 </div>
|
|
|
|
|
<div className="">视频规格:avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm </div>
|
|
|
|
|
<div className="">温馨提示:请勿上传违法视频。平台将为每一个视频分配一个地址,您可以通过引用改地址将视频使用在开发社区等模块</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<Button type="primary" icon="plus-square" onClick={() => { document.getElementById('fileUpload').click()}}>
|
|
|
|
|
添加更多视频
|
|
|
|
|
</Button>
|
|
|
|
|
<input type="file" id="fileUpload" style={{display: 'none'}} onChange={onUploadChange}
|
|
|
|
|
accept="video/*"
|
|
|
|
|
></input>
|
|
|
|
|
|
|
|
|
|
<ActionBtn className="publishBtn" onClick={() => onPublish()}>立即发布</ActionBtn>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<Button type="primary" icon="plus-square" onClick={() => { document.getElementById('fileUpload').click()}}>
|
|
|
|
|
添加更多视频
|
|
|
|
|
</Button>
|
|
|
|
|
<input type="file" id="fileUpload" style={{display: 'none'}} onChange={onUploadChange}
|
|
|
|
|
accept="video/*"
|
|
|
|
|
></input>
|
|
|
|
|
|
|
|
|
|
<ActionBtn className="publishBtn" onClick={() => onPublish()}>立即发布</ActionBtn>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|