| 1 |
- import{d as a,u as e,r as l,q as t,o as s,g as u,a as c,v as n,x as d,y as i,c as o,w as r,i as f,b as v,e as _,f as m,h as p,z as g,t as h,A as b,m as k,j as y,F as C,k as x,B as w,C as F,D as A,S as I,l as j,p as z,E}from"./index-Co9nPWLO.js";import{u as V}from"./audio.DwsFIuQc.js";import{_ as T}from"./_plugin-vue_export-helper.BCo6x5W8.js";const $=T(a({__name:"index",setup(a){e();const T=V(),$=l(""),q=l("cherry"),B=l({speed:1,pitch:0,volume:50}),D=l(!1),M=l(!1),N=l(!1),S=l([]),U=l([]),G=l(""),H=t(()=>G.value?S.value.filter(a=>a.category===G.value):S.value),J=t(()=>$.value.trim().length>0&&!D.value);function K(){z({url:"/pages/video-generator/index"})}function L(){$.value=""}async function O(){const a=await E();a.data&&($.value=a.data)}function P(){z({url:"/pages/ai/index"})}function Q(){z({url:"/pages/ai-content/index"})}async function R(){if(J.value){D.value=!0;try{const a=await T.generateAudio($.value,q.value,B.value);i({title:"生成成功",icon:"success"}),$.value="",z({url:`/pages/player/index?id=${a.audioId}`})}catch(a){console.error("生成失败:",a),i({title:a.message||"生成失败,请重试",icon:"none"})}finally{D.value=!1}}}return s(async()=>{await T.fetchVoices(),await async function(){try{const a=await u("/templates");S.value=a.data||[]}catch(a){console.error("获取模板失败:",a)}}()}),c(()=>{const a=n("ai_generated_text");a&&($.value=a,d("ai_generated_text"),i({title:"已填充 AI 生成的文本",icon:"success"}))}),(a,e)=>{const l=m,t=f,s=b,u=k,c=F,n=I;return v(),o(t,{class:"page"},{default:r(()=>[_(t,{class:"nav-bar"},{default:r(()=>[_(t,{class:"nav-content"},{default:r(()=>[_(l,{class:"page-title"},{default:r(()=>[p("生成音频")]),_:1})]),_:1})]),_:1}),_(t,{class:"main-content"},{default:r(()=>[_(t,{class:"card input-card"},{default:r(()=>[_(t,{class:"card-header"},{default:r(()=>[_(l,{class:"card-title"},{default:r(()=>[p("输入文本")]),_:1}),_(l,{class:g(["word-count",{warning:$.value.length>1800,error:$.value.length>=2e3}])},{default:r(()=>[p(h($.value.length)+"/2000 字 ",1)]),_:1},8,["class"])]),_:1}),_(s,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=a=>$.value=a),class:"text-input",placeholder:"请输入要转换的文本内容...",maxlength:2e3,"auto-height":""},null,8,["modelValue"]),_(t,{class:"input-actions"},{default:r(()=>[_(u,{class:"action-btn ai-btn",onClick:P},{default:r(()=>[_(l,null,{default:r(()=>[p("🤖 AI 对话")]),_:1})]),_:1}),_(u,{class:"action-btn ai-btn",onClick:Q},{default:r(()=>[_(l,null,{default:r(()=>[p("📝 AI 内容")]),_:1})]),_:1}),_(u,{class:"action-btn template-btn",onClick:e[1]||(e[1]=a=>N.value=!0)},{default:r(()=>[_(l,null,{default:r(()=>[p("📝 模板")]),_:1})]),_:1}),_(u,{class:"action-btn",onClick:L},{default:r(()=>[p("清空")]),_:1}),_(u,{class:"action-btn",onClick:O},{default:r(()=>[p("粘贴")]),_:1})]),_:1}),_(t,{class:"input-hint"},{default:r(()=>[_(l,null,{default:r(()=>[p("支持长按粘贴文本内容")]),_:1})]),_:1})]),_:1}),_(t,{class:"card voice-card"},{default:r(()=>[_(l,{class:"card-title"},{default:r(()=>[p("选择音色")]),_:1}),_(t,{class:"voice-grid"},{default:r(()=>[(v(!0),y(C,null,x(w(T).voices,a=>(v(),o(t,{key:a.id,class:g(["voice-item",{active:q.value===a.id}]),onClick:e=>q.value=a.id},{default:r(()=>[_(t,{class:"voice-icon"},{default:r(()=>[_(l,null,{default:r(()=>[p(h("female"===a.gender?"👩":"👨"),1)]),_:2},1024)]),_:2},1024),_(l,{class:"voice-name"},{default:r(()=>[p(h(a.name),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1}),_(t,{class:"card params-card"},{default:r(()=>[_(l,{class:"card-title"},{default:r(()=>[p("参数调节")]),_:1}),_(t,{class:"param-item"},{default:r(()=>[_(t,{class:"param-header"},{default:r(()=>[_(l,{class:"param-label"},{default:r(()=>[p("语速")]),_:1}),_(t,{class:"param-value"},{default:r(()=>[p(h(B.value.speed.toFixed(1))+"x",1)]),_:1})]),_:1}),_(c,{value:100*(B.value.speed-.5)/1.5,min:0,max:100,onChange:e[2]||(e[2]=a=>B.value.speed=Number((.5+a.detail.value/100*1.5).toFixed(1))),activeColor:"#4F46E5",backgroundColor:"#e5e7eb","block-size":"20"},null,8,["value"]),_(t,{class:"param-range"},{default:r(()=>[_(l,null,{default:r(()=>[p("0.5x")]),_:1}),_(l,null,{default:r(()=>[p("2.0x")]),_:1})]),_:1})]),_:1}),_(t,{class:"param-item"},{default:r(()=>[_(t,{class:"param-header"},{default:r(()=>[_(l,{class:"param-label"},{default:r(()=>[p("音调")]),_:1}),_(t,{class:"param-value"},{default:r(()=>[p(h(B.value.pitch>0?"+":"")+h(B.value.pitch),1)]),_:1})]),_:1}),_(c,{value:(B.value.pitch+500)/10,min:0,max:100,onChange:e[3]||(e[3]=a=>B.value.pitch=Math.round(10*a.detail.value-500)),activeColor:"#4F46E5",backgroundColor:"#e5e7eb","block-size":"20"},null,8,["value"]),_(t,{class:"param-range"},{default:r(()=>[_(l,null,{default:r(()=>[p("-500")]),_:1}),_(l,null,{default:r(()=>[p("+500")]),_:1})]),_:1})]),_:1}),_(t,{class:"param-item"},{default:r(()=>[_(t,{class:"param-header"},{default:r(()=>[_(l,{class:"param-label"},{default:r(()=>[p("音量")]),_:1}),_(t,{class:"param-value"},{default:r(()=>[p(h(B.value.volume)+"%",1)]),_:1})]),_:1}),_(c,{value:B.value.volume,min:0,max:100,onChange:e[4]||(e[4]=a=>B.value.volume=a.detail.value),activeColor:"#4F46E5",backgroundColor:"#e5e7eb","block-size":"20"},null,8,["value"]),_(t,{class:"param-range"},{default:r(()=>[_(l,null,{default:r(()=>[p("0%")]),_:1}),_(l,null,{default:r(()=>[p("100%")]),_:1})]),_:1})]),_:1})]),_:1}),_(u,{class:g(["generate-btn",{pressed:M.value}]),disabled:!J.value,onClick:R,onTouchstart:e[5]||(e[5]=a=>M.value=!0),onTouchend:e[6]||(e[6]=a=>M.value=!1)},{default:r(()=>[_(l,{class:"btn-text"},{default:r(()=>[p(h(D.value?"生成中...":"🎵 生成音频"),1)]),_:1})]),_:1},8,["disabled","class"]),_(t,{class:"video-entry-card",onClick:K},{default:r(()=>[_(t,{class:"video-entry-content"},{default:r(()=>[_(l,{class:"video-entry-icon"},{default:r(()=>[p("🎬")]),_:1}),_(t,{class:"video-entry-text"},{default:r(()=>[_(l,{class:"video-entry-title"},{default:r(()=>[p("视频生成")]),_:1}),_(l,{class:"video-entry-desc"},{default:r(()=>[p("图片 + 音频 = 精美视频")]),_:1})]),_:1})]),_:1}),_(l,{class:"video-entry-arrow"},{default:r(()=>[p("→")]),_:1})]),_:1})]),_:1}),N.value?(v(),o(t,{key:0,class:"template-panel",onClick:e[10]||(e[10]=a=>N.value=!1)},{default:r(()=>[_(t,{class:"template-content",onClick:e[9]||(e[9]=A(()=>{},["stop"]))},{default:r(()=>[_(t,{class:"template-header"},{default:r(()=>[_(l,{class:"template-title"},{default:r(()=>[p("选择模板")]),_:1}),_(l,{class:"template-close",onClick:e[7]||(e[7]=a=>N.value=!1)},{default:r(()=>[p("✕")]),_:1})]),_:1}),_(n,{"scroll-x":"",class:"category-tabs"},{default:r(()=>[_(t,{class:g(["category-tab",{active:""===G.value}]),onClick:e[8]||(e[8]=a=>G.value="")},{default:r(()=>[_(l,null,{default:r(()=>[p("全部")]),_:1})]),_:1},8,["class"]),(v(!0),y(C,null,x(U.value,a=>(v(),o(t,{key:a.name,class:g(["category-tab",{active:G.value===a.name}]),onClick:e=>G.value=a.name},{default:r(()=>[_(l,null,{default:r(()=>[p(h(a.name),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),_(n,{"scroll-y":"",class:"template-list"},{default:r(()=>[(v(!0),y(C,null,x(H.value,a=>(v(),o(t,{key:a.id,class:"template-item",onClick:e=>function(a){$.value=a.content,N.value=!1,i({title:`已应用模板: ${a.name}`,icon:"success"})}(a)},{default:r(()=>[_(t,{class:"template-item-header"},{default:r(()=>[_(l,{class:"template-name"},{default:r(()=>[p(h(a.name),1)]),_:2},1024),_(l,{class:"template-category"},{default:r(()=>[p(h(a.category),1)]),_:2},1024)]),_:2},1024),_(l,{class:"template-desc"},{default:r(()=>[p(h(a.description||"暂无描述"),1)]),_:2},1024),_(l,{class:"template-preview"},{default:r(()=>[p(h(a.content.slice(0,50))+"...",1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):j("",!0)]),_:1})}}}),[["__scopeId","data-v-ea8cc4ca"]]);export{$ as default};
|