sign.ec8736e1.js 8.9 KB

123456789101112131415161718192021222324
  1. import{d as N,p as pe,cz as me,fT as ve,fU as fe,r as i,R as ye,af as he,b as Q,w as T,cA as Y,o as p,e as k,L as S,f as w,u as I,h as C,k as ge,m as y,cl as H,cp as G,fV as be,cs as V,H as x,fL as we,fk as Se,I as ee,eZ as te,J as oe,cT as q,K as L,S as _,at as Ce,eJ as se,eh as ae,eq as _e,fW as ke,fX as ne,bS as re,eI as A,fQ as le,fY as Re,fZ as X,f_ as $e,_ as ie,c as h,j as B,l as Z,t as P,c_ as J,F as Ee,T as Ue,cf as Le,ef as Te,fR as U,ei as Be,f$ as Ve,cC as Pe,fB as Fe,ey as Ie,g0 as Ae,g1 as Ne,bB as W,bC as K}from"./index.932f1548.js";import{V as He}from"./init.cc58d2da.js";import{S as Me}from"./slide-menu.af440fd1.js";const je=(e,t=0,u,s)=>{const n=typeof e!="string"?URL.createObjectURL(e):e;return new Promise(function(r,c){const o=document.createElement("video");o.setAttribute("crossOrigin","anonymous"),o.setAttribute("src",n),o.setAttribute("muted",""),u&&s&&(o.setAttribute("width",`${u}px`),o.setAttribute("height",`${s}px`),o.setAttribute("style","object-fit:scale-down")),o.load(),o.addEventListener("loadedmetadata",function(){if(o.duration<t){c(new Error("\u89C6\u9891\u957F\u5EA6\u4E0D\u591F"));return}setTimeout(()=>o.currentTime=t,200),o.addEventListener("seeked",()=>{const l=document.createElement("canvas");u&&s?(l.width=u,l.height=s):(l.width=o.videoWidth,l.height=o.videoHeight),l.getContext("2d").drawImage(o,0,0,u,s);const g=l.toDataURL("image/jpeg");typeof e!="string"&&(o.pause(),URL.revokeObjectURL(n)),r(g)})})})},De={class:"imiate"},ze=N({__name:"shot-imitate",setup(e){pe(),me(),ve(),fe();const t=i(ye.summaryShow),u=he(null);Q(()=>{const n=be(t.value);n==null||n.component().then(r=>u.value=r.default)});const s=i(!1);return T(V,()=>{V.value&&(s.value=!1)}),Y(()=>{const n=document.createElement("style");return n.type="text/css",n.textContent=`
  2. #app {
  3. --editor-menu-width: 80px;
  4. }
  5. #app .edit-mode {
  6. --editor-menu-left: 0px;
  7. }
  8. #app .hideLeft {
  9. --editor-menu-left: calc(-1 * var(--editor-menu-width));
  10. --left-pano-left: calc(var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)) !important
  11. }
  12. #app .ctrl-pano-c,
  13. #app .left-pano,
  14. #app .ui-editor-toolbox {
  15. display: none;
  16. }
  17. #app .imiate .ctrl-pano-c,
  18. #app .imiate .ui-editor-toolbox {
  19. display: flex;
  20. }
  21. #app .imiate .left-pano {
  22. display: block;
  23. }
  24. `,document.head.appendChild(n),x([we.push(i(!0)),Se.push(i(!0)),ee.push(s),te.push(i(!0)),oe.push(i(!1)),()=>document.head.removeChild(n)])}),(n,r)=>(p(),k("div",De,[S("div",{class:H({hideLeft:!I(G).showLeftPano})},[w(Me,{activeName:t.value,onChangeItem:r[0]||(r[0]=c=>t.value=c.name)},null,8,["activeName"]),I(u)?(p(),C(ge(I(u)),{key:0})):y("",!0)],2)]))}}),Oe=N({props:{record:{type:Object,required:!0}},emits:{append:e=>!0,updateCover:e=>!0,close:()=>!0,preview:()=>!0,deleteRecord:()=>!0},setup(e,{emit:t}){const u={uploadUrl:"",resolution:"4k",debug:!1},s=new He(u),n=i(!1),r=i(!1),c=2*1024*1024*1024,o=30*60*1e3,l=i(0);let g,a=i(!1);const v=()=>{if(M.value>c||j.value<2e3)return re.warning(_.t("record.sizeErr"));r.value=!1,l.value=2;const d=()=>{--l.value<=0?(clearInterval(g),s.startRecord(),a.value=!0):g=setTimeout(d,300)};d()},m=()=>{l.value===0&&a.value&&(s.endRecord(),a.value=!1),l.value=0,r.value=!0,clearInterval(g)};T(a,(d,$,b)=>{if(a.value){const E=setTimeout(()=>s.endRecord(),j.value);b(()=>clearTimeout(E))}});const R=q([]),M=L(()=>(console.log(f),f.reduce((d,$)=>typeof $.origin=="string"?d:d+$.origin.size,0))),j=L(()=>o/c*(c-M.value));s.off("*"),s.on("record",d=>{a.value&&R.push(new File([d],_.t("record.vName")+".mp4",{type:"video/mp4; codecs=h264"}))}),s.on("cancelRecord",m),s.on("endRecord",m);const ce=i(null),f=q([]);let D=!1;T([R,e],async()=>{const d=[];e.record.url&&d.push(A(e.record.url));const $=le(e.record);d.push(...$,...R);for(const b of d){if(f.some(de=>de.origin===b))continue;const E=await je(b,3,120,80);f.push({origin:b,cover:E})}for(let b=0;b<f.length;b++)d.some(E=>f[b].origin===E)||f.splice(b--,1);!e.record.cover&&f.length&&t("updateCover",f[0].cover),D||(D=!0,v())},{immediate:!0});const z=d=>d.code==="Escape"&&s.endRecord();document.body.addEventListener("keyup",z,{capture:!0});const ue=()=>{t("append",R),F()},F=()=>{m(),t("close")},O=L(()=>f.length?"180px":"60px");return Ce(()=>{document.body.removeEventListener("keyup",z,{capture:!0})}),T(V,()=>{V.value&&(n.value=!1)}),Y(()=>x([Re.push(i(!1)),te.push(i(!1)),oe.push(i(!1)),X.push(r),$e.push(O),ee.push(n),F,()=>{console.log("pop",X.current)}])),{MetaType:se,complete:ue,pause:m,close:F,getResources:ae,start:v,barHeight:O,el:_e.layout,blobs:R,countdown:l,custom:G,videoList:f,palyUrl:ce,appEl:ke}},components:{Preview:ne,ShotImiate:ze}});const qe={key:0,class:"video-list"},Xe=["src"];function Ze(e,t,u,s,n,r){const c=h("ui-button"),o=h("ui-icon"),l=h("ui-editor-toolbar"),g=h("Preview"),a=h("ShotImiate");return e.appEl?(p(),C(Le,{key:0,to:e.appEl},[w(l,{toolbar:e.custom.showBottomBar,class:"shot-ctrl"},{default:B(()=>[w(c,{type:"submit",class:"btn",onClick:e.close},{default:B(()=>[Z(P(e.$t("sys.cancel")),1)]),_:1},8,["onClick"]),w(c,{type:"primary",class:H(["btn",{disabled:e.blobs.length===0}]),onClick:e.complete},{default:B(()=>[Z(P(e.$t("record.merge")),1)]),_:1},8,["onClick","class"]),S("div",{class:"other",style:J({bottom:e.barHeight})},[w(o,{class:"icon",type:"video1",ctrl:"",onClick:e.start,tip:e.$t("record.con"),tipV:"top"},null,8,["onClick","tip"])],4),e.videoList.length?(p(),k("div",qe,[S("div",{class:"layout",style:J({width:`${e.videoList.length*130}px`})},[(p(!0),k(Ee,null,Ue(e.videoList,v=>(p(),k("div",{key:v.cover,class:"cover"},[S("img",{src:e.getResources(v.cover)},null,8,Xe),w(o,{type:"preview",ctrl:"",class:"preview",onClick:m=>e.palyUrl=v.origin},null,8,["onClick"])]))),128))],4)])):y("",!0)]),_:1},8,["toolbar"]),e.palyUrl?(p(),C(g,{key:0,items:[{type:e.MetaType.video,url:e.palyUrl}],onClose:t[0]||(t[0]=v=>e.palyUrl=null)},null,8,["items"])):y("",!0),!e.custom.showBottomBar&&!e.countdown?(p(),C(a,{key:1})):y("",!0)],8,["to"])):y("",!0)}const Je=ie(Oe,[["render",Ze],["__scopeId","data-v-0ec8d4a2"]]),We=N({props:{record:{type:Object,required:!0},edit:{type:Boolean,required:!1,default:!0}},emits:{updateCover:e=>!0,updateTitle:e=>!0,delete:()=>!0},setup(e,{emit:t}){const u=L(()=>{const a=[];return[U.SUCCESS,U.UN].includes(e.record.status)&&(a.push({label:_.t("sys.rename"),value:"rename"},{label:_.t("record.con"),value:"continue"}),e.record.status===U.SUCCESS&&a.push({label:_.t("sys.download"),value:"download"})),a.push({label:_.t("sys.del"),value:"delete"}),a}),s=i(!1),n=i(),r=Te(L(()=>{var a;return(a=n.value)==null?void 0:a.vmRef.root}));Q(()=>{!r.value&&!e.record.title.length&&(r.value=!0,re.warning(_.t("record.nameErr")))});const c=i(!1),o={continue:()=>s.value=!0,delete:()=>t("delete"),rename:()=>r.value=!0,play:()=>c.value=!0,download(){const a=A(e.record.url),v=Ve(a)||"mp4";Pe(Fe(a,`${e.record.title}.${v}`))}};return e.record.immediately&&o.continue(),{menus:u,actions:o,isShot:s,isEditTitle:r,closeHandler:()=>{le(e.record).length===0&&Ie(e.record.id)&&t("delete"),s.value=!1},inputRef:n,RecordStatus:U,MetaType:se,getResources:ae,isPlayVideo:c,getResource:A,getFileUrl:Be,appendFragment:a=>{Ae.value.push(...a.map(v=>Ne({url:v,recordId:e.record.id}))),e.record.status=U.UN}}},components:{Shot:Je,Preview:ne}});const Ke={class:"content"},Qe={class:"cover"},Ye=["src"],Ge={class:"title"},xe={key:0},et={key:0,class:"action"};function tt(e,t,u,s,n,r){const c=h("ui-icon"),o=h("ui-input"),l=h("ui-more"),g=h("Shot"),a=h("Preview"),v=h("ui-group-option");return p(),C(v,{class:H(["record-sign",{sign:e.record.status===e.RecordStatus.SUCCESS}])},{default:B(()=>[S("div",Ke,[S("span",Qe,[e.record.cover?(p(),k("img",{key:0,src:e.getResources(e.getFileUrl(e.record.cover)),alt:""},null,8,Ye)):y("",!0),e.record.status===e.RecordStatus.SUCCESS?(p(),C(c,{key:1,type:"preview",ctrl:"",class:"preview",onClick:t[0]||(t[0]=m=>e.actions.play())})):y("",!0)]),W(w(o,{type:"text",modelValue:e.record.title,"onUpdate:modelValue":t[1]||(t[1]=m=>e.$emit("updateTitle",m.trim())),ref:"inputRef",height:"28px",maxlength:15},null,8,["modelValue"]),[[K,e.isEditTitle]]),W(S("div",Ge,[S("p",null,P(e.record.title),1),e.record.status===e.RecordStatus.RUN?(p(),k("span",xe,P(e.$t("record.backHandler")),1)):y("",!0)],512),[[K,!e.isEditTitle]])]),e.edit&&e.record.status===e.RecordStatus.SUCCESS?(p(),k("div",et,[w(c,{type:"order",ctrl:""}),w(l,{options:e.menus,style:{"margin-left":"20px"},onClick:t[2]||(t[2]=m=>e.actions[m]())},null,8,["options"])])):y("",!0),e.isShot?(p(),C(g,{key:1,onClose:e.closeHandler,onAppend:e.appendFragment,onUpdateCover:t[3]||(t[3]=m=>e.$emit("updateCover",m)),onDeleteRecord:t[4]||(t[4]=m=>e.$emit("delete")),record:e.record},null,8,["onClose","onAppend","record"])):y("",!0),e.isPlayVideo?(p(),C(a,{key:2,items:[{type:e.MetaType.video,url:e.record.url}],onClose:t[5]||(t[5]=m=>e.isPlayVideo=!1)},null,8,["items"])):y("",!0)]),_:1},8,["class"])}const nt=ie(We,[["render",tt],["__scopeId","data-v-49c66435"]]);export{nt as S};