import{aA as ae,r,c as ie,U as ne,al as re,z as d,A as v,B as e,O as ue,K as k,aj as de,P as h,aE as B,ae as N,E as A,ag as R,I as ce,R as p,J as w,u as y,M as ve,a1 as pe}from"./vue-vendor-164775a6.js";import{t as L}from"./textToVideo-2a4dedda.js";import{_ as me,u as fe}from"./index-2fb4354b.js";import{E as a,D as O,u as ge,F as ke,x as be,b as _e,G as he}from"./element-plus-4a19e5e8.js";import{o as we}from"./promptOptimizer-dc3175a2.js";import"./utils-edfcd65b.js";const ye={class:"text-to-video-create-page"},xe={class:"top-header"},Ce={class:"header-right"},Te={class:"main-content"},Ue={class:"left-panel"},Ee={class:"text-input-section"},Me={class:"optimize-btn"},Se=["disabled"],Ve={class:"video-settings"},Pe={class:"setting-item"},ze={class:"setting-item"},Ie={class:"setting-item"},Be={class:"hd-setting"},Ne={class:"right-panel"},Ae={class:"preview-area"},Re={key:0,class:"task-status"},Le={class:"status-header"},Oe={class:"task-id"},We={class:"task-description"},$e={class:"video-preview-container"},He={key:0,class:"generating-container"},Fe={class:"generating-placeholder"},Ge={class:"progress-bar-large"},je={key:1,class:"completed-container"},qe={class:"task-info-header"},Je={class:"task-checkbox"},Ke={class:"video-player-container"},Ye={class:"video-player"},De=["src"],Qe={key:1,class:"no-video-placeholder"},Xe={class:"watermark-overlay"},Ze={class:"watermark-options"},et={class:"watermark-option"},tt={class:"watermark-option"},st={key:2,class:"failed-container"},lt={key:3,class:"status-placeholder"},ot={class:"status-text"},at={key:1,class:"preview-content"},it={__name:"TextToVideoCreate",setup(nt){const f=ae(),W=fe(),u=r(""),E=r("16:9"),M=r(5),S=r(!1),b=r(!1),o=r(null),_=r(0),c=r(""),x=r(null),z=r(!1),C=r("without"),T=r(!1),m=r(!1),V=r(null),$=ie(()=>{if(!V.value||!m.value)return{};const s=V.value.getBoundingClientRect();return{position:"fixed",top:`${s.bottom+8}px`,right:`${window.innerWidth-s.right}px`,zIndex:99999}}),H=()=>{f.push("/")},F=()=>{f.push("/image-to-video/create")},G=()=>{f.push("/storyboard-video/create")},j=()=>{m.value=!m.value},q=()=>{m.value=!1,f.push("/profile")},J=()=>{m.value=!1,f.push("/works")},K=()=>{m.value=!1,f.push("/subscription")},Y=()=>{m.value=!1,f.push("/settings")},D=()=>{m.value=!1,W.logout(),f.push("/login")},P=async()=>{var t;if(b.value){a.warning("已有任务在进行中,请等待完成或取消当前任务");return}if(!u.value.trim()){a.error("请输入文本描述");return}if(u.value.trim().length>1e3){a.error("文本描述不能超过1000个字符");return}const s=O.service({lock:!0,text:"正在创建任务...",background:"rgba(0, 0, 0, 0.7)"});try{const i={prompt:u.value.trim(),aspectRatio:E.value,duration:parseInt(M.value),hdMode:S.value},l=await L.createTask(i);l.data&&l.data.success?(o.value=l.data.data,b.value=!0,_.value=0,c.value="PENDING",a.success("任务创建成功,开始处理..."),Q()):a.error(((t=l.data)==null?void 0:t.message)||"创建任务失败")}catch(i){console.error("创建任务失败:",i),a.error("创建任务失败,请重试")}finally{s.close()}},Q=()=>{o.value&&(x.value=L.pollTaskStatus(o.value.taskId,s=>{s&&typeof s.progress=="number"&&(_.value=s.progress),s&&s.status&&(c.value=s.status),s&&s.resultUrl&&s.resultUrl.trim()&&o.value&&(o.value.resultUrl=s.resultUrl,console.log("更新resultUrl:",s.resultUrl.substring(0,50)+"...")),console.log("任务进度:",s)},s=>{b.value=!1,_.value=100,c.value="COMPLETED",s&&s.resultUrl&&s.resultUrl.trim()&&o.value?(o.value.resultUrl=s.resultUrl,console.log("任务完成,resultUrl已更新:",s.resultUrl.substring(0,50)+"...")):o.value&&!o.value.resultUrl&&console.warn("任务完成但未获取到resultUrl"),a.success("视频生成完成!"),console.log("任务完成:",s)},s=>{b.value=!1,c.value="FAILED",a.error("视频生成失败:"+s.message),console.error("任务失败:",s)}))},I=s=>({PENDING:"等待中",PROCESSING:"处理中",COMPLETED:"已完成",FAILED:"失败",CANCELLED:"已取消"})[s]||"未知",X=s=>{if(!s)return"";const t=new Date(s),i=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),g=String(t.getHours()).padStart(2,"0"),U=String(t.getMinutes()).padStart(2,"0");return`${i}年${l}月${n}日 ${g}:${U}`},Z=async()=>{var s,t,i;if(!u.value.trim()){a.warning("请输入提示词");return}if(u.value.length>2e3){a.warning("提示词过长,请控制在2000字符以内");return}try{T.value=!0;const l=O.service({lock:!1,text:"正在优化提示词,请稍候...",background:"rgba(0, 0, 0, 0.3)"}),n=await we(u.value.trim(),"text-to-video");if(l.close(),n.data&&n.data.success){const g=n.data.data,U=g.optimizedPrompt;g.optimized&&U!==u.value.trim()?(u.value=U,a.success("提示词优化成功!")):a.warning("提示词已优化,但可能无明显变化")}else a.error(((s=n.data)==null?void 0:s.message)||"优化失败")}catch(l){console.error("优化提示词失败:",l);let n="优化提示词失败";if(l.response){const g=l.response.status;g===400?n=((t=l.response.data)==null?void 0:t.message)||"请求参数错误":g===408||l.code==="ECONNABORTED"?n="请求超时,请稍后重试":g>=500?n="服务器错误,请稍后重试":n=((i=l.response.data)==null?void 0:i.message)||"优化失败"}else l.request?n="网络错误,请检查网络连接":n=l.message||"优化失败";a.error(n)}finally{T.value=!1}},ee=()=>{P()},te=()=>{if(o.value&&o.value.resultUrl){const s=document.createElement("a");s.href=o.value.resultUrl,s.download=`video_${o.value.taskId}.mp4`,document.body.appendChild(s),s.click(),document.body.removeChild(s),a.success("开始下载视频")}else a.error("视频链接不可用")},se=()=>{o.value=null,b.value=!1,_.value=0,c.value="",P()},le=()=>{if(!o.value){a.error("没有可投稿的作品");return}a.success("投稿成功!"),console.log("投稿作品:",o.value)},oe=()=>{if(!o.value){a.error("没有可删除的作品");return}a.confirm("确定要删除这个作品吗?","确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{o.value=null,c.value="",a.success("作品已删除")}).catch(()=>{a.info("已取消删除")})};return ne(()=>{x.value&&(x.value(),x.value=null)}),(s,t)=>{const i=re("el-icon");return d(),v("div",ye,[e("header",xe,[e("div",{class:"header-left"},[e("button",{class:"back-btn",onClick:H}," ← 首页 ")]),e("div",Ce,[t[7]||(t[7]=e("div",{class:"credits-info"},[e("div",{class:"credits-circle"},"25"),e("span",null,"| 首购优惠")],-1)),t[8]||(t[8]=e("div",{class:"notification-icon"},[ue(" 🔔 "),e("div",{class:"notification-badge"},"5")],-1)),e("div",{class:"user-avatar",onClick:j,ref_key:"userAvatarRef",ref:V}," 👤 ",512)])]),e("div",Te,[e("div",Ue,[e("div",{class:"creation-tabs"},[t[9]||(t[9]=e("div",{class:"tab active"},"文生视频",-1)),e("div",{class:"tab",onClick:F},"图生视频"),e("div",{class:"tab",onClick:G},"分镜视频")]),e("div",Ee,[k(e("textarea",{"onUpdate:modelValue":t[0]||(t[0]=l=>u.value=l),placeholder:"输入文字,描述想要生成的内容",class:"text-input",rows:"8"},null,512),[[de,u.value]]),e("div",Me,[e("button",{class:"optimize-button",onClick:Z,disabled:!u.value.trim()||T.value}," ✨ "+h(T.value?"优化中...":"一键优化"),9,Se)])]),e("div",Ve,[e("div",Pe,[t[11]||(t[11]=e("label",null,"比例",-1)),k(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>E.value=l),class:"setting-select"},[...t[10]||(t[10]=[e("option",{value:"16:9"},"16:9",-1),e("option",{value:"9:16"},"9:16",-1),e("option",{value:"1:1"},"1:1",-1)])],512),[[B,E.value]])]),e("div",ze,[t[13]||(t[13]=e("label",null,"时长",-1)),k(e("select",{"onUpdate:modelValue":t[2]||(t[2]=l=>M.value=l),class:"setting-select"},[...t[12]||(t[12]=[e("option",{value:"5"},"5s",-1),e("option",{value:"10"},"10s",-1)])],512),[[B,M.value]])]),e("div",Ie,[t[15]||(t[15]=e("label",null,"高清模式 (1080P)",-1)),e("div",Be,[k(e("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=l=>S.value=l),class:"hd-switch"},null,512),[[N,S.value]]),t[14]||(t[14]=e("span",{class:"cost-text"},"开启消耗20积分",-1))])])]),e("div",{class:"generate-section"},[e("button",{class:"generate-btn",onClick:P}," 开始生成 ")])]),e("div",Ne,[e("div",Ae,[o.value?(d(),v("div",Re,[e("div",Le,[e("h3",null,h(I(c.value)),1),e("div",Oe,"文生视频 "+h(X(o.value.createdAt)),1)]),e("div",We,h(u.value),1),e("div",$e,[b.value?(d(),v("div",He,[e("div",Fe,[t[16]||(t[16]=e("div",{class:"generating-text"},"生成中",-1)),e("div",Ge,[e("div",{class:"progress-fill-large",style:A({width:_.value+"%"})},null,4)])])])):c.value==="COMPLETED"?(d(),v("div",je,[e("div",qe,[e("div",Je,[k(e("input",{type:"checkbox",id:"inProgress","onUpdate:modelValue":t[4]||(t[4]=l=>z.value=l)},null,512),[[N,z.value]]),t[17]||(t[17]=e("label",{for:"inProgress"},"进行中",-1))])]),e("div",Ke,[e("div",Ye,[o.value.resultUrl?(d(),v("video",{key:0,src:o.value.resultUrl,controls:"",class:"result-video",poster:""},null,8,De)):(d(),v("div",Qe,[...t[18]||(t[18]=[e("div",{class:"no-video-text"},"视频生成完成,但未获取到视频链接",-1)])])),e("div",Xe,[e("div",Ze,[e("div",et,[k(e("input",{type:"radio",id:"withWatermark",name:"watermark",value:"with","onUpdate:modelValue":t[5]||(t[5]=l=>C.value=l)},null,512),[[R,C.value]]),t[19]||(t[19]=e("label",{for:"withWatermark"},"带水印",-1))]),e("div",tt,[k(e("input",{type:"radio",id:"withoutWatermark",name:"watermark",value:"without","onUpdate:modelValue":t[6]||(t[6]=l=>C.value=l)},null,512),[[R,C.value]]),t[20]||(t[20]=e("label",{for:"withoutWatermark"},"不带水印 会员专享",-1))])])])])]),e("div",{class:"result-actions"},[e("button",{class:"action-btn primary",onClick:ee},"做同款"),e("button",{class:"action-btn primary",onClick:le},"投稿"),e("div",{class:"action-icons"},[e("button",{class:"icon-btn",onClick:te,title:"下载视频"},[...t[21]||(t[21]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor"},[e("path",{d:"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"})],-1)])]),e("button",{class:"icon-btn",onClick:oe,title:"删除作品"},[...t[22]||(t[22]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor"},[e("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})],-1)])])])])])):c.value==="FAILED"?(d(),v("div",st,[t[23]||(t[23]=e("div",{class:"failed-placeholder"},[e("div",{class:"failed-icon"},"❌"),e("div",{class:"failed-text"},"生成失败"),e("div",{class:"failed-desc"},"请检查输入内容或重试")],-1)),e("div",{class:"result-actions"},[e("button",{class:"action-btn primary",onClick:se},"重新生成")])])):(d(),v("div",lt,[e("div",ot,h(I(c.value)),1)]))])])):(d(),v("div",at,[...t[24]||(t[24]=[e("div",{class:"preview-placeholder"},[e("div",{class:"placeholder-text"},"开始创作您的第一个作品吧!")],-1)])]))])])]),(d(),ce(pe,{to:"body"},[m.value?(d(),v("div",{key:0,class:"user-menu-teleport",style:A($.value)},[e("div",{class:"menu-item",onClick:q},[p(i,null,{default:w(()=>[p(y(ge))]),_:1}),t[25]||(t[25]=e("span",null,"个人资料",-1))]),e("div",{class:"menu-item",onClick:J},[p(i,null,{default:w(()=>[p(y(ke))]),_:1}),t[26]||(t[26]=e("span",null,"我的作品",-1))]),e("div",{class:"menu-item",onClick:K},[p(i,null,{default:w(()=>[p(y(be))]),_:1}),t[27]||(t[27]=e("span",null,"会员订阅",-1))]),e("div",{class:"menu-item",onClick:Y},[p(i,null,{default:w(()=>[p(y(_e))]),_:1}),t[28]||(t[28]=e("span",null,"系统设置",-1))]),t[30]||(t[30]=e("div",{class:"menu-divider"},null,-1)),e("div",{class:"menu-item logout",onClick:D},[p(i,null,{default:w(()=>[p(y(he))]),_:1}),t[29]||(t[29]=e("span",null,"退出登录",-1))])],4)):ve("",!0)]))])}}},mt=me(it,[["__scopeId","data-v-4e06cecb"]]);export{mt as default};