| 1 |
- import{d as e,r as l,q as a,c as t,w as s,i as u,b as c,e as d,f as n,h as o,A as f,t as i,j as r,F as v,k as _,C as m,m as b,l as p,D as g,J as k,M as h,K as x,N as y,y as C,X as w,_ as I,g as A}from"./index-Co9nPWLO.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const P=j(e({__name:"index",setup(e){const j=l(0),P=l(""),V=l(1e3),q=l(!1),D=l(""),E=l(""),F=l(null),z=l("");let J=null;const K=l(!1),L=l(!1),M=[{label:"朋友圈",text:"发一条朋友圈,分享今天的心情"},{label:"小红书",text:"写一篇小红书种草文案,推荐一款好用的护肤品"},{label:"产品文案",text:"为我们的智能手表写一篇产品介绍,突出心率监测和防水功能"},{label:"培训课件",text:"制作一份新员工培训课件,主题是公司文化和工作流程"},{label:"销售话术",text:"写一套电话销售话术,针对有意向的客户"},{label:"故事",text:"写一个温馨感人的亲情故事"}],N=a(()=>P.value.trim().length>0&&!q.value);function T(){J&&(clearInterval(J),J=null),k()}async function U(e){var l,a,t;try{const s=await A(`/ai-content/task/${e}`);s.message&&(D.value=s.message),"completed"===s.status?(X(),E.value=(null==(l=s.result)?void 0:l.content)||(null==(a=s.result)?void 0:a.text)||"生成内容为空",F.value=(null==(t=s.result)?void 0:t.debug)||null,D.value="生成完成",q.value=!1,y(),j.value=1,C({title:"生成完成",icon:"success"})):"failed"===s.status&&(X(),q.value=!1,y(),C({title:"生成失败: "+(s.error||"未知错误"),icon:"none"}))}catch(s){console.error("轮询任务状态失败:",s)}}function X(){J&&(clearInterval(J),J=null)}async function $(){if(N.value){q.value=!0,D.value="正在创建生成任务...",E.value="",j.value=1,h({title:"创建任务..."});try{const e=await x("/ai-content/generate-async",{prompt:P.value,targetLength:V.value});if(!e.taskId)throw new Error("创建任务失败:未获取到任务ID");z.value=e.taskId,D.value="任务已创建,正在等待AI响应...",await new Promise(e=>setTimeout(e,500)),await U(z.value),q.value&&(J=setInterval(()=>{z.value&&q.value&&U(z.value)},2e3))}catch(e){q.value=!1,y(),j.value=0,C({title:"创建任务失败: "+(e.message||"未知错误"),icon:"none"})}}}function B(){w({data:E.value,success:()=>{C({title:"已复制",icon:"success"})}})}function G(){I("ai_generated_text",E.value),k()}function H(){X(),z.value="",j.value=0,E.value="",F.value=null,D.value="",L.value=!1}return(e,l)=>{const a=n,k=u,h=f,x=m,y=b;return c(),t(k,{class:"page"},{default:s(()=>[d(k,{class:"nav-bar"},{default:s(()=>[d(k,{class:"nav-content"},{default:s(()=>[d(k,{class:"nav-left",onClick:T},{default:s(()=>[d(a,{class:"back-icon"},{default:s(()=>[o("←")]),_:1})]),_:1}),d(a,{class:"page-title"},{default:s(()=>[o("AI 内容生成")]),_:1}),d(k,{class:"nav-right"},{default:s(()=>[d(a,{class:"nav-btn",onClick:l[0]||(l[0]=e=>K.value=!0)},{default:s(()=>[o("?")]),_:1})]),_:1})]),_:1})]),_:1}),d(k,{class:"main-content"},{default:s(()=>[0===j.value?(c(),t(k,{key:0,class:"card"},{default:s(()=>[d(k,{class:"card-header"},{default:s(()=>[d(a,{class:"card-title"},{default:s(()=>[o("📝 描述你的需求")]),_:1})]),_:1}),d(k,{class:"form-item"},{default:s(()=>[d(h,{modelValue:P.value,"onUpdate:modelValue":l[1]||(l[1]=e=>P.value=e),class:"prompt-input",placeholder:"例如:帮我写一篇关于人工智能的科普文章,适合在公众号发布",maxlength:1e3},null,8,["modelValue"]),d(k,{class:"input-hint"},{default:s(()=>[d(a,null,{default:s(()=>[o(i(P.value.length)+"/1000 字",1)]),_:1})]),_:1})]),_:1}),d(k,{class:"quick-templates"},{default:s(()=>[d(a,{class:"template-label"},{default:s(()=>[o("快速模板:")]),_:1}),d(k,{class:"template-list"},{default:s(()=>[(c(),r(v,null,_(M,e=>d(k,{key:e.text,class:"template-item",onClick:l=>function(e){P.value=e.text}(e)},{default:s(()=>[o(i(e.label),1)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1}),d(k,{class:"form-item"},{default:s(()=>[d(a,{class:"form-label"},{default:s(()=>[o("目标字数:"+i(V.value)+" 字",1)]),_:1}),d(x,{value:V.value,min:100,max:5e3,step:100,onChange:l[2]||(l[2]=e=>V.value=e.detail.value),activeColor:"#4F46E5",backgroundColor:"#e5e7eb","block-size":"20"},null,8,["value"]),d(k,{class:"slider-range"},{default:s(()=>[d(a,null,{default:s(()=>[o("100字")]),_:1}),d(a,null,{default:s(()=>[o("5000字")]),_:1})]),_:1})]),_:1}),d(y,{class:"generate-btn",disabled:!N.value||q.value,onClick:$},{default:s(()=>[q.value?(c(),t(a,{key:0},{default:s(()=>[o(i(D.value),1)]),_:1})):(c(),t(a,{key:1},{default:s(()=>[o("🚀 开始生成")]),_:1}))]),_:1},8,["disabled"])]),_:1})):p("",!0),1===j.value?(c(),t(k,{key:1,class:"card"},{default:s(()=>[d(k,{class:"card-header"},{default:s(()=>[d(a,{class:"card-title"},{default:s(()=>[o("📝 生成结果")]),_:1}),d(k,{class:"header-actions"},{default:s(()=>[d(a,{class:"header-action",onClick:B},{default:s(()=>[o("📋 复制")]),_:1}),d(a,{class:"header-action",onClick:l[3]||(l[3]=e=>L.value=!L.value)},{default:s(()=>[o("🔧 调试")]),_:1})]),_:1})]),_:1}),q.value?(c(),t(k,{key:0,class:"progress-section"},{default:s(()=>[d(k,{class:"progress-header"},{default:s(()=>[d(a,null,{default:s(()=>[o(i(D.value),1)]),_:1})]),_:1})]),_:1})):p("",!0),L.value&&F.value?(c(),t(k,{key:1,class:"debug-section"},{default:s(()=>[d(k,{class:"debug-header"},{default:s(()=>[d(a,{class:"debug-title"},{default:s(()=>[o("🔍 调试信息")]),_:1}),d(a,{class:"debug-close",onClick:l[4]||(l[4]=e=>L.value=!1)},{default:s(()=>[o("✕")]),_:1})]),_:1}),d(k,{class:"debug-item"},{default:s(()=>[d(a,{class:"debug-label"},{default:s(()=>[o("用户输入:")]),_:1}),d(a,{class:"debug-text"},{default:s(()=>[o(i(F.value.prompt),1)]),_:1})]),_:1}),d(k,{class:"debug-item"},{default:s(()=>[d(a,{class:"debug-label"},{default:s(()=>[o("发送给AI的Prompt:")]),_:1}),d(a,{class:"debug-text"},{default:s(()=>[o(i(F.value.finalPrompt),1)]),_:1})]),_:1}),d(k,{class:"debug-item"},{default:s(()=>[d(a,{class:"debug-label"},{default:s(()=>[o("使用模型:")]),_:1}),d(a,{class:"debug-text"},{default:s(()=>[o(i(F.value.model),1)]),_:1})]),_:1})]),_:1})):p("",!0),E.value?(c(),t(k,{key:2,class:"result-content"},{default:s(()=>[d(a,{class:"content-text"},{default:s(()=>[o(i(E.value),1)]),_:1})]),_:1})):p("",!0),d(k,{class:"result-footer"},{default:s(()=>[d(a,{class:"word-count"},{default:s(()=>{var e;return[o(i((null==(e=E.value)?void 0:e.length)||0)+" 字",1)]}),_:1})]),_:1}),d(k,{class:"btn-row"},{default:s(()=>[d(y,{class:"back-btn",onClick:H},{default:s(()=>[o("← 重新生成")]),_:1}),d(y,{class:"primary-btn",onClick:G},{default:s(()=>[o("📝 使用此内容")]),_:1})]),_:1})]),_:1})):p("",!0)]),_:1}),K.value?(c(),t(k,{key:0,class:"modal-overlay",onClick:l[7]||(l[7]=e=>K.value=!1)},{default:s(()=>[d(k,{class:"modal-content",onClick:l[6]||(l[6]=g(()=>{},["stop"]))},{default:s(()=>[d(k,{class:"modal-header"},{default:s(()=>[d(a,{class:"modal-title"},{default:s(()=>[o("使用帮助")]),_:1}),d(a,{class:"modal-close",onClick:l[5]||(l[5]=e=>K.value=!1)},{default:s(()=>[o("✕")]),_:1})]),_:1}),d(k,{class:"modal-body"},{default:s(()=>[d(a,{class:"help-text"},{default:s(()=>[o("1. 描述你想要生成的内容")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("2. 系统会自动识别内容类型")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("3. 点击生成即可获得内容")]),_:1}),d(a,{class:"help-title"},{default:s(()=>[o("支持的类型:")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("• 小说、故事、剧本")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("• 营销文案(朋友圈、小红书、抖音)")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("• 培训课件、销售话术")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("• 新闻播报、天气预报")]),_:1}),d(a,{class:"help-text"},{default:s(()=>[o("• 各种日常工作文案")]),_:1})]),_:1})]),_:1})]),_:1})):p("",!0)]),_:1})}}}),[["__scopeId","data-v-94a5d58e"]]);export{P as default};
|