123456789101112131415161718192021222324 |
- import{d as P,p as ue,eW as ie,eX as ce,eY as de,r as u,R as pe,ak as me,b as G,w as U,bS as W,o as p,e as _,J as C,f as E,h as w,k as ve,m as h,bF as V,u as fe,bK as Y,eZ as he,bO as L,E as J,da as ye,cH as ge,G as K,co as Q,H as x,dt as j,I as $,a3 as be,e_ as ee,bY as Ee,e$ as Ce,f0 as te,c4 as oe,cd as T,d8 as se,f1 as we,f2 as O,f3 as _e,_ as ae,c as y,j as D,l as z,cT as Z,F as Se,bG as ke,aU as Re,cu as Fe,d9 as F,bZ as $e,cE as Ue,cM as De,c6 as Le,f4 as Be,f5 as Te,Z as q,aR as X,L as Pe}from"./offline.ee04b43a.js";import{V as Ve}from"./init.47ec3ecd.js";import{S as Ae}from"./slide-menu.3787e06f.js";import{g as Ie}from"./meta.b086afcf.js";const He=(e,t=0,c,s)=>{const n=typeof e!="string"?URL.createObjectURL(e):e;return new Promise(function(r,i){const o=document.createElement("video");o.setAttribute("crossOrigin","anonymous"),o.setAttribute("src",n),o.setAttribute("muted",""),c&&s&&(o.setAttribute("width",`${c}px`),o.setAttribute("height",`${s}px`),o.setAttribute("style","object-fit:scale-down")),o.load(),o.addEventListener("loadedmetadata",function(){if(o.duration<t){i(new Error("\u89C6\u9891\u957F\u5EA6\u4E0D\u591F"));return}setTimeout(()=>o.currentTime=t,200),o.addEventListener("seeked",()=>{const l=document.createElement("canvas");c&&s?(l.width=c,l.height=s):(l.width=o.videoWidth,l.height=o.videoHeight),l.getContext("2d").drawImage(o,0,0,c,s);const g=l.toDataURL("image/jpeg");typeof e!="string"&&(o.pause(),URL.revokeObjectURL(n)),r(g)})})})},Ne={class:"imiate"},Me=P({__name:"shot-imitate",setup(e){ue(),ie(),ce(),de();const t=u(pe.summaryShow),c=me(null);G(()=>{const n=he(t.value);n==null||n.component().then(r=>c.value=r.default)});const s=u(!1);return U(L,()=>{L.value&&(s.value=!1)}),W(()=>{const n=document.createElement("style");return n.type="text/css",n.textContent=`
- #app {
- --editor-menu-width: 80px;
- }
- #app .edit-mode {
- --editor-menu-left: 0px;
- }
- #app .hideLeft {
- --editor-menu-left: calc(-1 * var(--editor-menu-width));
- --left-pano-left: calc(var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)) !important
- }
- #app .ctrl-pano-c,
- #app .left-pano,
- #app .ui-editor-toolbox {
- display: none;
- }
- #app .imiate .ctrl-pano-c,
- #app .imiate .ui-editor-toolbox {
- display: flex;
- }
- #app .imiate .left-pano {
- display: block;
- }
- `,document.head.appendChild(n),J([ye.push(u(!0)),ge.push(u(!0)),K.push(s),Q.push(u(!0)),x.push(u(!1)),()=>document.head.removeChild(n)])}),(n,r)=>(p(),_("div",Ne,[C("div",{class:V({hideLeft:!fe(Y).showLeftPano})},[E(Ae,{activeName:t.value,onChangeItem:r[0]||(r[0]=i=>t.value=i.name)},null,8,["activeName"]),c.value?(p(),w(ve(c.value),{key:0})):h("",!0)],2)]))}}),je=P({props:{record:{type:Object,required:!0}},emits:{append:e=>!0,updateCover:e=>!0,close:()=>!0,preview:()=>!0,deleteRecord:()=>!0},setup(e,{emit:t}){const c={uploadUrl:"",resolution:"4k",debug:!1},s=new Ve(c),n=u(!1),r=u(!1),i=2*1024*1024*1024,o=30*60*1e3,l=u(0);let g,a=u(!1);const v=()=>{if(A.value>i||I.value<2e3)return oe.warning("\u5DF2\u8D85\u51FA\u9650\u5236\u5927\u5C0F\u65E0\u6CD5\u7EE7\u7EED\u5F55\u5236\uFF0C\u53EF\u4FDD\u5B58\u540E\u7EE7\u7EED\u5F55\u5236\uFF01");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)};U(a,(d,k,b)=>{if(a.value){const R=setTimeout(()=>s.endRecord(),I.value);b(()=>clearTimeout(R))}});const S=j([]),A=$(()=>(console.log(f),f.reduce((d,k)=>typeof k.origin=="string"?d:d+k.origin.size,0))),I=$(()=>o/i*(i-A.value));s.off("*"),s.on("record",d=>{a.value&&S.push(new File([d],"\u5F55\u5C4F.mp4",{type:"video/mp4; codecs=h264"}))}),s.on("cancelRecord",m),s.on("endRecord",m);const ne=u(null),f=j([]);let H=!1;U([S,e],async()=>{const d=[];e.record.url&&d.push(T(e.record.url));const k=se(e.record);d.push(...k,...S);for(const b of d){if(f.some(le=>le.origin===b))continue;const R=await He(b,3,120,80);f.push({origin:b,cover:R})}for(let b=0;b<f.length;b++)d.some(R=>f[b].origin===R)||f.splice(b--,1);!e.record.cover&&f.length&&t("updateCover",f[0].cover),H||(H=!0,v())},{immediate:!0});const N=d=>d.code==="Escape"&&s.endRecord();document.body.addEventListener("keyup",N,{capture:!0});const re=()=>{t("append",S),B()},B=()=>{m(),t("close")},M=$(()=>f.length?"180px":"60px");return be(()=>{document.body.removeEventListener("keyup",N,{capture:!0})}),U(L,()=>{L.value&&(n.value=!1)}),W(()=>J([we.push(u(!1)),Q.push(u(!1)),x.push(u(!1)),O.push(r),_e.push(M),K.push(n),B,()=>{console.log("pop",O.current)}])),{MediaType:ee,complete:re,pause:m,close:B,start:v,barHeight:M,el:Ee.layout,blobs:S,countdown:l,custom:Y,videoList:f,palyUrl:ne,appEl:Ce}},components:{Preview:te,ShotImiate:Me}});const Oe={key:0,class:"video-list"},ze=["src"];function Ze(e,t,c,s,n,r){const i=y("ui-button"),o=y("ui-icon"),l=y("ui-editor-toolbar"),g=y("Preview"),a=y("ShotImiate");return e.appEl?(p(),w(Re,{key:0,to:e.appEl},[E(l,{toolbar:e.custom.showBottomBar,class:"shot-ctrl"},{default:D(()=>[E(i,{type:"submit",class:"btn",onClick:e.close},{default:D(()=>[z("\u53D6\u6D88")]),_:1},8,["onClick"]),E(i,{type:"primary",class:V(["btn",{disabled:e.blobs.length===0}]),onClick:e.complete},{default:D(()=>[z("\u5408\u5E76\u89C6\u9891")]),_:1},8,["onClick","class"]),C("div",{class:"other",style:Z({bottom:e.barHeight})},[E(o,{class:"icon",type:"video1",ctrl:"",onClick:e.start,tip:"\u7EE7\u7EED\u5F55\u5236",tipV:"top"},null,8,["onClick"])],4),e.videoList.length?(p(),_("div",Oe,[C("div",{class:"layout",style:Z({width:`${e.videoList.length*130}px`})},[(p(!0),_(Se,null,ke(e.videoList,v=>(p(),_("div",{key:v.cover,class:"cover"},[C("img",{src:v.cover},null,8,ze),E(o,{type:"preview",ctrl:"",class:"preview",onClick:m=>e.palyUrl=v.origin},null,8,["onClick"])]))),128))],4)])):h("",!0)]),_:1},8,["toolbar"]),e.palyUrl?(p(),w(g,{key:0,items:[{type:e.MediaType.video,url:e.palyUrl}],onClose:t[0]||(t[0]=v=>e.palyUrl=null)},null,8,["items"])):h("",!0),!e.custom.showBottomBar&&!e.countdown?(p(),w(a,{key:1})):h("",!0)],8,["to"])):h("",!0)}const qe=ae(je,[["render",Ze],["__scopeId","data-v-517e4659"]]),Xe=P({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 c=$(()=>{const a=[];return[F.SUCCESS,F.UN].includes(e.record.status)&&(a.push({label:"\u91CD\u547D\u540D",value:"rename"},{label:"\u7EE7\u7EED\u5F55\u5236",value:"continue"}),e.record.status===F.SUCCESS&&a.push({label:"\u4E0B\u8F7D",value:"download"})),a.push({label:"\u5220\u9664",value:"delete"}),a}),s=u(!1),n=u(),r=Fe($(()=>{var a;return(a=n.value)==null?void 0:a.vmRef.root}));G(()=>{!r.value&&!e.record.title.length&&(r.value=!0,oe.warning("\u89C6\u9891\u540D\u79F0\u4E0D\u53EF\u4E3A\u7A7A"))});const i=u(!1),o={continue:()=>s.value=!0,delete:()=>t("delete"),rename:()=>r.value=!0,play:()=>i.value=!0,download(){const a=T(e.record.url),v=Ie(a)||"mp4";Ue(De(a,`${e.record.title}.${v}`))}};return e.record.immediately&&o.continue(),{menus:c,actions:o,isShot:s,isEditTitle:r,closeHandler:()=>{se(e.record).length===0&&Le(e.record.id)&&t("delete"),s.value=!1},inputRef:n,RecordStatus:F,MediaType:ee,isPlayVideo:i,getResource:T,getFileUrl:$e,appendFragment:a=>{Be.value.push(...a.map(v=>Te({url:v,recordId:e.record.id}))),e.record.status=F.UN}}},components:{Shot:qe,Preview:te}});const Ge={class:"content"},We={class:"cover"},Ye=["src"],Je={class:"title"},Ke={key:0},Qe={key:0,class:"action"};function xe(e,t,c,s,n,r){const i=y("ui-icon"),o=y("ui-input"),l=y("ui-more"),g=y("Shot"),a=y("Preview"),v=y("ui-group-option");return p(),w(v,{class:V(["record-sign",{sign:e.record.status===e.RecordStatus.SUCCESS}])},{default:D(()=>[C("div",Ge,[C("span",We,[e.record.cover?(p(),_("img",{key:0,src:e.getResource(e.getFileUrl(e.record.cover)),alt:""},null,8,Ye)):h("",!0),e.record.status===e.RecordStatus.SUCCESS?(p(),w(i,{key:1,type:"preview",ctrl:"",class:"preview",onClick:t[0]||(t[0]=m=>e.actions.play())})):h("",!0)]),q(E(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"]),[[X,e.isEditTitle]]),q(C("div",Je,[C("p",null,Pe(e.record.title),1),e.record.status===e.RecordStatus.RUN?(p(),_("span",Ke,"\u540E\u53F0\u6B63\u5728\u5904\u7406")):h("",!0)],512),[[X,!e.isEditTitle]])]),e.edit&&e.record.status===e.RecordStatus.SUCCESS?(p(),_("div",Qe,[E(i,{type:"order",ctrl:""}),E(l,{options:e.menus,style:{"margin-left":"20px"},onClick:t[2]||(t[2]=m=>e.actions[m]())},null,8,["options"])])):h("",!0),e.isShot?(p(),w(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"])):h("",!0),e.isPlayVideo?(p(),w(a,{key:2,items:[{type:e.MediaType.video,url:e.record.url}],onClose:t[5]||(t[5]=m=>e.isPlayVideo=!1)},null,8,["items"])):h("",!0)]),_:1},8,["class"])}const at=ae(Xe,[["render",xe],["__scopeId","data-v-18d3a607"]]);export{at as S};
|