import{_ as A,b as _,l as Q,c as r,h as o,k as B,a as t,e as l,g as u,r as c,u as v,D as W,s as X,m as Y,F as Z,f as ee,y as te,o as i,j as ae,G as se,H as le,I as oe,t as k,J as ne,n as ie,x as de,E as x,z as re}from"./index-BZ-MVW6h.js";const ce={class:"media-list-container"},ue={class:"page-header"},pe={class:"search-filter"},ve={class:"media-grid"},_e={class:"media-card-header"},me={class:"media-name"},fe={class:"media-preview"},ge={key:0,class:"image-preview"},ye={key:1,class:"video-preview"},he={key:2,class:"voice-preview"},we={key:3,class:"other-preview"},ke={class:"media-type-text"},Ce={class:"media-info"},be={class:"info-item"},xe={class:"info-value"},ze={class:"info-item"},Me={class:"info-value"},Se={class:"media-actions"},De={key:0,class:"empty-state"},Ve={key:1,class:"pagination-container"},Be={class:"preview-dialog-content"},Le={key:0,class:"dialog-image-preview"},Te={key:1,class:"dialog-video-preview"},Ie=["src"],$e={key:2,class:"dialog-voice-preview"},Fe=["src"],Ue={key:3,class:"dialog-other-preview"},je={class:"dialog-footer"},Ee={__name:"MediaList",setup(Ke){const L=te(),f=_(""),g=_(""),m=_(1),z=_(12),y=_(!1),p=_({}),M=_([{media_id:"media_001",name:"示例图片1.jpg",type:"image",size:1024*1024,url:"https://picsum.photos/id/1/800/600",created_at:new Date().toISOString()},{media_id:"media_002",name:"示例图片2.jpg",type:"image",size:2048*1024,url:"https://picsum.photos/id/2/800/600",created_at:new Date(Date.now()-864e5).toISOString()},{media_id:"media_003",name:"示例视频.mp4",type:"video",size:10*1024*1024,url:"https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4",created_at:new Date(Date.now()-1728e5).toISOString()},{media_id:"media_004",name:"示例音频.mp3",type:"voice",size:512*1024,url:"https://sample-videos.com/audio/mp3/crowd-cheering.mp3",created_at:new Date(Date.now()-2592e5).toISOString()}]),C=Q(()=>{let s=[...M.value];if(g.value&&(s=s.filter(e=>e.type===g.value)),f.value){const e=f.value.toLowerCase();s=s.filter(n=>n.name.toLowerCase().includes(e)||n.media_id.toLowerCase().includes(e))}return s}),T=s=>{if(s===0)return"0 B";const e=1024,n=["B","KB","MB","GB","TB"],d=Math.floor(Math.log(s)/Math.log(e));return parseFloat((s/Math.pow(e,d)).toFixed(2))+" "+n[d]},I=s=>new Date(s).toLocaleString(),$=s=>({image:"success",video:"warning",voice:"info",thumb:"primary"})[s]||"default",S=()=>{m.value=1},F=()=>{f.value="",g.value="",m.value=1},U=s=>{z.value=s,m.value=1},j=s=>{m.value=s},E=()=>{L.push("/media/upload")},K=s=>{navigator.clipboard.writeText(s).then(()=>{x.success("链接复制成功!")}).catch(()=>{x.error("链接复制失败,请手动复制")})},b=s=>{p.value=s,y.value=!0},N=()=>{y.value=!1},O=s=>{re.confirm(`确定要删除媒体文件 "${s.name}" 吗?此操作不可恢复。`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{const e=M.value.findIndex(n=>n.media_id===s.media_id);e!==-1&&(M.value.splice(e,1),x.success("媒体文件删除成功"))}).catch(()=>{x.info("已取消删除")})};return(s,e)=>{const n=c("el-icon"),d=c("el-button"),h=c("el-option"),P=c("el-select"),G=c("el-input"),R=c("el-tag"),D=c("el-image"),H=c("el-card"),V=c("el-empty"),J=c("el-pagination"),q=c("el-dialog");return i(),r("div",ce,[o("div",ue,[e[7]||(e[7]=o("h2",null,"媒体列表",-1)),t(d,{type:"primary",onClick:E},{default:l(()=>[t(n,null,{default:l(()=>[t(v(W))]),_:1}),e[6]||(e[6]=u(" 上传媒体 ",-1))]),_:1})]),o("div",pe,[t(P,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=a=>g.value=a),placeholder:"筛选媒体类型",clearable:"",class:"filter-select"},{default:l(()=>[t(h,{label:"所有类型",value:""}),t(h,{label:"图片",value:"image"}),t(h,{label:"视频",value:"video"}),t(h,{label:"音频",value:"voice"}),t(h,{label:"缩略图",value:"thumb"})]),_:1},8,["modelValue"]),t(G,{modelValue:f.value,"onUpdate:modelValue":e[1]||(e[1]=a=>f.value=a),placeholder:"搜索媒体名称或ID",clearable:"",class:"search-input",onKeyup:Y(S,["enter"])},{prefix:l(()=>[t(n,{class:"el-input__icon"},{default:l(()=>[t(v(X))]),_:1})]),_:1},8,["modelValue"]),t(d,{type:"primary",onClick:S},{default:l(()=>[...e[8]||(e[8]=[u("搜索",-1)])]),_:1}),t(d,{onClick:F},{default:l(()=>[...e[9]||(e[9]=[u("重置",-1)])]),_:1})]),o("div",ve,[(i(!0),r(Z,null,ee(C.value,a=>(i(),ae(H,{key:a.media_id,class:"media-card"},{header:l(()=>[o("div",_e,[o("span",me,k(a.name),1),t(R,{type:$(a.type)},{default:l(()=>[u(k(a.type),1)]),_:2},1032,["type"])])]),default:l(()=>[o("div",fe,[a.type==="image"?(i(),r("div",ge,[t(D,{src:a.url,"preview-src-list":[a.url],fit:"cover",onClick:w=>b(a)},null,8,["src","preview-src-list","onClick"])])):a.type==="video"?(i(),r("div",ye,[t(n,{class:"video-icon"},{default:l(()=>[t(v(se))]),_:1}),e[11]||(e[11]=o("span",{class:"media-type-text"},"视频文件",-1)),t(d,{type:"text",onClick:w=>b(a)},{default:l(()=>[...e[10]||(e[10]=[u("播放",-1)])]),_:1},8,["onClick"])])):a.type==="voice"?(i(),r("div",he,[t(n,{class:"voice-icon"},{default:l(()=>[t(v(le))]),_:1}),e[13]||(e[13]=o("span",{class:"media-type-text"},"音频文件",-1)),t(d,{type:"text",onClick:w=>b(a)},{default:l(()=>[...e[12]||(e[12]=[u("播放",-1)])]),_:1},8,["onClick"])])):(i(),r("div",we,[t(n,{class:"file-icon"},{default:l(()=>[t(v(oe))]),_:1}),o("span",ke,k(a.type)+"文件",1)]))]),o("div",Ce,[o("div",be,[e[14]||(e[14]=o("span",{class:"info-label"},"大小:",-1)),o("span",xe,k(T(a.size)),1)]),o("div",ze,[e[15]||(e[15]=o("span",{class:"info-label"},"创建时间:",-1)),o("span",Me,k(I(a.created_at)),1)])]),o("div",Se,[t(d,{type:"info",size:"small",onClick:w=>K(a.url),class:"action-btn"},{default:l(()=>[t(n,null,{default:l(()=>[t(v(ne))]),_:1}),e[16]||(e[16]=u(" 复制链接 ",-1))]),_:1},8,["onClick"]),t(d,{type:"primary",size:"small",onClick:w=>b(a),class:"action-btn"},{default:l(()=>[t(n,null,{default:l(()=>[t(v(ie))]),_:1}),e[17]||(e[17]=u(" 预览 ",-1))]),_:1},8,["onClick"]),t(d,{type:"danger",size:"small",onClick:w=>O(a),class:"action-btn"},{default:l(()=>[t(n,null,{default:l(()=>[t(v(de))]),_:1}),e[18]||(e[18]=u(" 删除 ",-1))]),_:1},8,["onClick"])])]),_:2},1024))),128))]),C.value.length===0?(i(),r("div",De,[t(V,{description:"暂无媒体文件"})])):B("",!0),C.value.length>0?(i(),r("div",Ve,[t(J,{"current-page":m.value,"onUpdate:currentPage":e[2]||(e[2]=a=>m.value=a),"page-size":z.value,"onUpdate:pageSize":e[3]||(e[3]=a=>z.value=a),"page-sizes":[12,24,48,96],layout:"total, sizes, prev, pager, next, jumper",total:C.value.length,onSizeChange:U,onCurrentChange:j},null,8,["current-page","page-size","total"])])):B("",!0),t(q,{modelValue:y.value,"onUpdate:modelValue":e[5]||(e[5]=a=>y.value=a),title:p.value.name||"媒体预览",width:"80%","before-close":N},{footer:l(()=>[o("span",je,[t(d,{onClick:e[4]||(e[4]=a=>y.value=!1)},{default:l(()=>[...e[19]||(e[19]=[u("关闭",-1)])]),_:1})])]),default:l(()=>[o("div",Be,[p.value.type==="image"?(i(),r("div",Le,[t(D,{src:p.value.url,fit:"contain"},null,8,["src"])])):p.value.type==="video"?(i(),r("div",Te,[o("video",{src:p.value.url,controls:"",width:"100%"},null,8,Ie)])):p.value.type==="voice"?(i(),r("div",$e,[o("audio",{src:p.value.url,controls:"",width:"100%"},null,8,Fe)])):(i(),r("div",Ue,[t(V,{description:"不支持的媒体类型预览"})]))])]),_:1},8,["modelValue","title"])])}}},Oe=A(Ee,[["__scopeId","data-v-94fa4aed"]]);export{Oe as default};