import{aA as ce,r as g,c as de,m as ue,U as _e,al as I,ar as pe,z as c,A as d,B as e,R as r,J as _,u as a,P as i,O as $,M as v,Q as U,a4 as ve,D as B,I as N,E as me,a1 as fe,K as he,W as ge}from"./vue-vendor-164775a6.js";import{_ as ye,u as be,f as Te,a as ke,L as De,g as Ce}from"./index-36b4201c.js";import{_ as O}from"./avatar-default-20a1956c.js";import{E as f,u as V,o as Se,f as F,v as Ie,q as Ve,r as Ee,t as Ue,h as Oe}from"./element-plus-83a396df.js";import{g as xe,a as Ae}from"./userWorks-2c5b5447.js";import"./utils-edfcd65b.js";const Re={class:"profile-page"},Pe={class:"sidebar"},ze={class:"nav-menu"},Me={class:"nav-item active"},Le={class:"nav-item"},We={class:"nav-item"},$e={class:"divider"},Be={class:"tools-menu"},Ne={class:"nav-item"},Fe={class:"nav-item"},qe={class:"nav-item"},Ye={class:"main-content"},Ge={class:"top-header"},Xe={class:"header-right"},je={class:"points"},we={class:"points-icon"},Je={class:"points-number"},Ke=["alt"],Qe={class:"profile-section"},He={class:"profile-info"},Ze={class:"avatar"},es=["alt"],ss={class:"user-details"},ts={class:"username"},as={key:0,class:"profile-status"},os={class:"user-id"},is={class:"published-section"},ls={class:"section-title"},ns={class:"video-grid"},rs=["onClick"],cs={class:"thumbnail-image"},ds=["src"],us=["src","alt"],_s={key:2,class:"figure"},ps={class:"video-action"},vs={key:1,class:"director-text"},ms={key:0,class:"empty-works"},fs={class:"empty-text"},hs={key:0,class:"detail-content"},gs={class:"detail-left"},ys={class:"video-container"},bs=["src","poster"],Ts=["src","alt"],ks={class:"detail-right"},Ds={class:"detail-header"},Cs={class:"user-info"},Ss={class:"avatar"},Is=["alt"],Vs={class:"username"},Es={class:"tabs"},Us={key:0,class:"description-section"},Os={class:"section-title"},xs={class:"description-text"},As={key:1,class:"reference-content"},Rs={class:"input-details-section"},Ps={class:"section-title"},zs={class:"input-images"},Ms={class:"input-image-item"},Ls=["src","alt"],Ws={class:"input-image-item"},$s=["src","alt"],Bs={class:"description-section"},Ns={class:"section-title"},Fs={key:2,class:"description-section"},qs={class:"section-title"},Ys={class:"description-text"},Gs={class:"metadata-section"},Xs={class:"metadata-item"},js={class:"label"},ws={class:"value"},Js={class:"metadata-item"},Ks={class:"label"},Qs={class:"value"},Hs={class:"metadata-item"},Zs={class:"label"},et={class:"value"},st={class:"metadata-item"},tt={class:"label"},at={class:"value"},ot={key:0,class:"metadata-item"},it={class:"label"},lt={class:"value"},nt={key:1,class:"metadata-item"},rt={class:"label"},ct={class:"value"},dt={key:2,class:"metadata-item"},ut={class:"label"},_t={class:"value"},pt={class:"action-section"},vt={__name:"Profile",setup(mt){const p=ce(),b=be(),{t:o}=Te(),m=g(!1),E=g(null),y=g({username:"",nickname:"",bio:"",avatar:"",id:"",points:0,frozenPoints:0}),x=g(!1),k=g([]),D=g(!1),C=g(!1),n=g(null),h=g("detail"),q=de(()=>{if(!E.value||!m.value)return{};const s=E.value.getBoundingClientRect();return{position:"fixed",top:`${s.bottom+8}px`,right:`${window.innerWidth-s.right}px`,zIndex:99999}}),Y=()=>{p.push("/subscription")},G=()=>{p.push("/works")},X=()=>{p.push("/text-to-video/create")},j=()=>{p.push("/image-to-video/create")},w=()=>{p.push("/storyboard-video/create")},J=()=>{m.value=!1,b.isAdmin?p.push("/admin/dashboard"):f.warning(o("profile.insufficientPermission"))},K=()=>{m.value=!1,p.push("/admin/orders")},Q=()=>{m.value=!1,b.isAdmin?p.push("/member-management"):f.warning(o("profile.insufficientPermission"))},H=()=>{m.value=!1,b.isAdmin?p.push("/system-settings"):f.warning(o("profile.insufficientPermission"))},Z=async()=>{try{m.value=!1,await b.logoutUser(),localStorage.removeItem("user"),localStorage.removeItem("token"),f.success(o("profile.logoutSuccess")),p.push("/login")}catch(s){console.error("退出登录失败:",s),f.error(o("profile.logoutFailed"))}},ee=async s=>{var t;n.value=s,h.value="detail",C.value=!0;try{const l=await Ae(s.id);if(l&&l.data&&l.data.success&&l.data.data){const T=l.data.data;n.value=z(T)}else console.error("获取作品详情失败:",((t=l==null?void 0:l.data)==null?void 0:t.message)||"未知错误"),f.error(o("profile.loadDetailFailed"))}catch(l){console.error("加载作品详情失败:",l),f.error(o("profile.loadDetailFailed")+": "+(l.message||"未知错误"))}},se=()=>{C.value=!1,n.value=null,h.value="detail"},A=s=>{if(!s)return"";const t=s.prompt&&s.prompt.trim()?s.prompt:s.description&&s.description.trim()?s.description:"";return t||(s.type==="video",o("profile.noPrompt"))},te=s=>{if(s==null||s==="")return"";if(typeof s=="number")return`${s}s`;if(typeof s=="string"){const t=s.trim();return/^\d+$/.test(t)?`${t}s`:t}return String(s)},R=s=>{s&&(s.type==="video"?p.push("/text-to-video/create"):p.push("/image-to-video/create"))},P=s=>s?s.startsWith("http://")||s.startsWith("https://")||s.startsWith("/")?s:"/"+s:null,z=s=>{var T,S;const t=P(s.resultUrl),l=P(s.thumbnailUrl);return{id:((T=s.id)==null?void 0:T.toString())||s.taskId||"",title:s.title||s.prompt||"未命名作品",cover:l||t||"/images/backgrounds/welcome.jpg",resultUrl:t||"",type:s.workType==="TEXT_TO_VIDEO"||s.workType==="IMAGE_TO_VIDEO"||s.workType==="STORYBOARD_VIDEO"?"video":"image",category:s.workType==="TEXT_TO_VIDEO"?"文生视频":s.workType==="IMAGE_TO_VIDEO"?"图生视频":s.workType==="STORYBOARD_VIDEO"?"分镜视频":s.workType==="STORYBOARD_IMAGE"?"分镜图":"未知",sizeText:s.fileSize||"未知大小",createTime:s.createdAt?new Date(s.createdAt).toLocaleString("zh-CN"):"",date:s.createdAt?new Date(s.createdAt).toLocaleDateString("zh-CN"):"",description:s.description||s.prompt||"",prompt:s.prompt||"",duration:s.duration||s.videoDuration||s.length||"",aspectRatio:s.aspectRatio||s.ratio||s.aspect||"",quality:s.quality||s.resolution||"",username:s.username||((S=s.user)==null?void 0:S.username)||s.creator||s.author||s.owner||"未知用户",status:s.status||"COMPLETED"}},ae=async()=>{var s;x.value=!0;try{const t=await Ce();if(console.log("获取用户信息响应:",t),t&&t.data&&t.data.success&&t.data.data){const l=t.data.data;console.log("用户数据:",l),y.value={username:l.username||"",nickname:l.nickname||l.username||"",bio:l.bio||"",avatar:l.avatar||"",id:l.id?String(l.id):"",points:l.points||0,frozenPoints:l.frozenPoints||0},console.log("设置后的用户信息:",y.value)}else console.error("获取用户信息失败:",((s=t==null?void 0:t.data)==null?void 0:s.message)||"未知错误"),f.error(o("profile.loadUserInfoFailed"))}catch(t){console.error("加载用户信息失败:",t),f.error(o("profile.loadUserInfoFailed")+": "+(t.message||"未知错误"))}finally{x.value=!1}},oe=async()=>{var s;D.value=!0;try{const t=await xe({page:0,size:6});if(console.log("获取作品列表响应:",t),t&&t.data&&t.data.success){const l=t.data.data||[];console.log("作品数据:",l),k.value=l.map(z),console.log("转换后的作品列表:",k.value)}else console.error("获取作品列表失败:",((s=t==null?void 0:t.data)==null?void 0:s.message)||"未知错误")}catch(t){console.error("加载作品列表失败:",t),f.error(o("profile.loadWorksFailed")+": "+(t.message||"未知错误"))}finally{D.value=!1}},M=s=>{s.target.closest(".user-status")||(m.value=!1)},ie=s=>{const t=s.target;t&&t.duration&&(t.currentTime=.1,t.pause())};return ue(()=>{document.addEventListener("click",M),ae(),oe()}),_e(()=>{document.removeEventListener("click",M)}),(s,t)=>{var L;const l=I("el-icon"),T=I("el-tag"),S=I("el-button"),le=I("el-dialog"),ne=pe("loading");return c(),d(U,null,[e("div",Re,[e("aside",Pe,[t[6]||(t[6]=e("div",{class:"logo"},[e("img",{src:ke,alt:"Logo"})],-1)),e("nav",ze,[e("div",Me,[r(l,null,{default:_(()=>[r(a(V))]),_:1}),e("span",null,i(a(o)("profile.title")),1)]),e("div",Le,[r(l,null,{default:_(()=>[r(a(Se))]),_:1}),e("span",{onClick:Y},i(a(o)("profile.subscription")),1)]),e("div",We,[r(l,null,{default:_(()=>[r(a(F))]),_:1}),e("span",{onClick:G},i(a(o)("profile.myWorks")),1)])]),e("div",$e,[e("span",null,i(a(o)("profile.tools")),1)]),e("nav",Be,[e("div",Ne,[r(l,null,{default:_(()=>[r(a(Ie))]),_:1}),e("span",{onClick:X},i(a(o)("home.textToVideo")),1)]),e("div",Fe,[r(l,null,{default:_(()=>[r(a(Ve))]),_:1}),e("span",{onClick:j},i(a(o)("home.imageToVideo")),1)]),e("div",qe,[r(l,null,{default:_(()=>[r(a(Ee))]),_:1}),e("span",{onClick:w},i(a(o)("home.storyboardVideo")),1),r(T,{size:"small",type:"primary",class:"sora-tag"},{default:_(()=>[...t[5]||(t[5]=[$("Sora2.0",-1)])]),_:1})])])]),e("main",Ye,[e("header",Ge,[e("div",Xe,[e("div",je,[e("div",we,[r(l,null,{default:_(()=>[r(a(Ue))]),_:1})]),e("span",Je,i(a(b).availablePoints),1)]),r(De),e("div",{class:"user-status",onClick:t[0]||(t[0]=u=>m.value=!m.value),ref_key:"userStatusRef",ref:E},[e("img",{src:O,alt:a(o)("dashboard.userAvatar"),class:"status-icon"},null,8,Ke)],512)])]),e("section",Qe,[e("div",He,[e("div",Ze,[e("img",{src:O,alt:a(o)("dashboard.userAvatar"),class:"avatar-image"},null,8,es)]),e("div",ss,[e("h2",ts,i(y.value.nickname||y.value.username||a(o)("profile.noUsername")),1),y.value.bio?(c(),d("p",as,i(y.value.bio),1)):v("",!0),e("p",os,i(a(o)("profile.userId"))+" "+i(y.value.id||a(o)("common.loading")),1)])])]),e("section",is,[e("h3",ls,i(a(o)("profile.published")),1),e("div",ns,[(c(!0),d(U,null,ve(k.value,(u,W)=>he((c(),d("div",{class:"video-item",key:u.id||W},[e("div",{class:"video-thumbnail",onClick:re=>ee(u)},[e("div",cs,[u.type==="video"&&u.resultUrl?(c(),d("video",{key:0,src:u.resultUrl,class:"video-cover-img",muted:"",preload:"metadata",onLoadedmetadata:ie},null,40,ds)):u.cover&&u.cover!==u.resultUrl?(c(),d("img",{key:1,src:u.cover,alt:u.title,class:"video-cover-img"},null,8,us)):(c(),d("div",_s))]),e("div",ps,[W===0?(c(),N(S,{key:0,type:"primary",size:"small",onClick:ge(re=>R(u),["stop"])},{default:_(()=>[$(i(a(o)("profile.createSimilar")),1)]),_:1},8,["onClick"])):(c(),d("span",vs,"DIRECTED BY VANNOCENT"))])],8,rs)])),[[ne,D.value]])),128)),!D.value&&k.value.length===0?(c(),d("div",ms,[e("div",fs,i(a(o)("profile.noWorksYet")),1)])):v("",!0)])])])]),r(le,{modelValue:C.value,"onUpdate:modelValue":t[4]||(t[4]=u=>C.value=u),title:(L=n.value)==null?void 0:L.title,width:"60%","before-close":se,class:"detail-dialog",modal:!1,"close-on-click-modal":!0,"close-on-press-escape":!0},{default:_(()=>[n.value?(c(),d("div",hs,[e("div",gs,[e("div",ys,[n.value.type==="video"?(c(),d("video",{key:0,class:"detail-video",src:n.value.resultUrl||n.value.cover,poster:n.value.cover,controls:""},i(a(o)("profile.browserNotSupport")),9,bs)):(c(),d("img",{key:1,class:"detail-image",src:n.value.cover,alt:n.value.title},null,8,Ts))])]),e("div",ks,[e("div",Ds,[e("div",Cs,[e("div",Ss,[e("img",{src:O,alt:a(o)("dashboard.userAvatar"),class:"avatar-image"},null,8,Is)]),e("div",Vs,i(n.value&&n.value.username||a(o)("profile.anonymousUser")),1)])]),e("div",Es,[e("div",{class:B(["tab",{active:h.value==="detail"}]),onClick:t[1]||(t[1]=u=>h.value="detail")},i(a(o)("profile.workDetail")),3),e("div",{class:B(["tab",{active:h.value==="category"}]),onClick:t[2]||(t[2]=u=>h.value="category")},i(n.value.category),3)]),h.value==="detail"?(c(),d("div",Us,[e("h3",Os,i(a(o)("video.prompt")),1),e("p",xs,i(A(n.value)),1)])):v("",!0),h.value==="category"&&n.value.category==="参考图"?(c(),d("div",As,[e("div",Rs,[e("h3",Ps,i(a(o)("profile.inputDetails")),1),e("div",zs,[e("div",Ms,[e("img",{src:n.value.cover,alt:n.value.title,class:"input-thumbnail"},null,8,Ls)]),e("div",Ws,[e("img",{src:n.value.cover,alt:n.value.title,class:"input-thumbnail"},null,8,$s)])])]),e("div",Bs,[e("h3",Ns,i(a(o)("video.prompt")),1),t[7]||(t[7]=e("p",{class:"description-text"},"图1在图2中奔跑视频",-1))])])):v("",!0),h.value==="category"&&n.value.category!=="参考图"?(c(),d("div",Fs,[e("h3",qs,i(a(o)("video.prompt")),1),e("p",Ys,i(A(n.value)),1)])):v("",!0),e("div",Gs,[e("div",Xs,[e("span",js,i(a(o)("profile.createTime")),1),e("span",ws,i(n.value.createTime),1)]),e("div",Js,[e("span",Ks,i(a(o)("profile.workId")),1),e("span",Qs,i(n.value.id),1)]),e("div",Hs,[e("span",Zs,i(a(o)("profile.date")),1),e("span",et,i(n.value.date),1)]),e("div",st,[e("span",tt,i(a(o)("profile.category")),1),e("span",at,i(n.value.category),1)]),n.value.type==="video"?(c(),d("div",ot,[e("span",it,i(a(o)("profile.duration")),1),e("span",lt,i(te(n.value.duration)||a(o)("profile.unknown")),1)])):v("",!0),n.value.type==="video"?(c(),d("div",nt,[e("span",rt,i(a(o)("profile.quality")),1),e("span",ct,i(n.value.quality||a(o)("profile.unknown")),1)])):v("",!0),n.value.type==="video"?(c(),d("div",dt,[e("span",ut,i(a(o)("profile.aspectRatio")),1),e("span",_t,i(n.value.aspectRatio||a(o)("profile.unknown")),1)])):v("",!0)]),e("div",pt,[e("button",{class:"create-similar-btn",onClick:t[3]||(t[3]=u=>R(n.value))},i(a(o)("profile.createSimilar")),1)])])])):v("",!0)]),_:1},8,["modelValue","title"]),(c(),N(fe,{to:"body"},[m.value?(c(),d("div",{key:0,class:"user-menu-teleport",style:me(q.value)},[a(b).isAdmin?(c(),d(U,{key:0},[e("div",{class:"menu-item",onClick:J},[r(l,null,{default:_(()=>[r(a(V))]),_:1}),e("span",null,i(a(o)("profile.dashboard")),1)]),e("div",{class:"menu-item",onClick:K},[r(l,null,{default:_(()=>[r(a(F))]),_:1}),e("span",null,i(a(o)("profile.orderManagement")),1)]),e("div",{class:"menu-item",onClick:Q},[r(l,null,{default:_(()=>[r(a(V))]),_:1}),e("span",null,i(a(o)("profile.memberManagement")),1)]),e("div",{class:"menu-item",onClick:H},[r(l,null,{default:_(()=>[r(a(Oe))]),_:1}),e("span",null,i(a(o)("profile.systemSettings")),1)])],64)):v("",!0),e("div",{class:"menu-item",onClick:Z},[r(l,null,{default:_(()=>[r(a(V))]),_:1}),e("span",null,i(a(o)("common.logout")),1)])],4)):v("",!0)]))],64)}}},kt=ye(vt,[["__scopeId","data-v-f7f03277"]]);export{kt as default};