videoDL-bbe0320a.js 3.3 KB

1
  1. import{_ as e}from"./index.vue_vue_type_script_setup_true_lang-f4e687fd.js";/* empty css *//* empty css *//* empty css *//* empty css */import{d as a,W as l,cE as t,a7 as s,cp as r,_ as o,o as i,c as n,a as u,w as p,b as d,m as c,x as m,e as v,t as _,z as y,l as b,F as f,y as g,cC as h,a1 as j,cR as x}from"./index-8f6379f8.js";/* empty css *//* empty css */import{a as k}from"./index-b7d848b5.js";/* empty css */import"./http-0a3fb0e3.js";/* empty css *//* empty css */const w=o(a({components:{ElButton:l},props:{urls:{type:Array,required:!0},fileName:{type:String,default:""}},setup:e=>({download:()=>{const a=t.service({text:"正在解析视频",background:"rgba(0,0,0,.2)"});if(!e.urls.length)return void s.error("没有可下载的文件");const l=document.createElement("a");l.style.display="none",l.href="#",document.body.appendChild(l),e.urls.forEach((t=>{r.get(t.download_video_url,{responseType:"blob"}).then((s=>{l.download=`《${e.fileName}》${t.series_name}.mp4`;const r=new Blob([s.data]),o=URL.createObjectURL(r);l.href=o,l.click(),URL.revokeObjectURL(o),a.close()})).catch((e=>{console.error(e),s.error("下载失败"),a.close()}))}))}})}),[["render",function(e,a,t,s,r,o){const c=l;return i(),n("div",null,[u(c,{type:"primary",onClick:e.download},{default:p((()=>[d("下载")])),_:1},8,["onClick"])])}]]),C={class:"wrapper"},L=["src"],N={class:"video-wrapper"},U={class:"flex items-center justify-between h-10"},R={class:"w-full text-base font-medium"},E={class:"ml-2 text-lg font-bold text-dark-600"},V={key:0},q=o(a({__name:"videoDL",props:{primary:String|Number},setup(a){const l=a,t=c(),s=c([]),r=c({page:1,limit:100}),o=c([]);l.primary;const q=c({}),z=c({}),B=c([]),O=e=>{k({video_id:l.primary.id,...e}).then((e=>{o.value=e.data,q.value={limit:e.limit,total:e.total}}))},S=e=>{r.value.page=Number(e.page),O(r.value)};return m((()=>{O(r.value)})),(a,r)=>{const c=h,m=w,k=j,O=x,T=e;return i(),n(f,null,[u(c,{title:"注:如需批量下载,则多选目标集数,点击下载按钮即可",type:"warning","show-icon":"",closable:!1}),v("div",C,[(i(),n("video",{id:"my-player",style:{width:"500px"},key:z.value.public_video_url,class:"video-js",controls:"",autoplay:"",ref_key:"myVideo",ref:t},[v("source",{src:z.value.public_video_url,type:"video/mp4"},null,8,L)])),v("div",N,[v("div",U,[v("div",R,[d("剧名: "),v("span",E,_(l.primary.name),1),d(),z.value.series_name?(i(),n("span",V,"(当前播放"+_(z.value.series_name)+")",1)):y("",!0)]),s.value.length>0?(i(),b(m,{key:0,urls:B.value,fileName:l.primary.name},null,8,["urls","fileName"])):y("",!0)]),q.value.total?(i(),b(T,{key:0,meta:q.value,onChange:S},{content:p((()=>[u(O,{modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=e=>s.value=e),size:"large",class:"flex flex-wrap items-center"},{default:p((()=>[(i(!0),n(f,null,g(o.value,((e,a)=>(i(),b(k,{border:"",class:"video-item",onChange:a=>(e=>{z.value=s.value.find((a=>a.public_video_url==e.public_video_url))??{},B.value=s.value,B.value})(e),key:a,label:e},{default:p((()=>[d(_(e.series_sequence),1)])),_:2},1032,["onChange","label"])))),128))])),_:1},8,["modelValue"])])),_:1},8,["meta"])):y("",!0)])])],64)}}}),[["__scopeId","data-v-211692ee"]]);export{q as default};