Commit 1335d49e by zhangleyuan

feat:处理图片预览

parent e9a67d8c
...@@ -169,7 +169,7 @@ class PreviewCourseModal extends React.Component { ...@@ -169,7 +169,7 @@ class PreviewCourseModal extends React.Component {
<video <video
controls controls
src={courseChapterList.length && courseChapterList[0].mediaUrl || scheduleVideoUrl } src={courseChapterList.length && courseChapterList[0].mediaUrl || scheduleVideoUrl }
poster={coverUrl ? coverUrl : `https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png`} poster={coverUrl ? coverUrl : `https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png`}
className='course-url' className='course-url'
/> />
</When> </When>
......
...@@ -116,7 +116,7 @@ class ShareLiveModal extends React.Component { ...@@ -116,7 +116,7 @@ class ShareLiveModal extends React.Component {
} }
break; break;
case 'videoClass': // 视频课 case 'videoClass': // 视频课
coverImgSrc = coverUrl || 'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png'; coverImgSrc = coverUrl || 'https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png';
break; break;
case 'graphicsClass': // 图文课 case 'graphicsClass': // 图文课
coverImgSrc = coverUrl || 'https://image.xiaomaiketang.com/xm/wFnpZtp2yB.png'; coverImgSrc = coverUrl || 'https://image.xiaomaiketang.com/xm/wFnpZtp2yB.png';
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-08-05 10:07:47 * @Date: 2020-08-05 10:07:47
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-09 16:17:21 * @LastEditTime: 2021-07-13 14:12:20
* @Description: 线上课新增/编辑页 * @Description: 线上课新增/编辑页
* @Copyright: 杭州杰竞科技有限公司 版权所有 * @Copyright: 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -767,9 +767,7 @@ class AddVideoCourse extends React.Component { ...@@ -767,9 +767,7 @@ class AddVideoCourse extends React.Component {
selectTypeList, selectTypeList,
accept accept
} = this.state } = this.state
const defaultCover = 'https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png';
// const courseWareIcon = FileVerifyMap[videoType] ? FileTypeIcon[FileVerifyMap[videoType].type] : FileTypeIcon[videoType]
const defaultCover = 'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png';
const isDefaultCover = coverUrl === defaultCover || coverUrl == null; const isDefaultCover = coverUrl === defaultCover || coverUrl == null;
return ( return (
...@@ -903,7 +901,7 @@ class AddVideoCourse extends React.Component { ...@@ -903,7 +901,7 @@ class AddVideoCourse extends React.Component {
isDefaultCover && <span className="tag">默认图</span> isDefaultCover && <span className="tag">默认图</span>
} }
{/* 如果视频和封面都没有上传的话, 那么就显示缺省, 如果上传了视频, 那么封面图就默认显示视频的第一帧, 如果上传了封面图, 那么就显示上传的封面图 */} {/* 如果视频和封面都没有上传的话, 那么就显示缺省, 如果上传了视频, 那么封面图就默认显示视频的第一帧, 如果上传了封面图, 那么就显示上传的封面图 */}
<img src={coverUrl || `https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png`} alt='' /> <img src={coverUrl || `https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png`} alt='' />
</div> </div>
</div> </div>
</div> </div>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: wufan * @Author: wufan
* @Date: 2020-04-28 18:05:30 * @Date: 2020-04-28 18:05:30
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-09 15:32:13 * @LastEditTime: 2021-07-13 14:11:00
* @Description: 线上课课程课节详情 * @Description: 线上课课程课节详情
*/ */
...@@ -31,9 +31,10 @@ function VideoCourseDetail(){ ...@@ -31,9 +31,10 @@ function VideoCourseDetail(){
const [categoryName,setCategoryName] = useState(""); const [categoryName,setCategoryName] = useState("");
const [scanFileModal,setScanFileModal] = useState<any>(null); const [scanFileModal,setScanFileModal] = useState<any>(null);
const [showPreviewModal,setShowPreviewModal] = useState(false); //是否显示loading const [showPreviewModal,setShowPreviewModal] = useState(false); //是否显示loading
const [previewing,setPreviewing] = useState(false); //是否正在预览 // const [previewing,setPreviewing] = useState(false); //是否正在预览
const [previewStatus,setPreviewStatus] = useState('UPLOAD'); //预览文件的生成状态 const [previewStatus,setPreviewStatus] = useState('UPLOAD'); //预览文件的生成状态
const [url,setUrl] = useState(''); const [url,setUrl] = useState('');
let previewing = false;
useEffect(()=>{ useEffect(()=>{
handleFetchScheudleDetail(courseId); handleFetchScheudleDetail(courseId);
},[courseId]) },[courseId])
...@@ -95,7 +96,7 @@ function VideoCourseDetail(){ ...@@ -95,7 +96,7 @@ function VideoCourseDetail(){
}else{ }else{
if(!fileVersionId){ if(!fileVersionId){
setShowPreviewModal(true); setShowPreviewModal(true);
setPreviewing(true); previewing = true;
setPreviewStatus('UPLOAD'); setPreviewStatus('UPLOAD');
const uploadParams ={ const uploadParams ={
fileUrl:mediaUrl, fileUrl:mediaUrl,
...@@ -148,7 +149,8 @@ function VideoCourseDetail(){ ...@@ -148,7 +149,8 @@ function VideoCourseDetail(){
// } // }
function cancelPreview(){ function cancelPreview(){
setShowPreviewModal(false); setShowPreviewModal(false);
setPreviewing(false); // setPreviewing(false);
previewing = false;
setPreviewStatus('UPLOAD'); setPreviewStatus('UPLOAD');
} }
...@@ -165,7 +167,7 @@ function VideoCourseDetail(){ ...@@ -165,7 +167,7 @@ function VideoCourseDetail(){
<div className="course-detail"> <div className="course-detail">
<div className='course-detail__img'> <div className='course-detail__img'>
{/* 如果视频和封面都没有上传的话, 那么就显示缺省, 如果上传了视频, 那么封面图就默认显示视频的第一帧, 如果上传了封面图, 那么就显示上传的封面图 */} {/* 如果视频和封面都没有上传的话, 那么就显示缺省, 如果上传了视频, 那么封面图就默认显示视频的第一帧, 如果上传了封面图, 那么就显示上传的封面图 */}
<img src={coverUrl || `https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png`} alt='' /> <img src={coverUrl || `https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png`} alt='' />
</div> </div>
<div className="course-detail__info"> <div className="course-detail__info">
<div className="info__title">{courseName}</div> <div className="info__title">{courseName}</div>
......
...@@ -2,6 +2,7 @@ import User from "@/common/js/user"; ...@@ -2,6 +2,7 @@ import User from "@/common/js/user";
import CourseService from "@/domains/course-domain/CourseService"; import CourseService from "@/domains/course-domain/CourseService";
import React from "react"; import React from "react";
import { Modal } from "antd"; import { Modal } from "antd";
import { FileTypeIcon } from '@/common/constants/academic/lessonEnum'
import "./LearningDetailModal.less"; import "./LearningDetailModal.less";
class LearningDetailModal extends React.Component { class LearningDetailModal extends React.Component {
...@@ -58,11 +59,7 @@ class LearningDetailModal extends React.Component { ...@@ -58,11 +59,7 @@ class LearningDetailModal extends React.Component {
<div className="course-ware__index">{`${ <div className="course-ware__index">{`${
index > 9 ? index + 1 : `0${index + 1}` index > 9 ? index + 1 : `0${index + 1}`
} `}</div> } `}</div>
<img <img className='course-ware__img' src={FileTypeIcon[item.mediaType]} alt='' />
className="course-ware__img"
src="https://image.xiaomaiketang.com/xm/TKwbQGYDBR.png"
alt=""
/>
<div className="course-ware__name">{item.courseChapterName && item.courseChapterName.replace('.MP4','')}</div> <div className="course-ware__name">{item.courseChapterName && item.courseChapterName.replace('.MP4','')}</div>
</div> </div>
......
...@@ -69,7 +69,7 @@ class VideoCourseList extends React.Component { ...@@ -69,7 +69,7 @@ class VideoCourseList extends React.Component {
<img <img
className='course-cover' className='course-cover'
src={ src={
coverUrl || 'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png' coverUrl || 'https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png'
} }
alt='封面图' alt='封面图'
/> />
......
...@@ -296,7 +296,7 @@ class KnowledgeBaseList extends React.Component { ...@@ -296,7 +296,7 @@ class KnowledgeBaseList extends React.Component {
? coverUrl ? coverUrl
: courseDivision !== "EXTERNAL" : courseDivision !== "EXTERNAL"
? `${mediaCourseUrl}?x-oss-process=video/snapshot,t_0,m_fast` ? `${mediaCourseUrl}?x-oss-process=video/snapshot,t_0,m_fast`
: "https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png" : "https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png"
} }
alt='' alt=''
/> />
......
...@@ -421,7 +421,7 @@ class AddCourse extends React.Component { ...@@ -421,7 +421,7 @@ class AddCourse extends React.Component {
coverUrl || coverUrl ||
(videoCourseDivision === 'internal' (videoCourseDivision === 'internal'
? `${mediaCourseUrl}?x-oss-process=video/snapshot,t_0,m_fast` ? `${mediaCourseUrl}?x-oss-process=video/snapshot,t_0,m_fast`
: 'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png') : 'https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png')
} }
alt='' alt=''
/> />
......
/* /*
* @Author: yuananting * @Author: yuananting
* @Date: 2021-07-05 10:50:30 * @Date: 2021-07-05 10:50:30
* @LastEditors: yuananting * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-06 15:16:47 * @LastEditTime: 2021-07-09 17:36:15
* @Description: 描述一下咯 * @Description: 描述一下咯
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
...@@ -13,6 +13,7 @@ import PlanService from '@/domains/plan-domain/planService'; ...@@ -13,6 +13,7 @@ import PlanService from '@/domains/plan-domain/planService';
import User from '@/common/js/user'; import User from '@/common/js/user';
import './UserLearnDetailModal.less'; import './UserLearnDetailModal.less';
import _ from 'underscore'; import _ from 'underscore';
import { FileTypeIcon } from '@/common/constants/academic/lessonEnum'
const defaultCover = 'https://image.xiaomaiketang.com/xm/rEAetaTEh3.png'; const defaultCover = 'https://image.xiaomaiketang.com/xm/rEAetaTEh3.png';
const CourseType = { const CourseType = {
LIVE: { LIVE: {
...@@ -195,7 +196,7 @@ class UserLearnDetailModal extends React.Component { ...@@ -195,7 +196,7 @@ class UserLearnDetailModal extends React.Component {
<span> <span>
{chapterIndex + 1}.{index + 1}&nbsp; {chapterIndex + 1}.{index + 1}&nbsp;
</span> </span>
<img className='chapter-img' src='https://image.xiaomaiketang.com/xm/TKwbQGYDBR.png' /> <img className='chapter-img' src={FileTypeIcon[record.mediaType]} />
<span>{record.name}</span> <span>{record.name}</span>
</div> </div>
); );
......
...@@ -397,7 +397,7 @@ class SelectOperatorModal extends React.Component { ...@@ -397,7 +397,7 @@ class SelectOperatorModal extends React.Component {
const { coverUrl } = record; const { coverUrl } = record;
return ( return (
<div className='course-info'> <div className='course-info'>
<img className='course-cover' src={coverUrl || 'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png'} alt='' /> <img className='course-cover' src={coverUrl || 'https://image.xiaomaiketang.com/xm/TwtGPQGE4K.png'} alt='' />
<div className='course-name'>{record.courseName}</div> <div className='course-name'>{record.courseName}</div>
</div> </div>
); );
......
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