|
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[73220],{51379:function(e,n,a){a.d(n,{Z:function(){return _}});var i=a(17061),t=a.n(i),s=a(42122),r=a.n(s),l=a(17156),o=a.n(l),c=a(27424),d=a.n(c),u=a(67294),m=a(84519),v=a(25934),f=a(94184),p=a.n(f),h="upload___jpwPD",x=a(85893),g=function(e,n){var a=e.chunkSize,i=void 0===a?2097152:a,s=e.options,l=void 0===s?{}:s,c=e.onCancel,f=e.onComplete,g=e.onError,_=e.onProgress,j=e.onBefore,A=e.onBeginInitFile,b=e.children,w=e.accept,k=e.className,N=e.style,y=void 0===N?{}:N,Z=e.concurrency,C=void 0===Z?4:Z,S=(0,u.useState)("ready"),P=d()(S,2),I=P[0],E=P[1],M=(0,u.useState)(0),O=d()(M,2),B=(O[0],O[1]),R=(0,u.useState)(""),L=d()(R,2),D=(L[0],L[1]),V=(0,u.useState)(null),G=d()(V,2),T=G[0],q=G[1],z=(0,u.useRef)(null),Q=(0,u.useRef)((0,v.Z)()),U=(0,u.useRef)(!1);(0,u.useImperativeHandle)(n,(function(){return{cancel:K,file:T,uploadStatus:I}}));var F=function(){var e=document.getElementById(Q.current);e&&(e.value="")},H=function(){var e=o()(t()().mark((function e(n){var a,s,o,c,d,u,v,p,h,x,j,b,w;return t()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("uploading"!==I){e.next=2;break}return e.abrupt("return");case 2:return A&&A(n),a=n.size,s=Math.ceil(a/i),U.current=!1,E("uploading"),B(0),D(""),e.prev=9,e.next=12,(0,m.ZP)("/api/attachments/multipart_upload_start",{method:"POST",body:r()({fileName:n.name,chunkCount:s},l)});case 12:if(o=e.sent,!U.current&&0===(null==o?void 0:o.status)){e.next=15;break}throw new Error;case 15:c=o.upload_id,z.current=new AbortController,d=[],u=0,v=t()().mark((function e(){var o,v,f,h,x;return t()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(x in o=p*i,v=Math.min(o+i,a),f=n.slice(o,v),(h=new FormData).append("chunk",f),h.append("fileName",n.name),h.append("chunkIndex",(p+1).toString()),h.append("uploadId",c),l)Object.prototype.hasOwnProperty.call(l,x)&&h.append(x,l[x]);d.push((function(){return(0,m.ZP)("/api/attachments/multipart_upload",{method:"POST",body:h,signal:z.current.signal},!0).then((function(e){console.log(e,444),u++;var a=Math.round(u/s*100);B(a),_&&_(r()(r()({},e),{},{file:n,percent:a}))}))}));case 10:case"end":return e.stop()}}),e)})),p=0;case 21:if(!(p<s)){e.next=26;break}return e.delegateYield(v(),"t0",23);case 23:p++,e.next=21;break;case 26:h=0,x=C,console.log(d,"promises");case 29:if(!(h<d.length)){e.next=38;break}if(!((b=null===(j=d.slice(h,h+x))||void 0===j?void 0:j.map((function(e){return e()}))).length>0)){e.next=36;break}return e.next=34,Promise.all(b);case 34:e.sent,h+=x;case 36:e.next=29;break;case 38:return e.next=40,(0,m.ZP)("/api/attachments/multipart_upload_end",{method:"POST",body:r()({fileName:n.name,chunkCount:s,uploadId:c},l)});case 40:(w=e.sent).object?(E("success"),F(),f&&f(r()(r()({},w),{},{file:n,percent:100}))):(E("error"),D("上传失败,请稍后重试"),F(),g&&g(n.name)),e.next=50;break;case 44:e.prev=44,e.t1=e.catch(9),E("error"),D("上传失败,请稍后重试"),F(),g&&g(n.name);case 50:case"end":return e.stop()}}),e,null,[[9,44]])})));return function(n){return e.apply(this,arguments)}}(),K=(0,u.useCallback)((function(){U.current=!0,z.current&&(z.current.abort(),c&&c())}),[c]);return(0,x.jsxs)(u.Fragment,{children:[(0,x.jsx)("input",{type:"file",id:Q.current,style:{display:"none"},onChange:function(e){var n,a,i=null==e||null===(n=e.target)||void 0===n||null===(a=n.files)||void 0===a?void 0:a[0];if(q(i),I="ready",i){if(j)return j(i)||H(i),void F();H(i)}},accept:w}),(0,x.jsx)("label",{className:p()(h,k),htmlFor:Q.current,style:y,children:b})]})},_=(0,u.forwardRef)(g)},93899:function(e,n,a){a.d(n,{Z:function(){return f}});var i=a(27424),t=a.n(i),s=a(67294),r=a(71577),l=a(2453),o=a(92421),c=a(88484),d=a(4340),u=a(59758),m="img___BgL9D",v=a(85893),f=function(e){var n=e.value,a=e.onChange,i=e.getFileProgress,f=(0,s.useState)(!1),p=t()(f,2),h=p[0],x=p[1],g=(0,v.jsx)(r.ZP,{loading:h,icon:(0,v.jsx)(c.Z,{}),children:"选择上传文件"});return(0,v.jsx)(s.Fragment,{children:n?(0,v.jsxs)("div",{className:m,children:[(0,v.jsx)("img",{src:u.Z.API_SERVER+"/api/attachments/"+n,alt:"avatar",style:{width:288}}),(0,v.jsx)("div",{children:(0,v.jsx)(d.Z,{onClick:function(){return a("")},style:{fontSize:"16px",color:"red"}})})]}):(0,v.jsxs)("div",{children:[(0,v.jsx)(o.Z,{withCredentials:!0,name:"file",showUploadList:!1,action:"".concat(u.Z.API_SERVER,"/api/attachments.json"),onChange:function(e){if(i&&i(e),"uploading"!==e.file.status){if("done"===e.file.status){var n,t,s,r,o,c;if(x(!1),"done"===e.file.status&&-1===(null===(n=e.file)||void 0===n||null===(t=n.response)||void 0===t?void 0:t.status))return void l.ZP.error(null===(o=e.file)||void 0===o||null===(c=o.response)||void 0===c?void 0:c.message);a(null==e||null===(s=e.file)||void 0===s||null===(r=s.response)||void 0===r?void 0:r.id)}}else x(!0)},accept:"image/*",children:g}),(0,v.jsx)("div",{className:"mt20 c-light-black",children:"说明:支持上传jpg/png等格式文件,文件大小不能超过2M,建议使用288*158像素;"}),(0,v.jsx)("div",{className:"c-light-black",children:"如不上传,默认使用系统图片。"})]})})}},13298:function(e,n,a){a.r(n),a.d(n,{default:function(){return Y}});var i=a(38416),t=a.n(i),s=a(42122),r=a.n(s),l=a(17061),o=a.n(l),c=a(17156),d=a.n(c),u=a(861),m=a.n(u),v=a(27424),f=a.n(v),p=a(70215),h=a.n(p),x=a(67294),g=a(88275),_=a(6171),j=a(2453),A=a(14446),b=a(57953),w=a(38703),k=a(71577),N=a(11486),y=a(71230),Z=a(84567),C="bg___A_od2",S="main___f6Wx0",P="uploadTop___Yx2Un",I="defaultImg___qUJQT",E="colorBlue___HfgxM",M="uploadDescription___Cn5KA",O="description___qbCxZ",B="colorOrange___ZuvEg",R="fileMain___asNqA",L="fileWrap___gPP0_",D="fileProgress___xmdZ4",V="fileCancel___ikgzZ",G="fileInputWrap___mvunl",T="fileImgWrap___zdrgz",q="fileInput___Tw2dZ",z="flexRowCenter___pGglA",Q="continueAdd___SV9wg",U=a(93899),F=a(51379),H=a(58839),K=a(29427),J=a(85893),W=["user","userDetail","globalSetting","loading","dispatch"],Y=(0,g.connect)((function(e){var n=e.user,a=e.userDetail,i=e.loading;return{user:n,userDetail:a,globalSetting:e.globalSetting,loading:i.models.index}}))((function(e){var n,a,i,s=e.user,l=(e.userDetail,e.globalSetting,e.loading,e.dispatch),c=(h()(e,W),(0,g.useParams)()),u=((0,g.useLocation)(),(0,x.useState)(!1)),v=f()(u,2),p=v[0],Y=v[1],X=(0,x.useState)([]),$=f()(X,2),ee=$[0],ne=$[1],ae=(0,g.useSearchParams)(),ie=f()(ae,1)[0];(0,x.useEffect)((function(){return window.addEventListener("beforeunload",te),function(){window.removeEventListener("beforeunload",te)}}),[]);var te=function(e){e.preventDefault(),e.returnValue=""},se=function(){var e=d()(o()().mark((function e(){var n,a;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=ee)&&void 0!==n&&n.length){e.next=3;break}return j.ZP.info("请先上传视频"),e.abrupt("return");case 3:return e.next=5,(0,H.dt)({username:c.username,videos:ee.map((function(e){return console.log(e,"item"),{video_id:e.video_id,title:e.title||(null==e?void 0:e.name),attachment_id:e.attachment_id,course_id:c.coursesId,category_id:ie.get("categoryId"),allow_skip:null==e?void 0:e.allow_skip,filename:null==e?void 0:e.name}}))});case 5:0===(null==(a=e.sent)?void 0:a.status)&&((0,K.L9)(["教学课堂","视频","上传视频"]),g.history.back(),l({type:"classroomList/getClassroomLeftMenus",payload:{id:c.coursesId}}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),re=function(e,n,a){var i=ee.map((function(i,s){return i.name===a?r()(r()({},i),{},t()({loaded:"video_id"===e?100:i.loaded},e,n)):i}));ne(i)},le=null===(n=ee)||void 0===n?void 0:n.length,oe={accept:".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*",onBefore:function(e){var n,a,i,t=e.name.toLowerCase();return t&&-1==t.indexOf(".avi")&&-1==t.indexOf(".flv")&&-1==t.indexOf(".f4v")&&-1==t.indexOf(".m4v")&&-1==t.indexOf(".mov")&&-1==t.indexOf(".mp4")&&-1==t.indexOf(".rmvb")&&-1==t.indexOf(".swf")&&-1==t.indexOf(".webm")&&-1==t.indexOf(".wmv")?(j.ZP.info("不支持的视频格式"),!0):!(null!==(n=s.userInfo)&&void 0!==n&&n.admin||null!==(a=s.userInfo)&&void 0!==a&&a.business)&&e.size>1073741824?(j.ZP.info("视频大小超过".concat(1024,"M")),!0):!(null===(i=ee)||void 0===i||!i.find((function(n){return n.name===e.name})))&&(j.ZP.info("你不能上传同一个视频文件名称,请重新选择。"),!0)},onComplete:function(e){re("video_id",e.id,e.filename),Y(!1)},onError:function(e){var n=ee.filter((function(n){return n.name!==e}));ne(m()(n)),Y(!1)},onBeginInitFile:function(e){console.log(e,2222);var n=[].concat(m()(ee),[{file:e,loaded:0,name:e.name,title:"",allow_skip:!0}]);ee=n,ne(n),Y(!0)},onProgress:function(e){var n;return re("loaded",e.percent,null==e||null===(n=e.data)||void 0===n?void 0:n.filename)},chunkSize:2097152,options:{user_id:null==s||null===(a=s.userInfo)||void 0===a?void 0:a.user_id}};console.log(ee,"videoList");var ce,de,ue=null===(i=ee)||void 0===i?void 0:i.some((function(e){return 100!==e.loaded}));return(0,J.jsxs)("section",{className:C,style:{width:"100%"},children:[(0,J.jsxs)("div",{className:"mt5",style:{display:"flex"},children:[(0,J.jsx)(_.Z,{style:{marginTop:"-11px"},className:"current mr10 font16",onClick:function(){g.history.push("/classrooms/".concat(c.coursesId,"/video"))}}),(0,J.jsx)("h2",{children:"上传视频"})]}),(0,J.jsxs)("div",{className:R,style:{display:le?"block":"none"},children:[(0,J.jsxs)(b.Z,{spinning:p,children:[null===(ce=ee)||void 0===ce?void 0:ce.map((function(e,n){var a;return(0,J.jsxs)("div",{className:L,children:[(0,J.jsxs)("div",{children:[n+1,". ",e.name]}),(0,J.jsxs)("div",{className:D,children:[(0,J.jsx)(w.Z,{percent:e.loaded,status:100==e.loaded?"normal":"active"}),(0,J.jsx)("div",{className:V,children:(0,J.jsx)(k.ZP,{className:"ml20",type:"primary",onClick:function(){return n=e.name,a=100==e.loaded,void A.Z.confirm({title:"提示",centered:!0,okText:"确定",cancelText:"取消",content:(0,J.jsxs)("div",{className:"tc",children:["您确认要",a?"删除":"取消上传","该视频吗?"]}),onOk:function(){var e=ee.filter((function(e){return e.name!==n}));ne(m()(e))}});var n,a},children:100===e.loaded?"删除":"取消上传"})})]}),(0,J.jsxs)("div",{className:G,children:[(0,J.jsx)("span",{className:"mr5",children:"标题:"}),(0,J.jsx)(N.Z,{value:e.title,onChange:function(n){re("title",n.target.value,e.name)},className:q,placeholder:"标题支持最多".concat(30,"个字符"),maxLength:30,addonAfter:(0,J.jsxs)("span",{className:"c-light-black font12",children:[String(null==e||null===(a=e.title)||void 0===a?void 0:a.length),"/",30]})})]}),(0,J.jsxs)("div",{className:T,children:[(0,J.jsx)("aside",{className:"mr5",children:"上传封面图:"}),(0,J.jsx)(U.Z,{value:null==e?void 0:e.attachment_id,onChange:function(n){re("attachment_id",n,e.name)}})]}),(0,J.jsxs)(y.Z,{align:"middle",className:"mt10",children:[(0,J.jsx)("span",{className:"mr5",children:"播放设置:"}),(0,J.jsx)(Z.Z,{className:"font14",checked:e.allow_skip,onChange:function(n){re("allow_skip",n.target.checked,e.name)},children:"允许快进播放"})]})]},e.name)})),(0,J.jsx)("div",{className:"mt10",children:(null===(de=ee)||void 0===de?void 0:de.length)<=2?(0,J.jsx)(F.Z,r()(r()({},oe),{},{children:(0,J.jsx)("div",{className:"".concat(Q," current"),children:"继续添加"})})):"提示:单次最多支持3个视频文件上传"})]}),(0,J.jsxs)("div",{className:O,children:[(0,J.jsxs)("div",{children:["上传说明:目前不支持断点续传,单个视频文件最大限制1G,单次最多支持3个视频文件上传"," "]}),(0,J.jsxs)("div",{children:["视频规格:avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm、wmv"," "]}),(0,J.jsxs)("div",{children:["温馨提示:",(0,J.jsx)("span",{className:B,children:"为了更好的播放体验,建议您优先上传MP4格式。如果您是自己录制视频,建议您保存的时候将视频编码设置为AVC(H264)"})]})]}),(0,J.jsx)("div",{className:z,children:(0,J.jsx)(k.ZP,{disabled:ue,type:"primary",onClick:se,children:"立即发布"})}),(0,J.jsxs)("div",{className:"".concat(z," mt10"),children:["上传视频,即表示您已同意",(0,J.jsx)(g.Link,{to:"/users/".concat(null==c?void 0:c.username,"/videos/protocol"),className:E,children:"上传内容协议"}),",不得上传未经他人授权的作品"]})]}),(0,J.jsxs)("div",{className:S,style:{display:le?"none":"block"},children:[(0,J.jsx)("div",{className:P,children:(0,J.jsx)(F.Z,r()(r()({},oe),{},{children:(0,J.jsxs)("div",{children:[(0,J.jsx)("img",{className:I,src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAwBAMAAABTZWEsAAAAIVBMVEVHcExMrf9Qr/9TuP9Mrf9Nrf9Mrf9MrP9Nrv9Orv9MrP98EuefAAAACnRSTlMA3CULV5jA84JH4j3LZgAAANVJREFUOMvl1a0OwjAUBeCb/QgcGckSphqeAASBoKaR4KpwJDwAYhaHQuGbLNtynpKWmTWs92rg2n45orc7I9qeEZzrjSgqwIxRtAI7M7rzoKMLjhScNRqqsAyDGC0BxIw9/UYQKQEUHQ9SoGSBBmoOpG4/JQO0A3UYpP2KyyDQaGG8CB/YgDnMfhjhAw2zgEmGER6wAVkEQzbiMQp29g07YCOmo2CDjBywEadRkOSqB5NcBa/6Dbhd/AmIq0Z41c/DL3y8n0AsMbEGxSIVq1gsc+l38AI000Nd23IRqQAAAABJRU5ErkJggg=="}),(0,J.jsx)("br",{}),(0,J.jsx)("span",{className:"mt10",children:"上传视频(单个文件1000M以内)"})]})}))}),(0,J.jsx)("div",{className:M,children:(0,J.jsxs)("div",{className:O,children:[(0,J.jsxs)("div",{children:["上传说明:目前不支持断点续传,单个视频文件最大限制1G,单次最多支持3个视频文件上传"," "]}),(0,J.jsxs)("div",{children:["视频规格:avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm、wmv"," "]}),(0,J.jsxs)("div",{children:["温馨提示:",(0,J.jsx)("span",{className:B,children:"为了更好的播放体验,建议您优先上传MP4格式。如果您是自己录制视频,建议您保存的时候将视频编码设置为AVC(H264)"})]})]})})]})]})}))}}]); |