Files
qhmes/web-dist/js/AiVideo-C_OMJNIc.js

8 lines
12 KiB
Java
Raw Normal View History

2026-06-16 18:19:57 +08:00
var le=Object.defineProperty,ae=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var H=(a,o,r)=>o in a?le(a,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[o]=r,G=(a,o)=>{for(var r in o||(o={}))ie.call(o,r)&&H(a,r,o[r]);if(N)for(var r of N(o))re.call(o,r)&&H(a,r,o[r]);return a},j=(a,o)=>ae(a,ne(o));var I=(a,o,r)=>new Promise((A,P)=>{var L=c=>{try{h(r.next(c))}catch(y){P(y)}},u=c=>{try{h(r.throw(c))}catch(y){P(y)}},h=c=>c.done?A(c.value):Promise.resolve(c.value).then(L,u);h((r=r.apply(a,o)).next())});import{e as ce,o as ue,r as _,d as de,C as p,z as m,Q as t,f as d,u as g,F as Q,D as Y,A as V,K as ve,H as B,G as S,c as pe,R as me,E}from"./vue-vendor-DNhG1Cve.js";import{B as fe}from"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import{u as _e}from"./useForm-D61zovon.js";import{d as D,u as ge,v as F,s as ye,bR as xe,aH as he,x as w,au as ke}from"./index-X7Y8jykP.js";import"./index-BzChaRPg.js";import"./useAppInject-DPZGPcR3.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./index-DO7ZhK45.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./useTimeout-D5AmIBZw.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./index-saD4h7VJ.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./uniqBy--vsL0WVB.js";import"./index-BDvqZ5j4.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-CuWaQdlK.js";const be=[{label:"视频尺寸",field:"size",component:"Select",defaultValue:"1920x1080",componentProps:{options:[{label:"1280x720 (720P)",value:"1280x720"},{label:"720x1280",value:"720x1280"},{label:"1024x1024",value:"1024x1024"},{label:"1920x1080 (1080P)",value:"1920x1080"},{label:"1080x1920",value:"1080x1920"},{label:"2048x1080 (2K)",value:"2048x1080"},{label:"3840x2160 (4K)",value:"3840x2160"}],placeholder:"请选择视频尺寸"}},{label:"视频帧率",field:"fps",component:"Select",defaultValue:30,componentProps:{options:[{label:"30 FPS",value:30},{label:"60 FPS",value:60}],placeholder:"请选择视频帧率"}},{label:"视频时长",field:"duration",component:"Select",defaultValue:5,componentProps:{options:[{label:"5秒",value:5},{label:"10秒",value:10}],placeholder:"请选择视频时长"}},{label:"是否ai合成音效",field:"izAiAudio",component:"Select",defaultValue:0,componentProps:{options:[{label:"",value:0},{label:"",value:1}]}}],Ie=a=>D.post({url:"/airag/video/submit",params:a},{isTransformResponse:!1}),q=a=>D.get({url:`/airag/video/query/${a}`},{isTransformResponse:!1}),Se=a=>D.get({url:"/airag/video/listByUser",params:a},{isTransformResponse:!1}),we=a=>D.delete({url:"/airag/video/deleteVideoRecord",params:a},{isTransformResponse:!1,joinParamsToUrl:!0}),Te={class:"ai-video-page"},Ce={class:"content-wrapper"},Ue={class:"control-panel"},Ve={class:"form-container"},Fe={class:"form-item-group"},Ae={class:"preset-group"},Pe={class:"preset-items"},$e=["onClick"],ze={class:"action-btn-group"},Re={class:"preview-panel"},Be={class:"preview-content"},Ee={key:0,class:"empty-state"},De={key:1,class:"loading-state"},Le={class:"loading-text"},Ke={class:"elapsed-time"},Me={class:"status-text"},Ne={key:2,class:"video-player-wrapper"},He=["src"],Ge={key:0,class:"video-info-section"},je={class:"current-video-info"},Qe={class:"info-text"},Ye={class:"history-panel"},qe={class:"history-list-wrapper"},Je={key:0,class:"empty-history"},Oe={key:1,class:"history-list"},We={class:"item-header"},Xe=["title"],Ze={class:"item-time"},et={class:"item-actions"},T="ai_video_task_id",tt=ce({__name:"AiVideo",setup(a){const{createMessage:o}=ye(),r=ge(),A=be.filter(s=>!["text"].includes(s.field)),[P,{validate:L}]=_e({schemas:A,showActionButtonGroup:!1,wrapperCol:{
外貌着装 她穿着浅色职业装妆容精致无瑕
核心动作 她一只手握着一支高端口红另一只手优雅地打开盖子露出丝滑的膏体她温柔地将口红涂抹在自己的嘴唇上动作轻柔目光专注且含笑
背景环境 身后是明亮整洁的直播工作室有环形灯补光背景呈柔和的虚化效果
画面质感 高色彩饱和度电影级布光4k分辨率60fps
特殊效果 使用慢镜头捕捉口红涂抹瞬间的丝滑质感
语言风格中文适合电商直播带货场景风格专业清晰有说服力`}];function z(){return I(this,null,function*(){var s,e;try{const l=(s=r.getUserInfo)==null?void 0:s.id;if(!l)return;const n=yield Se({userId:l});if(n&&n.result){const v=Array.isArray(n.result)?n.result:((e=n.result)==null?void 0:e.records)||[];K.value=v.map(i=>j(G({},i),{videoFullUrl:i.videoUrl?F(i.videoUrl):""}))}}catch(l){}})}z();function W(s){M.value||(M.value=!0,x.value=s,setTimeout(()=>{M.value=!1},300))}function f(){C&&(clearInterval(C),C=null),U&&(clearInterval(U),U=null)}function X(){return I(this,null,function*(){var s;try{const e=yield L();if(!x.value.trim()){o.warn("请输入文案内容");return}u.value=!0,c.value="",k.value=0,$.value="任务已提交,排队中...",e.prompt=x.value.trim(),U=setInterval(()=>{k.value++},1e3);const l=yield Ie(e);if(!l||!l.success||!((s=l.result)!=null&&s.taskId)){o.error((l==null?void 0:l.message)||"提交任务失败"),u.value=!1,f();return}const n=l.result.taskId;localStorage.setItem(T,n),$.value="视频生成中...",C=setInterval(()=>I(null,null,function*(){try{const v=yield q(n);if(v!=null&&v.success&&v.result){const{status:i,videoUrl:R,message:b}=v.result;i==="SUCCESS"?(f(),u.value=!1,localStorage.removeItem(T),c.value=F(R)||"",y.value=x.value,o.success("视频生成成功!"),yield z()):i==="FAIL"&&(f(),u.value=!1,localStorage.removeItem(T),o.error(b||"视频生成失败"))}}catch(v){f(),u.value=!1,o.error("查询任务状态失败: "+(v.message||"未知错误"))}}),5e3)}catch(e){if(f(),u.value=!1,e!=null&&e.errorFields)return;o.error(e.message||"提交任务失败")}})}function Z(s){c.value=s.videoFullUrl||F(s.videoUrl)||"",y.value=s.content,setTimeout(()=>{var e,l;(l=(e=h.value)==null?void 0:e.play)==null||l.call(e)},0)}function ee(s){x.value=s.content,o.success("已将文案填入输入框")}function te(s){const e=s.videoFullUrl||F(s.videoUrl);if(!e){o.error("下载地址不存在");return}const l=document.createElement("a");l.href=e,l.download=s.fileName||`video-${Date.now()}.mp4`,l.target="_blank",document.body.appendChild(l),l.click(),document.body.removeChild(l)}function se(s){return I(this,null,function*(){var l;const e=(l=r.getUserInfo)==null?void 0:l.id;if(e)try{const n=yield we({userId:e,recordId:s});n.success?(o.success("已删除"),yield z()):o.error(n.message||"删除失败")}catch(n){o.error("删除失败")}})}function oe(s){return(s==null?void 0:s.createTime)||""}return ue(()=>{const s=localStorage.getItem(T);s&&(u.value=!0,c.value="",k.value=0,$.value="任务恢复中,继续等待...",U=setInterval(()=>{k.value++},1e3),C=setInterval(()=>I(null,null,function*(){try{const e=yield q(s);if(e!=null&&e.success&&e.result){const{status:l,videoUrl:n,message:v}=e.result;l==="SUCCESS"?(f(),u.value=!1,localStorage.removeItem(T),c.value=F(n)||"",o.success("视频生成成功!"),yield z()):l==="FAIL"&&(f(),u.value=!1,localStorage.removeItem(T),o.error(v||"视频生成失败"))}}catch(e){f(),u.value=!1,o.error("查询任务状态失败: "+(e.message||"未知错误"))}}),5e3))}),de(()=>{f()}),(s,e)=>{const l=xe,n=ve("a-button"),v=he;return m(),p("div",Te,[e[15]||(e[15]=t("div",{class:"page-header"},[t("div",{class:"title"},"AI视频"),t("div",{class:"subtitle"},"将文本快速转换为生动的视频内容")],-1)),t("div",Ce,[t("div",Ue,[e[4]||(e[4]=t("div",{class:"panel-title"},"视频配置",-1)),t("div",Ve,[d(g(fe),{onRegister:g(P),schemas:g(A)},null,8,["onRegister","schemas"]),t("div",Fe,[e[1]||(e[1]=t("label",{class:"form-label"},"文案",-1)),d(l,{value:x.value,"onUpdate:value":e[0]||(e[0]=i=>x.value=i),rows:4,maxlength:500,"show-count":"",placeholder:"请输入要生成视频的文案内容"},null,8,["value"])]),t("div",Ae,[e[2]||(e[2]=t("div",{class:"preset-label"},"常用场景",-1)),t("div",Pe,[(m(),p(Q,null,Y(O,(i,R)=>t("div",{key:R,class:"preset-item",onClick:me(b=>W(i.content),["prevent"])},S(i.title),9,$e)),64))])])]),t("div",ze,[d(n,{type:"primary",size:"large",block:"",loading:u.value,onClick:X},{default:V(()=>[d(g(w),{icon:"ant-design:video-camera-outlin