From 82aa2c487fa3cf90cba3ca1d9f4136ca4e4b7adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ACT=E4=B8=B6=E6=B5=81=E6=98=9F=E9=9B=A8?= <1340145680@qq.com> Date: Thu, 29 Jan 2026 19:36:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E7=BD=AE=E4=B8=AD?= =?UTF-8?q?=E5=85=B3=E4=BA=8E=E5=8D=A1=E7=89=87=E6=97=A0=E6=B3=95=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/web/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/web/index.html b/scripts/web/index.html index 67f821e..509c738 100644 --- a/scripts/web/index.html +++ b/scripts/web/index.html @@ -733,8 +733,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `)&&(S="(?: "+S+")",V=" "+V,T++),C=new RegExp("^(?:"+S+")",W)),m&&(C=new RegExp("^"+S+"$(?!\\s)",W)),g&&(b=L.lastIndex),y=d.call(M?C:L,V),M?y?(y.input=y.input.slice(T),y[0]=y[0].slice(T),y.index=L.lastIndex,L.lastIndex+=y[0].length):L.lastIndex=0:g&&y&&(L.lastIndex=L.global?y.index+y[0].length:b),m&&y&&y.length>1&&u.call(y[0],C,function(){for(x=1;x=51||!c(function(){var S=[];return S[L]=!1,S.concat()[0]!==S}),x=k("concat"),M=function(S){if(!u(S))return!1;var T=S[L];return T!==void 0?!!T:d(S)},W=!y||!x;a({target:"Array",proto:!0,forced:W},{concat:function(T){var V=h(this),D=m(V,0),z=0,B,F,O,H,E;for(B=-1,O=arguments.length;Bb)throw TypeError(C);for(F=0;F=b)throw TypeError(C);v(D,z++,E)}return D.length=z,D}})},"9bdd":function(l,r,s){var a=s("825a");l.exports=function(c,d,u,h){try{return h?d(a(u)[0],u[1]):d(u)}catch(v){var g=c.return;throw g!==void 0&&a(g.call(c)),v}}},"9bf2":function(l,r,s){var a=s("83ab"),c=s("0cfb"),d=s("825a"),u=s("c04e"),h=Object.defineProperty;r.f=a?h:function(v,m,k){if(d(v),m=u(m,!0),d(k),c)try{return h(v,m,k)}catch{}if("get"in k||"set"in k)throw TypeError("Accessors not supported");return"value"in k&&(v[m]=k.value),v}},"9ed3":function(l,r,s){var a=s("ae93").IteratorPrototype,c=s("7c73"),d=s("5c6c"),u=s("d44e"),h=s("3f8c"),g=function(){return this};l.exports=function(v,m,k){var f=m+" Iterator";return v.prototype=c(a,{next:d(1,k)}),u(v,f,!1,!0),h[f]=g,v}},"9f7f":function(l,r,s){var a=s("d039");function c(d,u){return RegExp(d,u)}r.UNSUPPORTED_Y=a(function(){var d=c("a","y");return d.lastIndex=2,d.exec("abcd")!=null}),r.BROKEN_CARET=a(function(){var d=c("^r","gy");return d.lastIndex=2,d.exec("str")!=null})},a2bf:function(l,r,s){var a=s("e8b5"),c=s("50c4"),d=s("0366"),u=function(h,g,v,m,k,f,w,L){for(var b=k,C=0,y=w?d(w,L,3):!1,x;C0&&a(x))b=u(h,g,x,c(x.length),b,f-1)-1;else{if(b>=9007199254740991)throw TypeError("Exceed the acceptable array length");h[b]=x}b++}C++}return b};l.exports=u},a352:function(l,r){l.exports=o},a434:function(l,r,s){var a=s("23e7"),c=s("23cb"),d=s("a691"),u=s("50c4"),h=s("7b0b"),g=s("65f0"),v=s("8418"),m=s("1dde"),k=s("ae40"),f=m("splice"),w=k("splice",{ACCESSORS:!0,0:0,1:2}),L=Math.max,b=Math.min,C=9007199254740991,y="Maximum allowed length exceeded";a({target:"Array",proto:!0,forced:!f||!w},{splice:function(M,W){var S=h(this),T=u(S.length),V=c(M,T),D=arguments.length,z,B,F,O,H,E;if(D===0?z=B=0:D===1?(z=0,B=T-V):(z=D-2,B=b(L(d(W),0),T-V)),T+z-B>C)throw TypeError(y);for(F=g(S,B),O=0;OT-B+z;O--)delete S[O-1]}else if(z>B)for(O=T-B;O>V;O--)H=O+B-1,E=O+z-1,H in S?S[E]=S[H]:delete S[E];for(O=0;OBe;)Ge.push(arguments[Be++]);if(tt=Se,!(!w(Se)&&ve===void 0||ze(ve)))return f(Se)||(Se=function(vt,qe){if(typeof tt=="function"&&(qe=tt.call(this,vt,qe)),!ze(qe))return qe}),Ge[1]=Se,le.apply(null,Ge)}})}G[re][oe]||F(G[re],oe,G[re].valueOf),K(G,ne),X[J]=!0},a630:function(l,r,s){var a=s("23e7"),c=s("4df4"),d=s("1c7e"),u=!d(function(h){Array.from(h)});a({target:"Array",stat:!0,forced:u},{from:c})},a640:function(l,r,s){var a=s("d039");l.exports=function(c,d){var u=[][c];return!!u&&a(function(){u.call(null,d||function(){throw 1},1)})}},a691:function(l,r){var s=Math.ceil,a=Math.floor;l.exports=function(c){return isNaN(c=+c)?0:(c>0?a:s)(c)}},ab13:function(l,r,s){var a=s("b622"),c=a("match");l.exports=function(d){var u=/./;try{"/./"[d](u)}catch{try{return u[c]=!1,"/./"[d](u)}catch{}}return!1}},ac1f:function(l,r,s){var a=s("23e7"),c=s("9263");a({target:"RegExp",proto:!0,forced:/./.exec!==c},{exec:c})},ad6d:function(l,r,s){var a=s("825a");l.exports=function(){var c=a(this),d="";return c.global&&(d+="g"),c.ignoreCase&&(d+="i"),c.multiline&&(d+="m"),c.dotAll&&(d+="s"),c.unicode&&(d+="u"),c.sticky&&(d+="y"),d}},ae40:function(l,r,s){var a=s("83ab"),c=s("d039"),d=s("5135"),u=Object.defineProperty,h={},g=function(v){throw v};l.exports=function(v,m){if(d(h,v))return h[v];m||(m={});var k=[][v],f=d(m,"ACCESSORS")?m.ACCESSORS:!1,w=d(m,0)?m[0]:g,L=d(m,1)?m[1]:void 0;return h[v]=!!k&&!c(function(){if(f&&!a)return!0;var b={length:-1};f?u(b,1,{enumerable:!0,get:g}):b[1]=1,k.call(b,w,L)})}},ae93:function(l,r,s){var a=s("e163"),c=s("9112"),d=s("5135"),u=s("b622"),h=s("c430"),g=u("iterator"),v=!1,m=function(){return this},k,f,w;[].keys&&(w=[].keys(),"next"in w?(f=a(a(w)),f!==Object.prototype&&(k=f)):v=!0),k==null&&(k={}),!h&&!d(k,g)&&c(k,g,m),l.exports={IteratorPrototype:k,BUGGY_SAFARI_ITERATORS:v}},b041:function(l,r,s){var a=s("00ee"),c=s("f5df");l.exports=a?{}.toString:function(){return"[object "+c(this)+"]"}},b0c0:function(l,r,s){var a=s("83ab"),c=s("9bf2").f,d=Function.prototype,u=d.toString,h=/^\s*function ([^ (]*)/,g="name";a&&!(g in d)&&c(d,g,{configurable:!0,get:function(){try{return u.call(this).match(h)[1]}catch{return""}}})},b622:function(l,r,s){var a=s("da84"),c=s("5692"),d=s("5135"),u=s("90e3"),h=s("4930"),g=s("fdbf"),v=c("wks"),m=a.Symbol,k=g?m:m&&m.withoutSetter||u;l.exports=function(f){return d(v,f)||(h&&d(m,f)?v[f]=m[f]:v[f]=k("Symbol."+f)),v[f]}},b64b:function(l,r,s){var a=s("23e7"),c=s("7b0b"),d=s("df75"),u=s("d039"),h=u(function(){d(1)});a({target:"Object",stat:!0,forced:h},{keys:function(v){return d(c(v))}})},b727:function(l,r,s){var a=s("0366"),c=s("44ad"),d=s("7b0b"),u=s("50c4"),h=s("65f0"),g=[].push,v=function(m){var k=m==1,f=m==2,w=m==3,L=m==4,b=m==6,C=m==5||b;return function(y,x,M,W){for(var S=d(y),T=c(S),V=a(x,M,3),D=u(T.length),z=0,B=W||h,F=k?B(y,D):f?B(y,0):void 0,O,H;D>z;z++)if((C||z in T)&&(O=T[z],H=V(O,z,S),m)){if(k)F[z]=H;else if(H)switch(m){case 3:return!0;case 5:return O;case 6:return z;case 2:g.call(F,O)}else if(L)return!1}return b?-1:w||L?L:F}};l.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6)}},c04e:function(l,r,s){var a=s("861d");l.exports=function(c,d){if(!a(c))return c;var u,h;if(d&&typeof(u=c.toString)=="function"&&!a(h=u.call(c))||typeof(u=c.valueOf)=="function"&&!a(h=u.call(c))||!d&&typeof(u=c.toString)=="function"&&!a(h=u.call(c)))return h;throw TypeError("Can't convert object to primitive value")}},c430:function(l,r){l.exports=!1},c6b6:function(l,r){var s={}.toString;l.exports=function(a){return s.call(a).slice(8,-1)}},c6cd:function(l,r,s){var a=s("da84"),c=s("ce4e"),d="__core-js_shared__",u=a[d]||c(d,{});l.exports=u},c740:function(l,r,s){var a=s("23e7"),c=s("b727").findIndex,d=s("44d2"),u=s("ae40"),h="findIndex",g=!0,v=u(h);h in[]&&Array(1)[h](function(){g=!1}),a({target:"Array",proto:!0,forced:g||!v},{findIndex:function(k){return c(this,k,arguments.length>1?arguments[1]:void 0)}}),d(h)},c8ba:function(l,r){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch{typeof window=="object"&&(s=window)}l.exports=s},c975:function(l,r,s){var a=s("23e7"),c=s("4d64").indexOf,d=s("a640"),u=s("ae40"),h=[].indexOf,g=!!h&&1/[1].indexOf(1,-0)<0,v=d("indexOf"),m=u("indexOf",{ACCESSORS:!0,1:0});a({target:"Array",proto:!0,forced:g||!v||!m},{indexOf:function(f){return g?h.apply(this,arguments)||0:c(this,f,arguments.length>1?arguments[1]:void 0)}})},ca84:function(l,r,s){var a=s("5135"),c=s("fc6a"),d=s("4d64").indexOf,u=s("d012");l.exports=function(h,g){var v=c(h),m=0,k=[],f;for(f in v)!a(u,f)&&a(v,f)&&k.push(f);for(;g.length>m;)a(v,f=g[m++])&&(~d(k,f)||k.push(f));return k}},caad:function(l,r,s){var a=s("23e7"),c=s("4d64").includes,d=s("44d2"),u=s("ae40"),h=u("indexOf",{ACCESSORS:!0,1:0});a({target:"Array",proto:!0,forced:!h},{includes:function(v){return c(this,v,arguments.length>1?arguments[1]:void 0)}}),d("includes")},cc12:function(l,r,s){var a=s("da84"),c=s("861d"),d=a.document,u=c(d)&&c(d.createElement);l.exports=function(h){return u?d.createElement(h):{}}},ce4e:function(l,r,s){var a=s("da84"),c=s("9112");l.exports=function(d,u){try{c(a,d,u)}catch{a[d]=u}return u}},d012:function(l,r){l.exports={}},d039:function(l,r){l.exports=function(s){try{return!!s()}catch{return!0}}},d066:function(l,r,s){var a=s("428f"),c=s("da84"),d=function(u){return typeof u=="function"?u:void 0};l.exports=function(u,h){return arguments.length<2?d(a[u])||d(c[u]):a[u]&&a[u][h]||c[u]&&c[u][h]}},d1e7:function(l,r,s){var a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,d=c&&!a.call({1:2},1);r.f=d?function(h){var g=c(this,h);return!!g&&g.enumerable}:a},d28b:function(l,r,s){var a=s("746f");a("iterator")},d2bb:function(l,r,s){var a=s("825a"),c=s("3bbe");l.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var d=!1,u={},h;try{h=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,h.call(u,[]),d=u instanceof Array}catch{}return function(v,m){return a(v),c(m),d?h.call(v,m):v.__proto__=m,v}}():void 0)},d3b7:function(l,r,s){var a=s("00ee"),c=s("6eeb"),d=s("b041");a||c(Object.prototype,"toString",d,{unsafe:!0})},d44e:function(l,r,s){var a=s("9bf2").f,c=s("5135"),d=s("b622"),u=d("toStringTag");l.exports=function(h,g,v){h&&!c(h=v?h:h.prototype,u)&&a(h,u,{configurable:!0,value:g})}},d58f:function(l,r,s){var a=s("1c0b"),c=s("7b0b"),d=s("44ad"),u=s("50c4"),h=function(g){return function(v,m,k,f){a(m);var w=c(v),L=d(w),b=u(w.length),C=g?b-1:0,y=g?-1:1;if(k<2)for(;;){if(C in L){f=L[C],C+=y;break}if(C+=y,g?C<0:b<=C)throw TypeError("Reduce of empty array with no initial value")}for(;g?C>=0:b>C;C+=y)C in L&&(f=m(f,L[C],C,w));return f}};l.exports={left:h(!1),right:h(!0)}},d784:function(l,r,s){s("ac1f");var a=s("6eeb"),c=s("d039"),d=s("b622"),u=s("9263"),h=s("9112"),g=d("species"),v=!c(function(){var L=/./;return L.exec=function(){var b=[];return b.groups={a:"7"},b},"".replace(L,"$")!=="7"}),m=function(){return"a".replace(/./,"$0")==="$0"}(),k=d("replace"),f=function(){return/./[k]?/./[k]("a","$0")==="":!1}(),w=!c(function(){var L=/(?:)/,b=L.exec;L.exec=function(){return b.apply(this,arguments)};var C="ab".split(L);return C.length!==2||C[0]!=="a"||C[1]!=="b"});l.exports=function(L,b,C,y){var x=d(L),M=!c(function(){var z={};return z[x]=function(){return 7},""[L](z)!=7}),W=M&&!c(function(){var z=!1,B=/a/;return L==="split"&&(B={},B.constructor={},B.constructor[g]=function(){return B},B.flags="",B[x]=/./[x]),B.exec=function(){return z=!0,null},B[x](""),!z});if(!M||!W||L==="replace"&&!(v&&m&&!f)||L==="split"&&!w){var S=/./[x],T=C(x,""[L],function(z,B,F,O,H){return B.exec===u?M&&!H?{done:!0,value:S.call(B,F,O)}:{done:!0,value:z.call(F,B,O)}:{done:!1}},{REPLACE_KEEPS_$0:m,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),V=T[0],D=T[1];a(String.prototype,L,V),a(RegExp.prototype,x,b==2?function(z,B){return D.call(z,this,B)}:function(z){return D.call(z,this)})}y&&h(RegExp.prototype[x],"sham",!0)}},d81d:function(l,r,s){var a=s("23e7"),c=s("b727").map,d=s("1dde"),u=s("ae40"),h=d("map"),g=u("map");a({target:"Array",proto:!0,forced:!h||!g},{map:function(m){return c(this,m,arguments.length>1?arguments[1]:void 0)}})},da84:function(l,r,s){(function(a){var c=function(d){return d&&d.Math==Math&&d};l.exports=c(typeof globalThis=="object"&&globalThis)||c(typeof window=="object"&&window)||c(typeof self=="object"&&self)||c(typeof a=="object"&&a)||Function("return this")()}).call(this,s("c8ba"))},dbb4:function(l,r,s){var a=s("23e7"),c=s("83ab"),d=s("56ef"),u=s("fc6a"),h=s("06cf"),g=s("8418");a({target:"Object",stat:!0,sham:!c},{getOwnPropertyDescriptors:function(m){for(var k=u(m),f=h.f,w=d(k),L={},b=0,C,y;w.length>b;)y=f(k,C=w[b++]),y!==void 0&&g(L,C,y);return L}})},dbf1:function(l,r,s){(function(a){s.d(r,"a",function(){return d});function c(){return typeof window<"u"?window.console:a.console}var d=c()}).call(this,s("c8ba"))},ddb0:function(l,r,s){var a=s("da84"),c=s("fdbc"),d=s("e260"),u=s("9112"),h=s("b622"),g=h("iterator"),v=h("toStringTag"),m=d.values;for(var k in c){var f=a[k],w=f&&f.prototype;if(w){if(w[g]!==m)try{u(w,g,m)}catch{w[g]=m}if(w[v]||u(w,v,k),c[k]){for(var L in d)if(w[L]!==d[L])try{u(w,L,d[L])}catch{w[L]=d[L]}}}}},df75:function(l,r,s){var a=s("ca84"),c=s("7839");l.exports=Object.keys||function(u){return a(u,c)}},e01a:function(l,r,s){var a=s("23e7"),c=s("83ab"),d=s("da84"),u=s("5135"),h=s("861d"),g=s("9bf2").f,v=s("e893"),m=d.Symbol;if(c&&typeof m=="function"&&(!("description"in m.prototype)||m().description!==void 0)){var k={},f=function(){var x=arguments.length<1||arguments[0]===void 0?void 0:String(arguments[0]),M=this instanceof f?new m(x):x===void 0?m():m(x);return x===""&&(k[M]=!0),M};v(f,m);var w=f.prototype=m.prototype;w.constructor=f;var L=w.toString,b=String(m("test"))=="Symbol(test)",C=/^Symbol\((.*)\)[^)]+$/;g(w,"description",{configurable:!0,get:function(){var x=h(this)?this.valueOf():this,M=L.call(x);if(u(k,x))return"";var W=b?M.slice(7,-1):M.replace(C,"$1");return W===""?void 0:W}}),a({global:!0,forced:!0},{Symbol:f})}},e163:function(l,r,s){var a=s("5135"),c=s("7b0b"),d=s("f772"),u=s("e177"),h=d("IE_PROTO"),g=Object.prototype;l.exports=u?Object.getPrototypeOf:function(v){return v=c(v),a(v,h)?v[h]:typeof v.constructor=="function"&&v instanceof v.constructor?v.constructor.prototype:v instanceof Object?g:null}},e177:function(l,r,s){var a=s("d039");l.exports=!a(function(){function c(){}return c.prototype.constructor=null,Object.getPrototypeOf(new c)!==c.prototype})},e260:function(l,r,s){var a=s("fc6a"),c=s("44d2"),d=s("3f8c"),u=s("69f3"),h=s("7dd0"),g="Array Iterator",v=u.set,m=u.getterFor(g);l.exports=h(Array,"Array",function(k,f){v(this,{type:g,target:a(k),index:0,kind:f})},function(){var k=m(this),f=k.target,w=k.kind,L=k.index++;return!f||L>=f.length?(k.target=void 0,{value:void 0,done:!0}):w=="keys"?{value:L,done:!1}:w=="values"?{value:f[L],done:!1}:{value:[L,f[L]],done:!1}},"values"),d.Arguments=d.Array,c("keys"),c("values"),c("entries")},e439:function(l,r,s){var a=s("23e7"),c=s("d039"),d=s("fc6a"),u=s("06cf").f,h=s("83ab"),g=c(function(){u(1)}),v=!h||g;a({target:"Object",stat:!0,forced:v,sham:!h},{getOwnPropertyDescriptor:function(k,f){return u(d(k),f)}})},e538:function(l,r,s){var a=s("b622");r.f=a},e893:function(l,r,s){var a=s("5135"),c=s("56ef"),d=s("06cf"),u=s("9bf2");l.exports=function(h,g){for(var v=c(g),m=u.f,k=d.f,f=0;f"u"||!(Symbol.iterator in Object(ze)))){var Re=[],it=!0,ut=!1,nt=void 0;try{for(var Pe=ze[Symbol.iterator](),Qe;!(it=(Qe=Pe.next()).done)&&(Re.push(Qe.value),!(Ke&&Re.length===Ke));it=!0);}catch(Xe){ut=!0,nt=Xe}finally{try{!it&&Pe.return!=null&&Pe.return()}finally{if(ut)throw nt}}return Re}}s("a630"),s("fb6a"),s("b0c0"),s("25f0");function k(ze,Ke){(Ke==null||Ke>ze.length)&&(Ke=ze.length);for(var Re=0,it=new Array(Ke);Re{const e=_([]),n=_([]),i=_(null),o=_(null);let l=null,r=0;const s=P(()=>i.value?e.value.filter(W=>W.scriptId===i.value):[]),a=P(()=>n.value.filter(W=>W.state===0).map(W=>W.id));function c(W){return n.value.filter(S=>S.configId===W)}function d(W){const S=e.value.find(T=>T.id===W);return!S||!S.selectedResultId?null:n.value.find(T=>T.id===S.selectedResultId)||null}async function u(W,S){i.value=W,o.value=S,await Promise.all([v(W),h(W)])}async function h(W,S=[]){try{const T={scriptId:W,specifyIds:S},{data:V}=await Di.post("/video/getVideo",T);if(S.length>0){if(V.length===0)return;const D=n.value.map(z=>{const B=V.find(F=>F.id===z.id);return B?{...z,state:B.state,filePath:B.filePath||z.filePath,firstFrame:B.firstFrame||z.firstFrame,duration:B.duration||z.duration}:z});n.value=D}else g(V,W)}catch(T){console.error("获取视频数据失败:",T)}}function g(W,S){const T=e.value.filter(D=>D.scriptId===S).map(D=>D.id);n.value=n.value.filter(D=>!T.includes(D.configId));const V=W.map(D=>({id:D.id,configId:D.configId||0,state:D.state,filePath:D.filePath||"",firstFrame:D.firstFrame||"",duration:D.duration||D.time||0,prompt:D.prompt||"",createdAt:new Date().toISOString()}));V.sort((D,z)=>D.id-z.id),n.value=[...n.value,...V]}async function v(W){try{const{data:S}=await Di.post("/video/getVideoConfigs",{scriptId:W});S&&Array.isArray(S)&&(e.value=e.value.filter(T=>T.scriptId!==W),S.forEach(T=>{const V={id:T.id,scriptId:T.scriptId,projectId:T.projectId,manufacturer:T.manufacturer,mode:T.mode,startFrame:T.startFrame,endFrame:T.endFrame,images:T.images||[],resolution:T.resolution,duration:T.duration,prompt:T.prompt||"",selectedResultId:T.selectedResultId,createdAt:T.createdAt||new Date().toISOString()};e.value.push(V),V.id>r&&(r=V.id)}))}catch(S){console.error("获取视频配置失败:",S)}}function m(W){const S={id:W.id,scriptId:W.scriptId,projectId:W.projectId,manufacturer:W.manufacturer,mode:W.mode,startFrame:W.startFrame||null,endFrame:W.endFrame||null,images:W.images||[],resolution:W.resolution,duration:W.duration,prompt:W.prompt||"",selectedResultId:W.selectedResultId||null,createdAt:W.createdAt||new Date().toISOString()};return e.value.push(S),S.id>r&&(r=S.id),S}function k(W){const S={...W,startFrame:W.startFrame||null,endFrame:W.endFrame||null,images:W.images||[],id:++r,selectedResultId:null,createdAt:new Date().toISOString()};return e.value.push(S),S}async function f(W){try{await Di.post("/video/deleteVideoConfig",{id:W})}catch(T){throw console.error("删除配置失败:",T),T}const S=e.value.findIndex(T=>T.id===W);S!==-1&&(e.value.splice(S,1),n.value=n.value.filter(T=>T.configId!==W))}async function w(W){const S=e.value.find(D=>D.id===W);if(!S)throw new Error("配置不存在");const T=[];S.mode==="startEnd"?(S.startFrame&&T.push(S.startFrame.filePath),S.endFrame&&T.push(S.endFrame.filePath)):S.mode==="single"?S.startFrame&&T.push(S.startFrame.filePath):S.images.forEach(D=>T.push(D.filePath));const{data:V}=await Di.post("/video/generateVideo",{projectId:S.projectId,scriptId:S.scriptId,configId:W,type:S.manufacturer,resolution:S.resolution,filePath:T,duration:S.duration,prompt:S.prompt});if(V&&V.id){const D={id:V.id,configId:W,state:0,filePath:"",firstFrame:"",duration:S.duration,prompt:S.prompt,createdAt:new Date().toISOString()};n.value=[...n.value,D],y(!0)}}function L(W,S){const T=e.value.find(V=>V.id===W);T&&(T.selectedResultId=S)}function b(W,S){const T=e.value.find(V=>V.id===W);T&&(S.prompt!==void 0&&(T.prompt=S.prompt),S.resolution!==void 0&&(T.resolution=S.resolution),S.duration!==void 0&&(T.duration=S.duration))}function C(W,S){const T=e.value.find(V=>V.id===W);T&&(S.prompt!==void 0&&(T.prompt=S.prompt),S.resolution!==void 0&&(T.resolution=S.resolution),S.duration!==void 0&&(T.duration=S.duration),S.startFrame!==void 0&&(T.startFrame=S.startFrame),S.endFrame!==void 0&&(T.endFrame=S.endFrame),S.images!==void 0&&(T.images=[...S.images]))}function y(W=!1){if(l){if(!W)return;x()}Ve(()=>{a.value.length!==0&&(l=window.setInterval(async()=>{if(a.value.length===0){x();return}i.value&&await h(i.value,a.value)},1e4))})}function x(){l&&(clearInterval(l),l=null)}Oe(a,W=>{W.length>0?y():x()});function M(){x()}return{videoConfigs:e,videoResults:n,currentScriptId:i,currentProjectId:o,currentConfigs:s,pendingResultIds:a,setCurrentScript:u,fetchVideoData:h,fetchVideoConfigs:v,addConfig:k,addConfigFromBackend:m,removeConfig:f,updateConfig:b,updateConfigFull:C,generateVideo:w,selectResult:L,getResultsByConfigId:c,getSelectedResult:d,startPolling:y,stopPolling:x,cleanup:M}},{persist:!1}),MWn={class:"selector-footer"},AWn={class:"selected-count"},WWn=_e({__name:"ImageSelector",props:Jl({scriptId:{},mode:{},maxImages:{},initialImages:{}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:Jl(["confirm","cancel"],["update:visible"]),setup(e,{emit:n}){const i=Jr(),{currentScriptId:o}=zr(i),l=e,r=n,s=Mr(e,"visible"),a=_(),c=_([]),d=_([]),u=P(()=>l.mode==="multi"),h=P(()=>({start:"选择首帧图片",end:"选择尾帧图片",single:"选择图片",multi:"选择图片序列(可多选)"})[l.mode]||"选择图片");Oe(s,f=>{f&&(l.scriptId&&l.scriptId!==-1&&(o.value=l.scriptId),l.initialImages&&l.initialImages.length>0?(c.value=[...l.initialImages],d.value=l.initialImages.map(w=>w.id)):(c.value=[],d.value=[]))});function g(f,w){if(w!=="storyboard")return;const L=l.maxImages||999;if(f.checked){if(u.value)f.records.forEach(b=>{!d.value.includes(b.id)&&c.value.length0){const b=f.records[0];d.value=[b.id],c.value=[{id:b.id,filePath:b.filePath,prompt:b.prompt}]}}else f.records.forEach(b=>{const C=d.value.indexOf(b.id);C>-1&&(d.value.splice(C,1),c.value.splice(C,1))})}function v(f){const w=l.maxImages||999;if(f.checked){if(!u.value)d.value=[f.row.id],c.value=[{id:f.row.id,filePath:f.row.filePath,prompt:f.row.prompt}];else if(!d.value.includes(f.row.id)){if(c.value.length>=w){Sn.warning(`最多只能选择${w}张图片`);return}d.value.push(f.row.id),c.value.push({id:f.row.id,filePath:f.row.filePath,prompt:f.row.prompt})}}else{const L=d.value.indexOf(f.row.id);L>-1&&(d.value.splice(L,1),c.value.splice(L,1))}}function m(){r("confirm",[...c.value]),s.value=!1}function k(){r("cancel"),s.value=!1}return(f,w)=>{const L=tl,b=Fo;return ie(),kt(b,{open:s.value,"onUpdate:open":w[0]||(w[0]=C=>s.value=C),title:h.value,onOk:m,onCancel:k,width:"80%",bodyStyle:{maxHeight:"70vh",overflow:"auto"}},{footer:He(()=>[p("div",MWn,[p("span",AWn,"已选择 "+jt(c.value.length)+" 张",1),p("div",null,[t(L,{onClick:k},{default:He(()=>[...w[1]||(w[1]=[dn("取消",-1)])]),_:1}),t(L,{type:"primary",onClick:m},{default:He(()=>[...w[2]||(w[2]=[dn("确定",-1)])]),_:1})])])]),default:He(()=>[s.value?(ie(),kt(QA,{key:0,way:u.value?"checkbox":"radio",radio:"storyboard",ref_key:"mainElementRef",ref:a,onCheckChange:v,onCheckAll:g},null,8,["way"])):et("",!0)]),_:1},8,["open","title"])}}}),SWn=Zo(WWn,[["__scopeId","data-v-36706cff"]]),DE={volcengine:{label:"火山引擎(豆包)",value:"volcengine",modes:[{label:"首尾帧",value:"startEnd"}],defaultMode:"startEnd",resolutions:[{label:"480p",value:"480p"},{label:"720p",value:"720p"},{label:"1080p",value:"1080p"}],defaultResolution:"720p",resolutionLabel:"分辨率",durationRange:{min:4,max:12,step:1},durationTip:"4-12秒",maxImages:2},runninghub:{label:"RunningHub(Sora)",value:"runninghub",modes:[{label:"多图模式",value:"multi"}],defaultMode:"multi",resolutions:[{label:"16:9 横屏",value:"16:9"},{label:"9:16 竖屏",value:"9:16"}],defaultResolution:"16:9",resolutionLabel:"画面比例",durationOptions:[{label:"10秒",value:10},{label:"15秒",value:15}],maxImages:4},apimart:{label:"Apimart(Sora)",value:"apimart",modes:[{label:"多图模式",value:"multi"}],defaultMode:"multi",resolutions:[{label:"16:9 横屏",value:"16:9"},{label:"9:16 竖屏",value:"9:16"}],defaultResolution:"16:9",resolutionLabel:"画面比例",durationOptions:[{label:"10秒",value:10},{label:"15秒",value:15}],maxImages:4}},DWn={volcengine:"火山引擎(豆包)",runninghub:"RunningHub(Sora)",openAi:"OpenAI(Sora)"},HWn={startEnd:"首尾帧模式",multi:"多图模式",single:"单图模式"};function Yd(e){return DE[e]||DE.volcengine}function TWn(e){return DWn[e]||e}function zWn(e){return HWn[e]||e}function V8e(e){return Yd(e).modes}function B8e(e){return Yd(e).resolutionLabel}function HE(e){return Yd(e).resolutions}function PWn(e){return Yd(e).defaultResolution}function EWn(e){return Yd(e).defaultMode}function TE(e){var i;const n=Yd(e);return n.durationOptions&&n.durationOptions.length>0?n.durationOptions[0].value:((i=n.durationRange)==null?void 0:i.min)||5}function Wy(e){return Yd(e).durationOptions||[]}function iv(e){return Yd(e).durationRange||{min:5,max:20,step:1}}function I8e(e){return Yd(e).durationTip||""}function Xk(e){return Yd(e).maxImages}const OWn={class:"video-config-form"},VWn={key:0,class:"form-row"},BWn={key:1,class:"form-row"},IWn={class:"value"},NWn={key:2,class:"form-row"},RWn={key:3,class:"form-row"},FWn={class:"value"},ZWn={key:4,class:"form-row frame-row"},XWn={class:"frame-group"},UWn=["src"],GWn=["src"],YWn={class:"form-row"},qWn={class:"multi-images"},KWn={class:"drag-image-item"},JWn={class:"drag-handle"},QWn=["src"],$Wn={class:"image-order"},_Wn={key:0,class:"form-row"},pWn={class:"tip"},eSn={key:6,class:"form-row frame-row"},tSn={class:"frame-group"},nSn=["src"],iSn={class:"form-row"},oSn={key:1,class:"value"},lSn={class:"form-row"},rSn={key:1,class:"value"},sSn={class:"tip"},aSn={key:1,class:"value"},cSn={class:"form-row prompt-row"},dSn={class:"prompt-header"},uSn=_e({__name:"VideoConfigForm",props:{config:{},scriptId:{},editable:{type:Boolean,default:!0},manufacturerDisabled:{type:Boolean,default:!1},availableManufacturers:{default:()=>[{label:"火山引擎(豆包)",value:"volcengine"},{label:"RunningHub(Sora)",value:"runninghub"},{label:"Apimart(Sora)",value:"apimart"}]}},emits:["update:config","change"],setup(e,{emit:n}){const i=e,o=n,l=cn({...i.config}),r=_(!1),s=_(!1),a=_("start");Oe(()=>i.config,w=>{Object.assign(l,w)},{deep:!0});function c(w,L){const C=HE(w).find(y=>y.value===L);return(C==null?void 0:C.label)||L}const d=P(()=>a.value==="start"||a.value==="single"?l.startFrame?[l.startFrame]:[]:a.value==="end"?l.endFrame?[l.endFrame]:[]:l.images||[]);function u(){const w=Yd(l.manufacturer);l.mode=w.defaultMode,l.resolution=w.defaultResolution,l.duration=TE(l.manufacturer),l.startFrame=null,l.endFrame=null,l.images=[],f()}function h(){l.startFrame=null,l.endFrame=null,l.images=[],f()}function g(w){a.value=w,s.value=!0}function v(w){a.value==="start"||a.value==="single"?l.startFrame=w[0]||null:a.value==="end"?l.endFrame=w[0]||null:l.images=[...w],f()}function m(w){l.images.splice(w,1),f()}async function k(){const w=[];if(l.mode==="startEnd"?(l.startFrame&&w.push(l.startFrame),l.endFrame&&w.push(l.endFrame)):l.mode==="single"?l.startFrame&&w.push(l.startFrame):w.push(...l.images),w.length===0){Sn.warning("请先选择图片");return}r.value=!0;try{const L=await Di.post("/video/generatePrompt",{prompt:l.prompt||"生成视频",images:w.map(b=>({filePath:b.filePath,prompt:b.prompt})),duration:l.duration,type:l.mode});l.prompt=L.data,f(),Sn.success("提示词生成成功")}catch(L){Sn.error((L==null?void 0:L.message)||"生成失败")}finally{r.value=!1}}function f(){const w={...l};o("update:config",w),o("change",w)}return(w,L)=>{var V;const b=Xm,C=Gr,y=_a,x=Yx,M=tl,W=A8,S=nn("i-magic"),T=Bs;return ie(),be("div",OWn,[e.editable?(ie(),be("div",VWn,[L[15]||(L[15]=p("label",null,"厂商",-1)),t(C,{value:l.manufacturer,"onUpdate:value":L[0]||(L[0]=D=>l.manufacturer=D),onChange:u,disabled:e.manufacturerDisabled,size:"small"},{default:He(()=>[(ie(!0),be(Gt,null,Qn(e.availableManufacturers,D=>(ie(),kt(b,{key:D.value,value:D.value},{default:He(()=>[dn(jt(D.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","disabled"])])):(ie(),be("div",BWn,[L[16]||(L[16]=p("label",null,"厂商",-1)),p("span",IWn,jt(A(TWn)(l.manufacturer)),1)])),e.editable?(ie(),be("div",NWn,[L[17]||(L[17]=p("label",null,"模式",-1)),t(x,{value:l.mode,"onUpdate:value":L[1]||(L[1]=D=>l.mode=D),onChange:h,size:"small"},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(V8e)(l.manufacturer),D=>(ie(),kt(y,{key:D.value,value:D.value},{default:He(()=>[dn(jt(D.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])):(ie(),be("div",RWn,[L[18]||(L[18]=p("label",null,"模式",-1)),p("span",FWn,jt(A(zWn)(l.mode)),1)])),l.mode==="startEnd"?(ie(),be("div",ZWn,[L[23]||(L[23]=p("label",null,"帧选择",-1)),p("div",XWn,[p("div",{class:We(["frame-box",{"has-image":l.startFrame}]),onClick:L[3]||(L[3]=D=>g("start"))},[l.startFrame?(ie(),be(Gt,{key:0},[p("img",{src:l.startFrame.filePath},null,8,UWn),e.editable?(ie(),kt(M,{key:0,class:"remove-btn",type:"text",size:"small",onClick:L[2]||(L[2]=Fn(D=>l.startFrame=null,["stop"]))},{default:He(()=>[t(A(ns))]),_:1})):et("",!0),L[19]||(L[19]=p("span",{class:"frame-label"},"首帧",-1))],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),L[20]||(L[20]=p("span",null,"首帧",-1))],64))],2),p("div",{class:We(["frame-box",{"has-image":l.endFrame}]),onClick:L[5]||(L[5]=D=>g("end"))},[l.endFrame?(ie(),be(Gt,{key:0},[p("img",{src:l.endFrame.filePath},null,8,GWn),e.editable?(ie(),kt(M,{key:0,class:"remove-btn",type:"text",size:"small",onClick:L[4]||(L[4]=Fn(D=>l.endFrame=null,["stop"]))},{default:He(()=>[t(A(ns))]),_:1})):et("",!0),L[21]||(L[21]=p("span",{class:"frame-label"},"尾帧",-1))],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),L[22]||(L[22]=p("span",null,"尾帧",-1))],64))],2)])])):et("",!0),l.mode==="multi"?(ie(),be(Gt,{key:5},[p("div",YWn,[L[24]||(L[24]=p("label",null,"图片",-1)),p("div",qWn,[l.images&&l.images.length>0?(ie(),kt(A(O8e),{key:0,modelValue:l.images,"onUpdate:modelValue":L[6]||(L[6]=D=>l.images=D),"item-key":"id",class:"image-drag-list","ghost-class":"ghost",animation:200,disabled:!e.editable,handle:".drag-handle"},{item:He(({element:D,index:z})=>[p("div",KWn,[p("div",JWn,[p("img",{class:"image",src:D.filePath,draggable:"false"},null,8,QWn),p("div",$Wn,jt(z+1),1)]),e.editable?(ie(),kt(M,{key:0,class:"remove-btn",type:"text",size:"small",onClick:B=>m(z)},{default:He(()=>[t(A(ns))]),_:1},8,["onClick"])):et("",!0)])]),_:1},8,["modelValue","disabled"])):et("",!0),e.editable&&(!l.images||l.images.lengthg("multi"))},[t(A(Cd))])):et("",!0)])]),e.editable?(ie(),be("div",_Wn,[L[25]||(L[25]=p("label",null,null,-1)),p("span",pWn,"拖拽调整顺序 | "+jt(((V=l.images)==null?void 0:V.length)||0)+"/"+jt(A(Xk)(l.manufacturer))+"张",1)])):et("",!0)],64)):et("",!0),l.mode==="single"?(ie(),be("div",eSn,[L[27]||(L[27]=p("label",null,"图片",-1)),p("div",tSn,[p("div",{class:We(["frame-box single-frame",{"has-image":l.startFrame}]),onClick:L[9]||(L[9]=D=>g("single"))},[l.startFrame?(ie(),be(Gt,{key:0},[p("img",{src:l.startFrame.filePath},null,8,nSn),e.editable?(ie(),kt(M,{key:0,class:"remove-btn",type:"text",size:"small",onClick:L[8]||(L[8]=Fn(D=>l.startFrame=null,["stop"]))},{default:He(()=>[t(A(ns))]),_:1})):et("",!0)],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),L[26]||(L[26]=p("span",null,"选择图片",-1))],64))],2)])])):et("",!0),p("div",iSn,[p("label",null,jt(A(B8e)(l.manufacturer)),1),e.editable?(ie(),kt(C,{key:0,value:l.resolution,"onUpdate:value":L[10]||(L[10]=D=>l.resolution=D),size:"small",style:{flex:"1"},onChange:f},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(HE)(l.manufacturer),D=>(ie(),kt(b,{key:D.value,value:D.value},{default:He(()=>[dn(jt(D.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])):(ie(),be("span",oSn,jt(c(l.manufacturer,l.resolution)),1))]),p("div",lSn,[L[29]||(L[29]=p("label",null,"时长",-1)),A(Wy)(l.manufacturer).length>0?(ie(),be(Gt,{key:0},[e.editable?(ie(),kt(C,{key:0,value:l.duration,"onUpdate:value":L[11]||(L[11]=D=>l.duration=D),size:"small",style:{width:"100px"},onChange:f},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(Wy)(l.manufacturer),D=>(ie(),kt(b,{key:D.value,value:D.value},{default:He(()=>[dn(jt(D.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])):(ie(),be("span",rSn,jt(l.duration)+"秒",1))],64)):(ie(),be(Gt,{key:1},[e.editable?(ie(),be(Gt,{key:0},[t(W,{value:l.duration,"onUpdate:value":L[12]||(L[12]=D=>l.duration=D),min:A(iv)(l.manufacturer).min,max:A(iv)(l.manufacturer).max,step:A(iv)(l.manufacturer).step,size:"small",style:{width:"70px"},onChange:f},null,8,["value","min","max","step"]),L[28]||(L[28]=p("span",{class:"unit"},"秒",-1)),p("span",sSn,jt(A(I8e)(l.manufacturer)),1)],64)):(ie(),be("span",aSn,jt(l.duration)+"秒",1))],64))]),p("div",cSn,[p("div",dSn,[L[31]||(L[31]=p("label",null,"提示词",-1)),t(M,{type:"link",size:"small",loading:r.value,onClick:k,class:"magic-btn"},{icon:He(()=>[t(S)]),default:He(()=>[L[30]||(L[30]=dn(" 润色 ",-1))]),_:1},8,["loading"])]),t(T,{value:l.prompt,"onUpdate:value":L[13]||(L[13]=D=>l.prompt=D),rows:3,placeholder:"描述视频内容、运动方式等",size:"small",onChange:f},null,8,["value"])]),t(SWn,{visible:s.value,"onUpdate:visible":L[14]||(L[14]=D=>s.value=D),"script-id":e.scriptId,mode:a.value,"max-images":A(Xk)(l.manufacturer),"initial-images":d.value,onConfirm:v},null,8,["visible","script-id","mode","max-images","initial-images"])])}}}),hSn=Zo(uSn,[["__scopeId","data-v-ad5bebd9"]]),kSn={class:"newStoryboard"},fSn={class:"configPanel"},vSn={class:"configHeader"},gSn={key:0,class:"configList"},mSn={class:"cardHeader"},wSn={class:"cardTitle"},LSn={class:"cardBody"},bSn={class:"formRow"},CSn={class:"formRow"},ySn={key:0,class:"formRow frameRow"},xSn={class:"frameGroup"},jSn=["onClick"],MSn=["src"],ASn=["onClick"],WSn=["src"],SSn={class:"formRow"},DSn={class:"multiImages"},HSn={class:"dragImageItem"},TSn={class:"dragHandle"},zSn=["src"],PSn={class:"imageOrder"},ESn=["onClick"],OSn={class:"formRow"},VSn={class:"tip"},BSn={key:2,class:"formRow frameRow"},ISn={class:"frameGroup"},NSn=["onClick"],RSn=["src"],FSn={class:"formRow"},ZSn={class:"formRow"},XSn={class:"tip"},USn={class:"formRow promptRow"},GSn={class:"promptWrapper"},YSn={class:"selectorFooter"},qSn={class:"selectedCount"},KSn=_e({__name:"newVideo",props:Jl({scriptId:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=Jr(),{project:i,currentScriptId:o}=zr(n),l=_A(),r=e,s=Mr(e,"modelValue"),a=_(!1),c=_(!1),d=_([]);let u=0;const h=_(!1),g=_("选择分镜图片"),v=_("start"),m=_(null),k=_([]),f=_([]),w=_([]),L=Object.values(DE).map(O=>({label:O.label,value:O.value})),b=P(()=>w.value.length===0?L:L.filter(O=>w.value.some(H=>H.manufacturer===O.value)));un(async()=>{const O=await Di.post("/video/getManufacturer",{userId:Number(localStorage.getItem("userId"))});w.value=O.data,c.value=w.value.length===0}),Oe(s,O=>{O&&(d.value=[])});function C(){var E;const O=((E=b.value[0])==null?void 0:E.value)||"volcengine",H={id:++u,manufacturer:O,mode:EWn(O),startFrame:null,endFrame:null,images:[],resolution:PWn(O),duration:TE(O),prompt:"",promptLoading:!1};d.value.push(H)}function y(O){d.value.splice(O,1)}function x(O){const H=Yd(O.manufacturer);O.mode=H.defaultMode,O.resolution=H.defaultResolution,O.duration=TE(O.manufacturer),O.startFrame=null,O.endFrame=null,O.images=[]}function M(O){O.startFrame=null,O.endFrame=null,O.images=[]}function W(O,H){r.scriptId&&r.scriptId!==-1&&(o.value=r.scriptId),m.value=O,v.value=H;const E={start:O.mode==="single"?"选择图片":"选择首帧图片",end:"选择尾帧图片",multi:"选择图片序列(可多选)"};g.value=E[H],H==="start"&&O.startFrame?(k.value=[O.startFrame],f.value=[O.startFrame.id]):H==="end"&&O.endFrame?(k.value=[O.endFrame],f.value=[O.endFrame.id]):H==="multi"?(k.value=[...O.images],f.value=O.images.map(X=>X.id)):(k.value=[],f.value=[]),h.value=!0}function S(O,H){var Z;if(H!=="storyboard")return;const E=v.value!=="multi",X=Xk(((Z=m.value)==null?void 0:Z.manufacturer)||"");if(O.checked)if(E){if(O.records.length>0){const R=O.records[0];f.value=[R.id],k.value=[{id:R.id,filePath:R.filePath,prompt:R.prompt}]}}else O.records.forEach(R=>{!f.value.includes(R.id)&&k.value.length{const q=f.value.indexOf(R.id);q>-1&&(f.value.splice(q,1),k.value.splice(q,1))})}function T(O){var X;const H=v.value!=="multi",E=Xk(((X=m.value)==null?void 0:X.manufacturer)||"");if(O.checked){if(H)f.value=[O.row.id],k.value=[{id:O.row.id,filePath:O.row.filePath,prompt:O.row.prompt}];else if(!f.value.includes(O.row.id)){if(k.value.length>=E){Sn.warning(`最多只能选择${E}张图片`);return}f.value.push(O.row.id),k.value.push({id:O.row.id,filePath:O.row.filePath,prompt:O.row.prompt})}}else{const Z=f.value.indexOf(O.row.id);Z>-1&&(f.value.splice(Z,1),k.value.splice(Z,1))}}function V(){m.value&&(v.value==="start"?m.value.startFrame=k.value[0]||null:v.value==="end"?m.value.endFrame=k.value[0]||null:m.value.images=[...k.value],h.value=!1)}function D(O,H){O.images.splice(H,1)}async function z(O){const H=[];if(O.mode==="startEnd"?(O.startFrame&&H.push(O.startFrame),O.endFrame&&H.push(O.endFrame)):O.mode==="single"?O.startFrame&&H.push(O.startFrame):H.push(...O.images),H.length===0){Sn.warning("请先选择图片");return}O.promptLoading=!0;try{const E=await Di.post("/video/generatePrompt",{prompt:O.prompt||"生成视频",images:H.map(X=>({filePath:X.filePath,prompt:X.prompt})),duration:O.duration,type:O.mode});O.prompt=E.data,Sn.success("提示词生成成功")}catch(E){Sn.error((E==null?void 0:E.message)||"生成失败")}finally{O.promptLoading=!1}}async function B(){var O;if(d.value.length===0){Sn.warning("请至少添加一个视频配置");return}for(let H=0;H{const E=tl,X=Xm,Z=Gr,R=_a,q=Yx,Y=A8,K=Bs,Q=nn("i-magic"),ee=C2,J=Fo;return ie(),be("div",kSn,[t(J,{width:"80vw",style:{top:"20px"},open:s.value,"onUpdate:open":H[0]||(H[0]=ne=>s.value=ne),title:"添加视频配置",okText:"保存配置",onOk:B,onCancel:F,confirmLoading:a.value},{default:He(()=>[p("div",fSn,[p("div",vSn,[H[5]||(H[5]=p("h3",null,"视频生成配置",-1)),t(E,{type:"primary",onClick:C},{default:He(()=>[t(A(Cd)),H[4]||(H[4]=dn(" 添加配置 ",-1))]),_:1})]),d.value.length>0?(ie(),be("div",gSn,[(ie(!0),be(Gt,null,Qn(d.value,(ne,re)=>{var oe;return ie(),be("div",{key:ne.id,class:"configCard"},[p("div",mSn,[p("span",wSn,"配置 "+jt(re+1),1),t(E,{type:"text",danger:"",size:"small",onClick:$=>y(re)},{default:He(()=>[t(A(lj))]),_:1},8,["onClick"])]),p("div",LSn,[p("div",bSn,[H[6]||(H[6]=p("label",null,"厂商",-1)),t(Z,{value:ne.manufacturer,"onUpdate:value":$=>ne.manufacturer=$,onChange:$=>x(ne),disabled:c.value,size:"small"},{default:He(()=>[(ie(!0),be(Gt,null,Qn(b.value,$=>(ie(),kt(X,{key:$.value,value:$.value},{default:He(()=>[dn(jt($.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","onUpdate:value","onChange","disabled"])]),p("div",CSn,[H[7]||(H[7]=p("label",null,"模式",-1)),t(q,{value:ne.mode,"onUpdate:value":$=>ne.mode=$,onChange:$=>M(ne),size:"small"},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(V8e)(ne.manufacturer),$=>(ie(),kt(R,{key:$.value,value:$.value},{default:He(()=>[dn(jt($.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value","onChange"])]),ne.mode==="startEnd"?(ie(),be("div",ySn,[H[12]||(H[12]=p("label",null,"帧选择",-1)),p("div",xSn,[p("div",{class:We(["frameBox",{hasImage:ne.startFrame}]),onClick:$=>W(ne,"start")},[ne.startFrame?(ie(),be(Gt,{key:0},[p("img",{src:ne.startFrame.filePath},null,8,MSn),t(E,{class:"removeBtn",type:"text",size:"small",onClick:Fn($=>ne.startFrame=null,["stop"])},{default:He(()=>[t(A(ns))]),_:1},8,["onClick"]),H[8]||(H[8]=p("span",{class:"frameLabel"},"首帧",-1))],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),H[9]||(H[9]=p("span",null,"首帧",-1))],64))],10,jSn),p("div",{class:We(["frameBox",{hasImage:ne.endFrame}]),onClick:$=>W(ne,"end")},[ne.endFrame?(ie(),be(Gt,{key:0},[p("img",{src:ne.endFrame.filePath},null,8,WSn),t(E,{class:"removeBtn",type:"text",size:"small",onClick:Fn($=>ne.endFrame=null,["stop"])},{default:He(()=>[t(A(ns))]),_:1},8,["onClick"]),H[10]||(H[10]=p("span",{class:"frameLabel"},"尾帧",-1))],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),H[11]||(H[11]=p("span",null,"尾帧",-1))],64))],10,ASn)])])):et("",!0),ne.mode==="multi"?(ie(),be(Gt,{key:1},[p("div",SSn,[H[13]||(H[13]=p("label",null,"图片",-1)),p("div",DSn,[ne.images&&ne.images.length>0?(ie(),kt(A(O8e),{key:0,modelValue:ne.images,"onUpdate:modelValue":$=>ne.images=$,"item-key":"id",class:"imageDragList","ghost-class":"ghost",animation:200,handle:".dragHandle"},{item:He(({element:$,index:se})=>[p("div",HSn,[p("div",TSn,[p("img",{class:"image",src:$.filePath,draggable:"false"},null,8,zSn),p("div",PSn,jt(se+1),1)]),t(E,{class:"removeBtn",type:"text",size:"small",onClick:te=>D(ne,se)},{default:He(()=>[t(A(ns))]),_:1},8,["onClick"])])]),_:2},1032,["modelValue","onUpdate:modelValue"])):et("",!0),!ne.images||ne.images.lengthW(ne,"multi")},[t(A(Cd))],8,ESn)):et("",!0)])]),p("div",OSn,[H[14]||(H[14]=p("label",null,null,-1)),p("span",VSn,"拖拽调整顺序 | "+jt(((oe=ne.images)==null?void 0:oe.length)||0)+"/"+jt(A(Xk)(ne.manufacturer))+"张",1)])],64)):et("",!0),ne.mode==="single"?(ie(),be("div",BSn,[H[16]||(H[16]=p("label",null,"图片",-1)),p("div",ISn,[p("div",{class:We(["frameBox singleFrame",{hasImage:ne.startFrame}]),onClick:$=>W(ne,"start")},[ne.startFrame?(ie(),be(Gt,{key:0},[p("img",{src:ne.startFrame.filePath},null,8,RSn),t(E,{class:"removeBtn",type:"text",size:"small",onClick:Fn($=>ne.startFrame=null,["stop"])},{default:He(()=>[t(A(ns))]),_:1},8,["onClick"])],64)):(ie(),be(Gt,{key:1},[t(A(Cd)),H[15]||(H[15]=p("span",null,"选择图片",-1))],64))],10,NSn)])])):et("",!0),p("div",FSn,[p("label",null,jt(A(B8e)(ne.manufacturer)),1),t(Z,{value:ne.resolution,"onUpdate:value":$=>ne.resolution=$,size:"small",style:{width:"140px"}},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(HE)(ne.manufacturer),$=>(ie(),kt(X,{key:$.value,value:$.value},{default:He(()=>[dn(jt($.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value"])]),p("div",ZSn,[H[18]||(H[18]=p("label",null,"时长",-1)),A(Wy)(ne.manufacturer).length>0?(ie(),kt(Z,{key:0,value:ne.duration,"onUpdate:value":$=>ne.duration=$,size:"small",style:{width:"100px"}},{default:He(()=>[(ie(!0),be(Gt,null,Qn(A(Wy)(ne.manufacturer),$=>(ie(),kt(X,{key:$.value,value:$.value},{default:He(()=>[dn(jt($.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value"])):(ie(),be(Gt,{key:1},[t(Y,{value:ne.duration,"onUpdate:value":$=>ne.duration=$,min:A(iv)(ne.manufacturer).min,max:A(iv)(ne.manufacturer).max,step:A(iv)(ne.manufacturer).step,size:"small",style:{width:"70px"}},null,8,["value","onUpdate:value","min","max","step"]),H[17]||(H[17]=p("span",{class:"unit"},"秒",-1)),p("span",XSn,jt(A(I8e)(ne.manufacturer)),1)],64))]),p("div",USn,[H[19]||(H[19]=p("label",null,"提示词",-1)),p("div",GSn,[t(K,{value:ne.prompt,"onUpdate:value":$=>ne.prompt=$,rows:2,placeholder:"描述视频内容、运动方式等",size:"small"},null,8,["value","onUpdate:value"]),t(E,{class:"magicBtn",type:"link",size:"small",loading:ne.promptLoading,onClick:$=>z(ne),style:{"margin-right":"20px"}},{default:He(()=>[t(Q)]),_:1},8,["loading","onClick"])])])])])}),128))])):(ie(),kt(ee,{key:1,description:"请点击上方按钮添加视频配置"}))])]),_:1},8,["open","confirmLoading"]),t(J,{open:h.value,"onUpdate:open":H[2]||(H[2]=ne=>h.value=ne),title:g.value,onOk:V,onCancel:H[3]||(H[3]=ne=>h.value=!1),width:"80%",bodyStyle:{maxHeight:"70vh",overflow:"auto"}},{footer:He(()=>[p("div",YSn,[p("span",qSn,"已选择 "+jt(k.value.length)+" 张",1),p("div",null,[t(E,{onClick:H[1]||(H[1]=ne=>h.value=!1)},{default:He(()=>[...H[20]||(H[20]=[dn("取消",-1)])]),_:1}),t(E,{type:"primary",onClick:V},{default:He(()=>[...H[21]||(H[21]=[dn("确定",-1)])]),_:1})])])]),default:He(()=>[h.value?(ie(),kt(QA,{key:0,way:v.value==="multi"?"checkbox":"radio",radio:"storyboard",ref:"mainElementRef",onCheckChange:T,onCheckAll:S},null,8,["way"])):et("",!0)]),_:1},8,["open","title"])])}}}),JSn=Zo(KSn,[["__scopeId","data-v-7f1eb920"]]),QSn={key:0,class:"video-detail"},$Sn={class:"left-panel"},_Sn={class:"config-section"},pSn={class:"action-section"},eDn={class:"right-panel"},tDn={class:"section-title"},nDn={key:0,class:"result-count"},iDn={key:0,class:"results-list"},oDn=["onClick"],lDn=["onClick"],rDn=["src"],sDn={class:"play-overlay"},aDn={key:0,class:"duration-badge"},cDn={class:"result-actions"},dDn={key:1,class:"selected-badge"},uDn={key:1,class:"status-cover generating"},hDn={key:2,class:"status-cover failed"},kDn={key:1,class:"empty-results"},fDn={class:"empty-icon"},vDn={class:"video-player-content"},gDn=["src"],mDn=_e({__name:"videoDetail",props:Jl({configId:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,i=Mr(e,"modelValue"),o=_A(),{videoConfigs:l,videoResults:r}=zr(o),s=_(!1),a=_(!1),c=_(null),d=_(null),u=_(null),h=P(()=>n.configId&&l.value.find(L=>L.id===n.configId)||null),g=P(()=>n.configId?o.getResultsByConfigId(n.configId):[]);Oe(h,L=>{L?u.value={id:L.id,manufacturer:L.manufacturer,mode:L.mode,startFrame:L.startFrame,endFrame:L.endFrame,images:L.images?[...L.images]:[],resolution:L.resolution,duration:L.duration,prompt:L.prompt}:u.value=null},{immediate:!0});async function v(L){if(!(!n.configId||!h.value)){u.value=L,o.updateConfigFull(n.configId,{resolution:L.resolution,duration:L.duration,prompt:L.prompt,startFrame:L.startFrame,endFrame:L.endFrame,images:L.images});try{await Di.post("/video/upDateVideoConfig",{id:n.configId,resolution:L.resolution,duration:L.duration,prompt:L.prompt,startFrame:L.startFrame,endFrame:L.endFrame,images:L.images})}catch(b){console.error("更新配置失败:",b)}}}function m(L){const b=Math.floor(L/60),C=Math.floor(L%60);return`${b}:${C.toString().padStart(2,"0")}`}async function k(){if(n.configId){s.value=!0;try{await o.generateVideo(n.configId),Sn.success("视频生成任务已提交")}catch(L){Sn.error((L==null?void 0:L.message)||"生成失败")}finally{s.value=!1}}}async function f(L){if(!(L.state!==1||!n.configId)){o.selectResult(n.configId,L.id);try{await Di.post("/video/upDateVideoConfig",{id:n.configId,selectedResultId:L.id}),Sn.success("已选择此视频")}catch(b){Sn.error("选择失败"),console.error("更新选中结果失败:",b)}}}function w(L){L.state!==1||!L.filePath||(c.value=L,a.value=!0)}return Oe(a,L=>{!L&&d.value&&(d.value.pause(),c.value=null)}),(L,b)=>{const C=nn("i-video-two"),y=tl,x=nn("i-play-one"),M=nn("i-check-one"),W=nn("i-close-one"),S=nn("i-film"),T=Fo;return ie(),kt(T,{open:i.value,"onUpdate:open":b[1]||(b[1]=V=>i.value=V),title:"视频详情",width:"90vw",style:{top:"20px"},footer:null,destroyOnClose:""},{default:He(()=>[h.value?(ie(),be("div",QSn,[p("div",$Sn,[p("div",_Sn,[b[2]||(b[2]=p("h3",{class:"section-title"},"配置信息",-1)),u.value?(ie(),kt(A(hSn),{key:0,config:u.value,"script-id":h.value.scriptId,editable:!0,"manufacturer-disabled":!0,onChange:v},null,8,["config","script-id"])):et("",!0)]),p("div",pSn,[t(y,{type:"primary",size:"large",block:"",loading:s.value,onClick:k},{icon:He(()=>[t(C)]),default:He(()=>[b[3]||(b[3]=dn(" 生成视频 ",-1))]),_:1},8,["loading"]),b[4]||(b[4]=p("p",{class:"action-hint"},"每次生成可能产生不同的结果,可多次尝试",-1))])]),p("div",eDn,[p("h3",tDn,[b[5]||(b[5]=dn(" 生成结果 ",-1)),g.value.length?(ie(),be("span",nDn,jt(g.value.length)+"个",1)):et("",!0)]),g.value.length?(ie(),be("div",iDn,[(ie(!0),be(Gt,null,Qn(g.value,V=>(ie(),be("div",{key:V.id,class:We(["result-card",{selected:h.value.selectedResultId===V.id,success:V.state===1,generating:V.state===0,failed:V.state===-1}]),onClick:D=>f(V)},[V.state===1?(ie(),be(Gt,{key:0},[p("div",{class:"video-cover",onClick:Fn(D=>w(V),["stop"])},[p("img",{src:V.firstFrame||V.filePath,alt:"视频封面"},null,8,rDn),p("div",sDn,[t(x,{theme:"filled",size:24,fill:"#fff"})]),V.duration?(ie(),be("div",aDn,jt(m(V.duration)),1)):et("",!0)],8,lDn),p("div",cDn,[h.value.selectedResultId!==V.id?(ie(),kt(y,{key:0,type:"primary",size:"small",onClick:Fn(D=>f(V),["stop"])},{default:He(()=>[...b[6]||(b[6]=[dn(" 选择此视频 ",-1)])]),_:1},8,["onClick"])):(ie(),be("span",dDn,[t(M,{theme:"filled",size:14}),b[7]||(b[7]=dn(" 已选择 ",-1))]))])],64)):V.state===0?(ie(),be("div",uDn,[...b[8]||(b[8]=[p("div",{class:"loading-spinner"},null,-1),p("span",null,"生成中...",-1)])])):(ie(),be("div",hDn,[t(W,{theme:"filled",size:24,fill:"#ef4444"}),b[9]||(b[9]=p("span",null,"生成失败",-1))]))],10,oDn))),128))])):(ie(),be("div",kDn,[p("div",fDn,[t(S,{size:48})]),b[10]||(b[10]=p("p",{class:"empty-title"},"暂无生成结果",-1)),b[11]||(b[11]=p("p",{class:"empty-desc"},"点击左侧按钮开始生成视频",-1))]))])])):et("",!0),t(T,{open:a.value,"onUpdate:open":b[0]||(b[0]=V=>a.value=V),title:null,footer:null,width:"800px",centered:"",destroyOnClose:"",wrapClassName:"video-player-modal"},{default:He(()=>[p("div",vDn,[c.value?(ie(),be("video",{key:0,ref_key:"videoRef",ref:d,src:c.value.filePath,controls:"",autoplay:"",class:"video-element"},null,8,gDn)):et("",!0)])]),_:1},8,["open"])]),_:1},8,["open"])}}}),wDn=Zo(mDn,[["__scopeId","data-v-9ea7131d"]]),LDn={class:"storyboard-video"},bDn={class:"header"},CDn={class:"title"},yDn={class:"icon-wrapper"},xDn={key:0,class:"count"},jDn=["disabled"],MDn={class:"content"},ADn={key:0,class:"video-grid"},WDn=["onClick"],SDn={class:"video-index"},DDn={class:"cover-wrapper"},HDn={key:0,class:"status-wrapper generating"},TDn={class:"status-hint"},zDn=["src"],PDn={class:"play-overlay"},EDn={class:"play-button"},ODn={key:0,class:"duration-badge"},VDn={key:2,class:"status-wrapper pending"},BDn={class:"pending-icon"},IDn={class:"info-wrapper"},NDn={class:"config-info"},RDn={class:"manufacturer-tag"},FDn={class:"resolution-tag"},ZDn={class:"duration-tag"},XDn={class:"prompt-text"},UDn=["onClick"],GDn={key:1,class:"empty-state"},YDn={class:"empty-icon"},qDn=_e({__name:"generateVideo",props:{scriptId:{},disableBtn:{type:Boolean},canGenerate:{type:Boolean}},setup(e){const n=_A(),{currentConfigs:i}=zr(n),o=_(!1),l=_(!1),r=_(null),s={volcengine:"豆包",runninghub:"Sora",openAi:"OpenAI"};function a(m){return s[m]||m}function c(m){const k=Math.floor(m/60),f=Math.floor(m%60);return`${k}:${f.toString().padStart(2,"0")}`}function d(m){return n.getSelectedResult(m)}function u(m){return n.getResultsByConfigId(m).some(f=>f.state===0)}function h(m){return n.getResultsByConfigId(m).length}function g(m){r.value=m.id,l.value=!0}function v(m){Fo.confirm({title:"确认删除",content:"删除配置后,关联的所有生成结果也会被删除,确定要删除吗?",okText:"确定",cancelText:"取消",onOk(){n.removeConfig(m),Sn.success("删除成功")}})}return(m,k)=>{const f=nn("i-pic"),w=nn("i-video-two"),L=nn("i-play-one"),b=nn("i-setting-config"),C=nn("i-delete");return ie(),be("div",LDn,[p("div",bDn,[p("div",CDn,[p("div",yDn,[t(f,{size:20,class:"icon"})]),k[3]||(k[3]=p("span",null,"视频配置",-1)),A(i).length?(ie(),be("span",xDn,jt(A(i).length),1)):et("",!0)]),e.canGenerate?(ie(),be("button",{key:0,disabled:!e.disableBtn,class:"generate-btn",onClick:k[0]||(k[0]=y=>o.value=!0)},[t(w,{size:18}),k[4]||(k[4]=p("span",null,"添加配置",-1))],8,jDn)):et("",!0)]),p("div",MDn,[A(i).length?(ie(),be("div",ADn,[(ie(!0),be(Gt,null,Qn(A(i),(y,x)=>{var M,W,S,T;return ie(),be("div",{key:y.id,class:"video-card",onClick:V=>g(y)},[p("div",SDn,"#"+jt(x+1),1),p("div",DDn,[u(y.id)?(ie(),be("div",HDn,[k[5]||(k[5]=p("div",{class:"loading-spinner"},null,-1)),k[6]||(k[6]=p("span",{class:"status-text"},"正在生成中...",-1)),p("span",TDn,jt(h(y.id))+"个结果",1)])):((M=d(y.id))==null?void 0:M.state)===1?(ie(),be(Gt,{key:1},[p("img",{src:((W=d(y.id))==null?void 0:W.firstFrame)||((S=d(y.id))==null?void 0:S.filePath),class:"cover-image",alt:"视频封面"},null,8,zDn),p("div",PDn,[p("div",EDn,[t(L,{theme:"filled",size:32,fill:"#fff"})])]),(T=d(y.id))!=null&&T.duration?(ie(),be("div",ODn,jt(c(d(y.id).duration)),1)):et("",!0)],64)):(ie(),be("div",VDn,[p("div",BDn,[t(b,{size:32})]),k[7]||(k[7]=p("span",{class:"status-text"},"待生成",-1)),k[8]||(k[8]=p("span",{class:"status-hint"},"点击进入生成",-1))]))]),p("div",IDn,[p("div",NDn,[p("span",RDn,jt(a(y.manufacturer)),1),p("span",FDn,jt(y.resolution),1),p("span",ZDn,jt(y.duration)+"s",1)]),p("p",XDn,jt(y.prompt||"暂无描述"),1)]),p("button",{class:"delete-btn",onClick:Fn(V=>v(y.id),["stop"])},[t(C,{size:16})],8,UDn)],8,WDn)}),128))])):(ie(),be("div",GDn,[p("div",YDn,[t(w,{size:48})]),k[9]||(k[9]=p("p",{class:"empty-title"},"暂无视频配置",-1)),k[10]||(k[10]=p("p",{class:"empty-desc"},"点击上方按钮添加视频配置",-1))]))]),o.value&&e.scriptId?(ie(),kt(JSn,{key:0,modelValue:o.value,"onUpdate:modelValue":k[1]||(k[1]=y=>o.value=y),scriptId:e.scriptId},null,8,["modelValue","scriptId"])):et("",!0),l.value?(ie(),kt(wDn,{key:1,modelValue:l.value,"onUpdate:modelValue":k[2]||(k[2]=y=>l.value=y),configId:r.value},null,8,["modelValue","configId"])):et("",!0)])}}}),KDn=Zo(qDn,[["__scopeId","data-v-32da2a77"]]),JDn={class:"batch-download"},QDn={class:"header"},$Dn={class:"title"},_Dn={class:"icon-wrapper"},pDn={key:0,class:"count-badge"},eHn=["disabled"],tHn={class:"modal-content"},nHn={class:"modal-header"},iHn={class:"modal-title"},oHn={class:"action-bar"},lHn={class:"select-info"},rHn={class:"info-left"},sHn={class:"select-count"},aHn={key:0,class:"selected-hint"},cHn={class:"info-right"},dHn={class:"video-list"},uHn={key:0,class:"video-grid"},hHn=["onClick"],kHn={key:0,class:"select-indicator"},fHn={key:1,class:"unavailable-badge"},vHn={class:"thumb-wrapper"},gHn=["src"],mHn={class:"thumb-overlay"},wHn={class:"play-icon"},LHn={class:"video-info"},bHn={class:"video-title"},CHn={class:"video-meta"},yHn={class:"meta-tag resolution"},xHn={class:"meta-tag model"},jHn={key:1,class:"empty-state"},MHn={class:"empty-icon"},AHn={class:"modal-footer"},WHn=["disabled"],SHn=_e({__name:"downVideo",props:{modelValue:{default:[]},modelModifiers:{}},emits:["update:modelValue"],setup(e){const n=Mr(e,"modelValue"),i=_(!1),o=_([]),l=P(()=>n.value.some(f=>f.filePath)),r=P(()=>n.value.filter(f=>f.filePath).length),s=P(()=>{const f=n.value.filter(w=>w.filePath);return o.value.length===f.length&&f.length>0}),a=P(()=>o.value.length*5*1024*1024),c=f=>o.value.includes(f),d=f=>{const w=o.value.indexOf(f);w>-1?o.value.splice(w,1):o.value.push(f)},u=()=>{s.value?o.value=[]:o.value=n.value.filter(f=>f.filePath).map(f=>f.id)};function h(f){return f<1024?f+" B":f<1024*1024?(f/1024).toFixed(1)+" KB":f<1024*1024*1024?(f/(1024*1024)).toFixed(1)+" MB":(f/(1024*1024*1024)).toFixed(1)+" GB"}function g(){i.value=!0,o.value=n.value.filter(f=>f.filePath).map(f=>f.id)}async function v(f,w){try{const L=await fetch(f);if(!L.ok)throw new Error("文件无法访问");const b=await L.blob(),C=URL.createObjectURL(b),y=document.createElement("a");y.href=C,y.download=w,y.style.display="none",document.body.appendChild(y),y.click(),setTimeout(()=>{URL.revokeObjectURL(C),document.body.removeChild(y)},100)}catch(L){throw console.error("下载失败:",L),L}}async function m(){if(o.value.length===0){Sn.warning("请至少选择一个视频");return}const f=n.value.filter(L=>o.value.includes(L.id)&&L.filePath);if(f.length===0){Sn.warning("选中的视频没有可下载的文件");return}const w="download";Sn.loading({content:`正在下载 ${f.length} 个视频...`,key:w,duration:0});try{for(let L=0;Lx.id===b.id)+1}.mp4`;await v(b.filePath,y),LsetTimeout(x,500))}Sn.success({content:"下载完成!",key:w}),i.value=!1}catch(L){console.error("下载错误:",L),Sn.error({content:"下载失败,请重试",key:w})}}function k(f){f.target.src="/default-thumb.png"}return(f,w)=>{const L=nn("i-download"),b=nn("i-check-correct"),C=nn("i-video-two"),y=nn("i-close"),x=nn("i-close-one"),M=nn("i-check"),W=nn("i-play"),S=nn("i-pic"),T=nn("i-cpu"),V=Fo;return ie(),be("div",JDn,[p("div",QDn,[p("div",$Dn,[p("div",_Dn,[t(L,{size:20,class:"icon"})]),w[3]||(w[3]=p("span",null,"批量下载",-1)),r.value?(ie(),be("span",pDn,jt(r.value)+" 个可下载",1)):et("",!0)]),p("button",{onClick:g,disabled:!l.value,class:"download-btn"},[t(b,{size:18}),w[4]||(w[4]=p("span",null,"选择视频",-1))],8,eHn)]),t(V,{open:i.value,"onUpdate:open":w[2]||(w[2]=D=>i.value=D),title:null,width:"85vw",centered:"",footer:null,wrapClassName:"download-modal"},{default:He(()=>[p("div",tHn,[p("div",nHn,[p("div",iHn,[t(C,{size:24}),w[5]||(w[5]=p("span",null,"选择要下载的视频",-1))]),p("button",{class:"close-btn",onClick:w[0]||(w[0]=D=>i.value=!1)},[t(y,{size:20})])]),p("div",oHn,[p("div",lHn,[p("div",rHn,[p("span",sHn,[w[6]||(w[6]=dn(" 已选择 ",-1)),p("strong",null,jt(o.value.length),1),dn(" / "+jt(n.value.length),1)]),o.value.length>0?(ie(),be("span",aHn,"(共 "+jt(h(a.value))+")",1)):et("",!0)]),p("div",cHn,[p("button",{class:"select-all-btn",onClick:u},[s.value?(ie(),kt(x,{key:1,size:16})):(ie(),kt(b,{key:0,size:16})),dn(" "+jt(s.value?"取消全选":"全选"),1)])])])]),p("div",dHn,[n.value.length?(ie(),be("div",uHn,[(ie(!0),be(Gt,null,Qn(n.value,(D,z)=>(ie(),be("div",{key:D.id,class:We(["video-card",{selected:c(D.id),disabled:!D.filePath}]),onClick:B=>D.filePath&&d(D.id)},[c(D.id)?(ie(),be("div",kHn,[t(M,{size:16})])):et("",!0),D.filePath?et("",!0):(ie(),be("div",fHn,"不可用")),p("div",vHn,[p("img",{src:D.firstFrame,alt:"视频封面",class:"video-thumb",onError:k},null,40,gHn),p("div",mHn,[p("div",wHn,[t(W,{size:24})])])]),p("div",LHn,[p("h4",bHn,"视频 #"+jt(z+1),1),p("div",CHn,[p("span",yHn,[t(S,{size:12}),dn(" "+jt(D.resolution||"未知"),1)]),p("span",xHn,[t(T,{size:12}),dn(" "+jt(D.model||"未知"),1)])])])],10,hHn))),128))])):(ie(),be("div",jHn,[p("div",MHn,[t(C,{size:48})]),w[7]||(w[7]=p("p",{class:"empty-title"},"暂无视频",-1)),w[8]||(w[8]=p("p",{class:"empty-desc"},"没有可供下载的视频",-1))]))]),p("div",AHn,[p("button",{class:"cancel-btn",onClick:w[1]||(w[1]=D=>i.value=!1)},"取消"),p("button",{class:"confirm-btn",disabled:o.value.length===0,onClick:m},[t(L,{size:18}),p("span",null,"下载选中项 ("+jt(o.value.length)+")",1)],8,WHn)])])]),_:1},8,["open"])])}}}),DHn=Zo(SHn,[["__scopeId","data-v-7790fa18"]]),HHn={class:"scriptManager"},THn={class:"data"},zHn={class:"newStoryboard"},PHn={key:0,class:"noneScripts"},EHn={class:"smNoneIcon"},OHn={key:1,class:"scriptsList"},VHn={class:"storyboardImage"},BHn={class:"storyboardImage"},IHn={class:"storyboardImage"},NHn=_e({__name:"index",setup(e){const{project:n,currentScriptId:i}=zr(Jr()),o=_A(),{currentConfigs:l}=zr(o),r=_([]),s=_([]),a=_(-1),c=P(()=>l.value.filter(k=>k.selectedResultId).map(k=>{const f=o.getSelectedResult(k.id);return f?{id:f.id,filePath:f.filePath,firstFrame:f.firstFrame,duration:f.duration,prompt:f.prompt,state:f.state,time:f.duration,model:"",scriptId:k.scriptId,resolution:k.resolution,storyboardImgs:[]}:null}).filter(k=>k!==null)),d=P(()=>{var k;return Number((k=n.value)==null?void 0:k.id)}),u=P(()=>{var f;const k=r.value.find(w=>w.id===i.value);return(((f=k==null?void 0:k.content)==null?void 0:f.length)??0)>0}),h=P(()=>{if(!r.value.length)return!1;const k=r.value.find(f=>f.id===a.value);return!!(k!=null&&k.content)});function g(k){k!==void 0&&(i.value=k,m(k),o.setCurrentScript(k,d.value))}async function v(){try{const{data:k}=await Di.post("/script/geScriptApi",{projectId:d.value});r.value=k}catch{Sn.error("获取剧本列表失败")}}async function m(k){if(k===-1)return;const{data:f}=await Di.post("/storyboard/getStoryboard",{projectId:d.value,scriptId:k});s.value=f}return ii(()=>{o.cleanup()}),un(v),(k,f)=>{const w=nn("i-file-text");return ie(),be("div",HHn,[f[5]||(f[5]=p("div",{class:"smHead jb ac"},[p("div",null,[p("h2",{class:"smTitle"},"剧本管理"),p("p",{class:"smSub"},"管理和编辑分集剧本内容")])],-1)),p("div",THn,[p("div",zHn,[r.value.length===0?(ie(),be("div",PHn,[p("div",EHn,[t(w,{size:48,class:"icon"})]),f[4]||(f[4]=p("h3",{class:"smNoneTitle"},"暂无剧本",-1))])):(ie(),be("div",OHn,[t(SMn,{modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=L=>r.value=L),scriptId:a.value,"onUpdate:scriptId":f[1]||(f[1]=L=>a.value=L),onGetScriptData:v,onChange:g},null,8,["modelValue","scriptId"])]))]),ui(p("div",VHn,[t(NAn,{data:s.value,disableBtn:r.value.length,canGenerate:u.value,scriptId:a.value,projectId:d.value,onSave:f[2]||(f[2]=L=>m(A(i)))},null,8,["data","disableBtn","canGenerate","scriptId","projectId"])],512),[[Bi,r.value.length>0&&u.value]]),ui(p("div",BHn,[t(KDn,{disableBtn:h.value,canGenerate:u.value,scriptId:a.value},null,8,["disableBtn","canGenerate","scriptId"])],512),[[Bi,r.value.length>0&&s.value.length>0]]),ui(p("div",IHn,[t(DHn,{modelValue:c.value,"onUpdate:modelValue":f[3]||(f[3]=L=>c.value=L)},null,8,["modelValue"])],512),[[Bi,s.value.length>0&&c.value.length>0]])])])}}}),RHn=Zo(NHn,[["__scopeId","data-v-aca19d03"]]),FHn={class:"projectDetail"},ZHn={class:"detailHeader"},XHn={class:"headerBar"},UHn={class:"headerLeft"},GHn={class:"info ac"},YHn={class:"title"},qHn={class:"meta"},KHn={key:0},JHn={class:"nav"},QHn=["onClick"],$Hn={class:"navLabel"},_Hn={class:"main"},pHn=_e({__name:"index",setup(e){const{project:n}=zr(Jr()),i=j2t(),o=Number(i.query.id);un(async()=>{await Jr().setProjectById(o)});const l=i5(),r=[{id:"overview",label:"项目概览",icon:"i-more-app"},{id:"originalText",label:"小说原文",icon:"i-file-text"},{id:"outline",label:"大纲管理",icon:"i-mindmap-list"},{id:"assets",label:"资产管理",icon:"i-data-file"},{id:"script",label:"剧本管理",icon:"i-ad-product"}],s=_("overview");function a(d){s.value=d}function c(){l.push("/project")}return(d,u)=>{var g,v,m,k;const h=nn("i-left");return ie(),be("div",FHn,[p("div",ZHn,[p("div",XHn,[p("div",UHn,[p("button",{class:"backBtn",onClick:c},[t(h,{size:20})]),p("div",GHn,[p("h1",YHn,jt((g=A(n))==null?void 0:g.name),1),p("p",qHn,[(v=A(n))!=null&&v.updatedAt&&((m=A(n))==null?void 0:m.updatedAt)>0?(ie(),be("span",KHn,"最后更新 "+jt(A(ri)((k=A(n))==null?void 0:k.updatedAt).format("YYYY-MM-DD HH:mm:ss")),1)):et("",!0)])])])]),p("div",JHn,[(ie(),be(Gt,null,Qn(r,f=>p("button",{key:f.id,class:We(["navBtn",{navActive:f.id===A(s)}]),onClick:w=>a(f.id)},[(ie(),kt(Ai(f.icon),{size:18})),p("span",$Hn,jt(f.label),1)],10,QHn)),64))])]),p("div",_Hn,[A(s)==="overview"?(ie(),kt(jmn,{key:0})):et("",!0),A(s)==="originalText"?(ie(),kt(qbn,{key:1})):et("",!0),A(s)==="outline"?(ie(),kt(njn,{key:2})):et("",!0),A(s)==="assets"?(ie(),kt(Zjn,{key:3})):et("",!0),A(s)==="script"?(ie(),kt(RHn,{key:4})):et("",!0)])])}}}),eTn=Zo(pHn,[["__scopeId","data-v-d8213798"]]),tTn=Object.freeze(Object.defineProperty({__proto__:null,default:eTn},Symbol.toStringTag,{value:"Module"})),nTn={class:"manufacturerOption"},iTn={class:"priorityControl"},oTn={key:2,class:"formTip"},lTn={key:0,class:"formTip"},rTn={class:"formTip"},sTn=["href"],aTn={class:"formActions"},cTn=_e({__name:"configAddForm",props:Jl({data:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:Jl(["save"],["update:modelValue"]),setup(e,{emit:n}){const i={volcengine:{label:"火山引擎",value:"volcengine",showModel:!1,showBaseUrl:!0,baseUrlPlaceholder:"https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks",baseUrlTip:"请填写完整路径,包括V3后面的Path",defaultBaseUrl:"https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks",apiKeyPlaceholder:"请输入火山引擎 API Key,注意不需要 Bearer 前缀",apiKeyTip:"在火山引擎控制台创建API Key",apiKeyLink:"https://console.volcengine.com/ark"},apimart:{label:"APIMart",value:"apimart",showModel:!1,showBaseUrl:!1,apiKeyPlaceholder:"请输入 APIMart 的 API Key",apiKeyTip:"在 APIMart 控制台获取",apiKeyLink:"https://apimart.ai/zh/keys"},runninghub:{label:"RunningHub",value:"runninghub",showModel:!1,showBaseUrl:!1,apiKeyPlaceholder:"请输入 RunningHub 的密钥,注意不需要 Bearer 前缀",apiKeyTip:"在 RunningHub 控制台获取",apiKeyLink:"https://runninghub.cn"},openAi:{label:"OpenAI",value:"openAi",disabled:!0,tag:"暂不支持",tagColor:"default",showModel:!0,showBaseUrl:!0,modelPlaceholder:"输入模型名称,如:gpt-4",modelTip:"OpenAI 目前暂不支持视频生成",baseUrlPlaceholder:"https://api.openai.com/v1",baseUrlTip:"OpenAI API 服务地址",defaultBaseUrl:"https://api.openai.com/v1",apiKeyPlaceholder:"sk-xxxx(无需 Bearer 前缀)",apiKeyTip:"您的 OpenAI API 密钥",apiKeyLink:"https://platform.openai.com/api-keys"}},o=P(()=>Object.values(i)),l=P(()=>i[h.value.manufacturer]||i.custom),r=P(()=>{const w=l.value,L={name:[{required:!0,message:"请输入配置名称",trigger:"blur"}],manufacturer:[{required:!0,message:"请选择厂商",trigger:"change"}],apiKey:[{required:!0,message:"请输入 API Key",trigger:"blur"}]};return w.showModel&&(L.model=[{required:!0,message:"请输入或选择模型",trigger:"blur"}]),w.showBaseUrl&&(L.baseUrl=[{required:!0,message:"请输入 Base URL",trigger:"blur"},{type:"url",message:"请输入有效的 URL 地址",trigger:"blur"}]),L}),s=n,a=Mr(e,"modelValue"),c=e,d=_(),u=_(!1),h=_({id:-1,name:"",manufacturer:"runninghub",index:0,model:"",baseUrl:"",apiKey:"",createTime:0});Oe(a,w=>{var L;w?h.value=JSON.parse(JSON.stringify(c.data)):((L=d.value)==null||L.resetFields(),h.value={id:-1,name:"",manufacturer:"runninghub",index:0,model:"",baseUrl:"",apiKey:"",createTime:0})});function g(w){const L=i[w];L&&(h.value.model="",h.value.baseUrl=L.defaultBaseUrl||"")}function v(){h.value.index>0&&h.value.index--}function m(){h.value.index++}async function k(){if(d.value)try{await d.value.validate(),u.value=!0,await new Promise(w=>setTimeout(w,300)),s("save",{...h.value}),a.value=!1}catch{}finally{u.value=!1}}function f(){a.value=!1}return(w,L)=>{const b=ql,C=Yf,y=ku,x=Xm,M=Gr,W=nn("i-minus"),S=tl,T=A8,V=nn("i-plus"),D=ej,z=nn("i-link-one"),B=Nc,F=Fo;return ie(),kt(F,{open:a.value,"onUpdate:open":L[7]||(L[7]=O=>a.value=O),title:"配置视频模型",footer:null,width:"520px",maskClosable:!1,centered:"",class:"configModal"},{default:He(()=>[t(B,{model:h.value,rules:r.value,ref_key:"formRef",ref:d,layout:"vertical",autocomplete:"off",class:"configForm"},{default:He(()=>[t(C,{label:"配置名称",name:"name"},{default:He(()=>[t(b,{value:h.value.name,"onUpdate:value":L[0]||(L[0]=O=>h.value.name=O),placeholder:"请输入配置名称,如:默认配置"},null,8,["value"])]),_:1}),t(C,{label:"厂商",name:"manufacturer"},{default:He(()=>[t(M,{value:h.value.manufacturer,"onUpdate:value":L[1]||(L[1]=O=>h.value.manufacturer=O),placeholder:"选择AI服务提供商",onChange:g},{default:He(()=>[(ie(!0),be(Gt,null,Qn(o.value,O=>(ie(),kt(x,{disabled:O.disabled,key:O.value,value:O.value},{default:He(()=>[p("div",nTn,[p("span",null,jt(O.label),1),O.tag?(ie(),kt(y,{key:0,color:O.tagColor,size:"small"},{default:He(()=>[dn(jt(O.tag),1)]),_:2},1032,["color"])):et("",!0)])]),_:2},1032,["disabled","value"]))),128))]),_:1},8,["value"])]),_:1}),t(C,{label:"优先级",name:"index"},{default:He(()=>[p("div",iTn,[t(S,{class:"priorityBtn",onClick:v,disabled:h.value.index<=0},{default:He(()=>[t(W,{theme:"outline",size:"14",fill:"currentColor"})]),_:1},8,["disabled"]),t(T,{value:h.value.index,"onUpdate:value":L[2]||(L[2]=O=>h.value.index=O),min:0,controls:!1,class:"priorityInput"},null,8,["value"]),t(S,{class:"priorityBtn",onClick:m},{default:He(()=>[t(V,{theme:"outline",size:"14",fill:"currentColor"})]),_:1})]),L[8]||(L[8]=p("div",{class:"formTip"},"数值越小优先级越高",-1))]),_:1}),l.value.showModel?(ie(),kt(C,{key:0,label:"模型",name:"model"},{default:He(()=>{var O;return[(O=l.value.models)!=null&&O.length?(ie(),kt(M,{key:0,value:h.value.model,"onUpdate:value":L[3]||(L[3]=H=>h.value.model=H),placeholder:l.value.modelPlaceholder,"show-search":"","allow-clear":""},{default:He(()=>[(ie(!0),be(Gt,null,Qn(l.value.models,H=>(ie(),kt(x,{key:H.value,value:H.value},{default:He(()=>[dn(jt(H.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])):(ie(),kt(b,{key:1,value:h.value.model,"onUpdate:value":L[4]||(L[4]=H=>h.value.model=H),placeholder:l.value.modelPlaceholder},null,8,["value","placeholder"])),l.value.modelTip?(ie(),be("div",oTn,jt(l.value.modelTip),1)):et("",!0)]}),_:1})):et("",!0),l.value.showBaseUrl?(ie(),kt(C,{key:1,label:"Base URL",name:"baseUrl"},{default:He(()=>[t(b,{value:h.value.baseUrl,"onUpdate:value":L[5]||(L[5]=O=>h.value.baseUrl=O),placeholder:l.value.baseUrlPlaceholder},null,8,["value","placeholder"]),l.value.baseUrlTip?(ie(),be("div",lTn,jt(l.value.baseUrlTip),1)):et("",!0)]),_:1})):et("",!0),t(C,{label:"API Key",name:"apiKey"},{default:He(()=>[t(D,{value:h.value.apiKey,"onUpdate:value":L[6]||(L[6]=O=>h.value.apiKey=O),placeholder:l.value.apiKeyPlaceholder},null,8,["value","placeholder"]),p("div",rTn,[p("span",null,jt(l.value.apiKeyTip),1),l.value.apiKeyLink?(ie(),be("a",{key:0,href:l.value.apiKeyLink,target:"_blank",class:"tipLink"},[L[9]||(L[9]=dn(" 获取API Key ",-1)),t(z,{theme:"outline",size:"12",fill:"currentColor"})],8,sTn)):et("",!0)])]),_:1}),p("div",aTn,[t(S,{size:"large",onClick:f},{default:He(()=>[...L[10]||(L[10]=[dn("取消",-1)])]),_:1}),t(S,{type:"primary",size:"large",onClick:k,loading:u.value},{default:He(()=>[...L[11]||(L[11]=[dn("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["model","rules"])]),_:1},8,["open"])}}}),dTn=Zo(cTn,[["__scopeId","data-v-36bd590b"]]),uTn={class:"modelCardHeader"},hTn={class:"modelInfo"},kTn={class:"modelMeta"},fTn={class:"modelName"},vTn={class:"modelProvider"},gTn={class:"actionBtn danger"},mTn={class:"modelCardBody"},wTn={class:"infoGrid"},LTn={class:"infoItem"},bTn={class:"infoValue url"},CTn={class:"infoItem"},yTn={class:"infoValue"},xTn={class:"priorityBadge"},jTn={class:"infoItem"},MTn={class:"infoValue"},ATn={class:"infoItem"},WTn={class:"infoValue secret"},STn={class:"infoItem"},DTn={class:"infoValue"},HTn=_e({__name:"modalInfo",props:{config:{}},emits:["edit","delete"],setup(e,{emit:n}){const i=e,o=n,l={runninghub:"RunningHub",openAi:"OpenAI",volcengine:"火山引擎",apimart:"APIMart",gemini:"Gemini"};function r(d){return l[d]||d}function s(d){return d?ri(d).format("YYYY-MM-DD HH:mm"):"-"}function a(){o("edit",i.config)}function c(){o("delete",i.config)}return(d,u)=>{var k;const h=nn("i-edit"),g=hu,v=nn("i-delete"),m=$m;return ie(),be("div",{class:"modelCard",onClick:a},[p("div",uTn,[p("div",hTn,[p("div",kTn,[p("h4",fTn,jt(e.config.name),1),p("span",vTn,jt(r(e.config.manufacturer)),1)])]),p("div",{class:"modelActions",onClick:u[0]||(u[0]=Fn(()=>{},["stop"]))},[t(g,{title:"编辑"},{default:He(()=>[p("button",{class:"actionBtn",onClick:a},[t(h,{theme:"outline",size:"16",fill:"currentColor"})])]),_:1}),t(m,{title:"确定要删除这个配置吗?",onConfirm:c,placement:"topRight"},{default:He(()=>[t(g,{title:"删除"},{default:He(()=>[p("button",gTn,[t(v,{theme:"outline",size:"16",fill:"currentColor"})])]),_:1})]),_:1})])]),p("div",mTn,[p("div",wTn,[p("div",LTn,[u[1]||(u[1]=p("span",{class:"infoLabel"},"Base URL",-1)),p("span",bTn,jt(e.config.baseUrl||"-"),1)]),p("div",CTn,[u[2]||(u[2]=p("span",{class:"infoLabel"},"优先级",-1)),p("span",yTn,[p("span",xTn,jt(e.config.index),1)])]),p("div",jTn,[u[3]||(u[3]=p("span",{class:"infoLabel"},"模型",-1)),p("span",MTn,jt(e.config.model?e.config.model:"-"),1)]),p("div",ATn,[u[4]||(u[4]=p("span",{class:"infoLabel"},"API Key",-1)),p("span",WTn,"****"+jt((k=e.config.apiKey)==null?void 0:k.slice(-4)),1)]),p("div",STn,[u[5]||(u[5]=p("span",{class:"infoLabel"},"创建时间",-1)),p("span",DTn,jt(s(e.config.createTime)),1)])])])])}}}),TTn=Zo(HTn,[["__scopeId","data-v-59e74e9d"]]),zTn={class:"promptEditorContainer"},PTn={class:"promptSidebar"},ETn={class:"typeHeader"},OTn=["onClick"],VTn={class:"promptName"},BTn={class:"promptCode"},ITn={key:0,class:"emptyList"},NTn={class:"promptEditor"},RTn={class:"editorHeader"},FTn={class:"editorInfo"},ZTn={class:"titleRow"},XTn={class:"editorTitle"},UTn={key:0,class:"customBadge"},GTn={key:1,class:"defaultBadge"},YTn={class:"editorMeta"},qTn={class:"promptCodeBadge"},KTn={key:0,class:"parentInfo"},JTn={class:"editorActions"},QTn={class:"editorBody"},$Tn={class:"promptEditSection"},_Tn={class:"editorFooter"},pTn={class:"editorTip"},ezn={key:0},tzn={key:1},nzn={key:1,class:"emptyEditor"},izn=_e({__name:"promptEditor",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(e){const n=Mr(e,"modelValue"),i=_([]),o=_(null),l=_(""),r=_(!1),s=P(()=>{const k={};return i.value.forEach(w=>{k[w.type]||(k[w.type]=[]),k[w.type].push(w)}),["system","mainAgent","subAgent"].filter(w=>k[w]).map(w=>({type:w,items:k[w]}))}),a=P(()=>{if(!o.value)return!1;const k=u(o.value.defaultValue||"");return l.value.trim()!==""&&l.value!==k});function c(k){return{mainAgent:"主Agent",subAgent:"子Agent",system:"系统提示词"}[k]||k}function d(k){return{mainAgent:"purple",subAgent:"blue",system:"green"}[k]||"default"}function u(k){return k?k.replace(/\\n/g,` -`):""}function h(k){o.value=k;const f=k.customValue||k.defaultValue||"";l.value=u(f)}function g(){o.value&&(l.value=u(o.value.defaultValue||""),Sn.info("已重置为默认值,点击保存生效"))}async function v(){if(o.value){r.value=!0;try{const k=u(o.value.defaultValue||""),f=l.value===k?"":l.value.trim();await Di.post("/prompt/updatePrompt",{id:o.value.id,code:o.value.code,customValue:f});const w=i.value.findIndex(L=>{var b;return L.code===((b=o.value)==null?void 0:b.code)});w!==-1&&(i.value[w].customValue=f),Sn.success("保存成功")}catch{Sn.error("保存失败")}finally{r.value=!1}}}async function m(){try{const k=await Di.get("/prompt/getPrompts");i.value=k.data||[],i.value.length>0&&!o.value&&h(i.value[0])}catch{Sn.error("获取提示词列表失败")}}return Oe(n,k=>{k?m():(o.value=null,l.value="")}),(k,f)=>{const w=nn("i-tag-one"),L=nn("i-inbox"),b=ku,C=nn("i-redo"),y=tl,x=nn("i-check"),M=Bs,W=nn("i-info"),S=nn("i-edit"),T=Hre;return ie(),kt(T,{top:"3vh",modelValue:n.value,"onUpdate:modelValue":f[1]||(f[1]=V=>n.value=V),title:"提示词管理",width:"80vw",footer:null,maskClosable:!1,centered:"",class:"promptEditorModal"},{default:He(()=>[p("div",zTn,[p("div",PTn,[(ie(!0),be(Gt,null,Qn(s.value,V=>(ie(),be("div",{class:"promptTypeGroup",key:V.type},[p("div",ETn,[t(w,{theme:"outline",size:"14",fill:"currentColor"}),p("span",null,jt(c(V.type)),1)]),(ie(!0),be(Gt,null,Qn(V.items,D=>{var z;return ie(),be("div",{class:We(["promptItem",{active:((z=o.value)==null?void 0:z.code)===D.code}]),key:D.code,onClick:B=>h(D)},[p("span",VTn,jt(D.name),1),p("span",BTn,jt(D.code),1)],10,OTn)}),128))]))),128)),i.value.length===0?(ie(),be("div",ITn,[t(L,{theme:"outline",size:"32",fill:"#d1d5db"}),f[2]||(f[2]=p("span",null,"暂无提示词",-1))])):et("",!0)]),p("div",NTn,[o.value?(ie(),be(Gt,{key:0},[p("div",RTn,[p("div",FTn,[p("div",ZTn,[p("h3",XTn,jt(o.value.name),1),a.value?(ie(),be("span",UTn,"已自定义")):(ie(),be("span",GTn,"默认值"))]),p("div",YTn,[t(b,{color:d(o.value.type)},{default:He(()=>[dn(jt(c(o.value.type)),1)]),_:1},8,["color"]),p("span",qTn,jt(o.value.code),1),o.value.parentCode?(ie(),be("span",KTn,"父级: "+jt(o.value.parentCode),1)):et("",!0)])]),p("div",JTn,[t(y,{onClick:g},{default:He(()=>[t(C,{theme:"outline",size:"14",fill:"currentColor"}),f[3]||(f[3]=dn(" 一键重置 ",-1))]),_:1}),t(y,{type:"primary",onClick:v,loading:r.value},{default:He(()=>[t(x,{theme:"outline",size:"14",fill:"currentColor"}),f[4]||(f[4]=dn(" 保存 ",-1))]),_:1},8,["loading"])])]),p("div",QTn,[p("div",$Tn,[t(M,{value:l.value,"onUpdate:value":f[0]||(f[0]=V=>l.value=V),placeholder:"请输入提示词内容",autoSize:{minRows:18,maxRows:26},class:"promptTextarea"},null,8,["value"])]),p("div",_Tn,[p("div",pTn,[t(W,{theme:"outline",size:"14",fill:"currentColor"}),a.value?(ie(),be("span",ezn,'当前使用自定义提示词,点击"一键重置"可恢复默认值')):(ie(),be("span",tzn,"当前使用默认提示词,编辑后将保存为自定义值"))])])])],64)):(ie(),be("div",nzn,[t(S,{theme:"outline",size:"48",fill:"#d1d5db"}),f[5]||(f[5]=p("p",null,"请从左侧选择一个提示词进行编辑",-1))]))])])]),_:1},8,["modelValue"])}}}),ozn=Zo(izn,[["__scopeId","data-v-26c99bbb"]]),lzn={class:"settingContainer"},rzn={class:"settingInner"},szn={key:1,class:"settingCard"},azn={class:"cardHeader"},czn={class:"cardIcon purple"},dzn={class:"cardContent"},uzn={class:"formItem"},hzn={class:"settingCard"},kzn={class:"cardHeader"},fzn={class:"cardIcon blue"},vzn={class:"cardContent"},gzn={class:"formGrid"},mzn={class:"formItem"},wzn={class:"formItem"},Lzn={class:"cardHeader"},bzn={class:"cardHeaderLeft"},Czn={class:"cardTitle"},yzn={class:"cardContent"},xzn={key:0,class:"modelList"},jzn={key:0,class:"emptyState"},Mzn={key:1,class:"modelForm"},Azn={class:"formItem"},Wzn={class:"formItem"},Szn={key:0,class:"formItem"},Dzn={class:"formItem"},Hzn={class:"settingCard"},Tzn={class:"cardHeader"},zzn={class:"cardHeaderLeft"},Pzn={class:"cardIcon cyan"},Ezn={class:"settingCard danger"},Ozn={class:"cardHeader"},Vzn={class:"cardIcon red"},Bzn={class:"cardContent"},Izn={class:"dangerActions"},Nzn={class:"settingCard about"},Rzn={class:"cardHeader"},Fzn={class:"cardIcon purple"},Zzn={class:"cardContent"},Xzn={class:"aboutInfo"},Uzn={class:"aboutLogo"},Gzn=["src"],Yzn={class:"aboutLinks"},qzn={class:"linkIcon"},Kzn={class:"linkIcon"},Jzn={class:"linkIcon"},Qzn={class:"licenseBadge"},$zn={class:"pageFooter"},xT="https://github.com/toonflow/toonflow",_zn=_e({__name:"index",setup(e){const n=_([]),i=_(!1),o=_(""),l=_(!1);async function r(){try{await Di.post("",{sql:o.value}),Sn.success("执行成功")}catch(O){O instanceof Error&&Sn.error(O.message)}}const s=_(!1),a=_({id:-1,name:"",manufacturer:"",index:0,model:"",baseUrl:"",apiKey:"",createTime:0});function c(O){if(O.id===-1)O.id=ri().valueOf(),n.value.push(O);else{const H=n.value.findIndex(E=>E.id===O.id);H!==-1&&(n.value[H]=O)}V()}function d(){a.value={id:-1,name:"",manufacturer:"runninghub",index:0,model:"",baseUrl:"",apiKey:"",createTime:0},s.value=!0}function u(O){a.value=O,s.value=!0}function h(O){n.value=n.value.filter(H=>H.id!==O.id),V()}function g(O){}function v(O){return{languageModel:"purple",imageModel:"green",videoModel:"orange"}[O]||"purple"}const m=[{label:"OpenAI请求格式",value:"openAi"}],k=[{label:"OpenAI",value:"openAi"},{label:"火山引擎",value:"volcengine"},{label:"APIMart",value:"apimart"},{label:"RunningHub",value:"runninghub"}];function f(O){return O==="languageModel"?m:O==="imageModel"?k:[]}const w={languageModel:"语言生成模型",imageModel:"图像生成模型",videoModel:"视频生成模型"};un(async()=>{await S(),T()});const L={model:"",apiKey:"",baseURL:"",manufacturer:""},b=_({id:null,apiKey:"",modalType:1,languageModel:{...L},imageModel:{...L},videoModel:{...L},audioModel:{...L},name:"",password:""}),C=i5();function y(){C.push("/project")}function x(){window.open(xT,"_blank")}function M(){window.open(`${xT}/releases`,"_blank")}function W(){window.open(`${xT}/blob/main/LICENSE`,"_blank")}async function S(){var E,X,Z;const H=(await Di.post("/setting/getSetting",{userId:Number(localStorage.getItem("userId"))})).data[0];n.value=H.videoModel,b.value={id:(H==null?void 0:H.id)??null,modalType:1,apiKey:(H==null?void 0:H.apiKey)??"",languageModel:{...L,...H==null?void 0:H.languageModel,manufacturer:((E=H==null?void 0:H.languageModel)==null?void 0:E.manufacturer)||"openAi"},imageModel:{...L,...H==null?void 0:H.imageModel,manufacturer:((X=H==null?void 0:H.imageModel)==null?void 0:X.manufacturer)||"openAi"},videoModel:{...L,...H==null?void 0:H.videoModel,manufacturer:((Z=H==null?void 0:H.videoModel)==null?void 0:Z.manufacturer)||"openAi"}}}function T(){Di.get("/user/getUser").then(O=>{b.value.name=O.data.name??"",b.value.password=O.data.password??""})}function V(){Di.post("/setting/updateSetting",{userId:Number(localStorage.getItem("userId")),id:b.value.id??null,type:b.value.modalType,languageModel:b.value.languageModel,imageModel:b.value.imageModel,videoModel:n.value,name:b.value.name,password:b.value.password}).then(()=>{Sn.success("设置更新成功")}).catch(()=>{Sn.error("设置更新失败")})}function D(O=1){return new Promise(H=>{const E=O===1?{title:"危险操作!确认要清空所有数据表吗?",content:"此操作会删除所有数据表的数据,且不可恢复。请谨慎操作!",okText:"继续操作"}:{title:"请再次确认",content:"真的要清空所有数据表吗?数据将无法恢复!",okText:"确认删除"};Fo.confirm({...E,cancelText:"取消",centered:!0,onOk:async()=>{H(O===1?await D(2):!0)},onCancel:()=>H(!1)})})}function z(O=1){return new Promise(H=>{const E=O===1?{title:"危险操作!确认要删除所有数据表吗?",content:"此操作会删除所有数据表,且不可恢复。请谨慎操作!",okText:"继续操作"}:{title:"请再次确认",content:"真的要删除所有数据表吗?数据将无法恢复!",okText:"确认删除"};Fo.confirm({...E,cancelText:"取消",centered:!0,onOk:async()=>{H(O===1?await z(2):!0)},onCancel:()=>H(!1)})})}async function B(){if(!await D()){Sn.info("操作已取消");return}try{await Di.post("/other/deleteAllData"),Sn.success("所有数据表已清空")}catch{Sn.error("操作失败,请重试")}}async function F(){if(!await z()){Sn.info("操作已取消");return}try{await Di.post("/other/clearDatabase"),Sn.success("所有数据表已删除,3秒后自动退出,请重新打开")}catch{Sn.error("操作失败,请重试")}}return(O,H)=>{const E=nn("i-left"),X=nn("i-brain"),Z=nn("i-key"),R=ej,q=nn("i-lock"),Y=ql,K=nn("i-pic"),Q=nn("i-video"),ee=nn("i-plus"),J=tl,ne=nn("i-inbox"),re=Xm,oe=Gr,$=nn("i-text"),se=nn("i-edit"),te=nn("i-delete"),G=nn("i-clear"),le=nn("i-info"),de=nn("i-github"),ce=nn("i-right"),he=nn("i-refresh"),ke=nn("i-file-text"),xe=nn("i-certificate"),me=nn("i-check"),je=Bs,Ce=Fo;return ie(),be(Gt,null,[p("div",lzn,[p("div",rzn,[p("div",{class:"backBtn",onClick:y},[t(E,{theme:"outline",size:"16",fill:"currentColor"}),H[9]||(H[9]=p("span",null,"返回",-1))]),H[41]||(H[41]=p("div",{class:"pageHeader"},[p("h1",{class:"pageTitle"},"设置"),p("p",{class:"pageDesc"},"配置API密钥和模型选项")],-1)),et("",!0),b.value.modalType==2?(ie(),be("section",szn,[p("div",azn,[p("div",czn,[t(Z,{theme:"outline",size:"20",fill:"currentColor"})]),H[13]||(H[13]=p("span",{class:"cardTitle"},"API密钥配置",-1))]),p("div",dzn,[p("div",uzn,[H[14]||(H[14]=p("label",{class:"formLabel"},"API Key",-1)),t(R,{value:b.value.apiKey,"onUpdate:value":H[1]||(H[1]=ye=>b.value.apiKey=ye),placeholder:"请输入API Key",class:"formInput"},null,8,["value"])])])])):et("",!0),p("section",hzn,[p("div",kzn,[p("div",fzn,[t(q,{theme:"outline",size:"20",fill:"currentColor"})]),H[15]||(H[15]=p("span",{class:"cardTitle"},"访问控制",-1))]),p("div",vzn,[p("div",gzn,[p("div",mzn,[H[16]||(H[16]=p("label",{class:"formLabel"},"访问账号",-1)),t(Y,{value:b.value.name,"onUpdate:value":H[2]||(H[2]=ye=>b.value.name=ye),placeholder:"请输入访问账号",class:"formInput"},null,8,["value"])]),p("div",wzn,[H[17]||(H[17]=p("label",{class:"formLabel"},"访问密码",-1)),t(R,{value:b.value.password,"onUpdate:value":H[3]||(H[3]=ye=>b.value.password=ye),placeholder:"请输入访问密码",class:"formInput"},null,8,["value"])])])])]),(ie(!0),be(Gt,null,Qn(Object.keys(w),ye=>(ie(),be("section",{class:"settingCard",key:ye},[p("div",Lzn,[p("div",bzn,[p("div",{class:We(["cardIcon",v(ye)])},[ye==="languageModel"?(ie(),kt(X,{key:0,theme:"outline",size:"20",fill:"currentColor"})):ye==="imageModel"?(ie(),kt(K,{key:1,theme:"outline",size:"20",fill:"currentColor"})):(ie(),kt(Q,{key:2,theme:"outline",size:"20",fill:"currentColor"}))],2),p("span",Czn,jt(w[ye])+"配置",1)]),ye==="videoModel"?(ie(),kt(J,{key:0,type:"primary",class:"addBtn",onClick:d},{default:He(()=>[t(ee,{theme:"outline",size:"14",fill:"currentColor"}),H[18]||(H[18]=dn(" 新增配置 ",-1))]),_:1})):et("",!0)]),p("div",yzn,[ye==="videoModel"?(ie(),be("div",xzn,[n.value.length===0?(ie(),be("div",jzn,[t(ne,{theme:"outline",size:"48",fill:"#d1d5db"}),H[19]||(H[19]=p("p",null,"暂无配置,点击上方按钮添加",-1))])):et("",!0),(ie(!0),be(Gt,null,Qn(n.value.sort((De,Ee)=>De.index-Ee.index),De=>(ie(),kt(TTn,{key:De.id,config:De,onEdit:u,onDelete:h},null,8,["config"]))),128))])):(ie(),be("div",Mzn,[p("div",Azn,[H[20]||(H[20]=p("label",{class:"formLabel"},"模型名称",-1)),t(Y,{value:b.value[ye].model,"onUpdate:value":De=>b.value[ye].model=De,placeholder:`请输入${w[ye]}名称`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])]),p("div",Wzn,[H[21]||(H[21]=p("label",{class:"formLabel"},"厂商",-1)),t(oe,{value:b.value[ye].manufacturer,"onUpdate:value":De=>b.value[ye].manufacturer=De,placeholder:"请选择厂商",class:"formSelect",onChange:De=>void 0},{default:He(()=>[(ie(!0),be(Gt,null,Qn(f(ye),De=>(ie(),kt(re,{key:De.value,value:De.value},{default:He(()=>[dn(jt(De.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value","onChange"])]),ye!=="imageModel"||b.value[ye].manufacturer==="openAi"?(ie(),be("div",Szn,[H[22]||(H[22]=p("label",{class:"formLabel"},"BaseURL",-1)),t(Y,{value:b.value[ye].baseURL,"onUpdate:value":De=>b.value[ye].baseURL=De,placeholder:`请输入${w[ye]}的BaseURL`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])])):et("",!0),p("div",Dzn,[H[23]||(H[23]=p("label",{class:"formLabel"},"API Key",-1)),t(R,{value:b.value[ye].apiKey,"onUpdate:value":De=>b.value[ye].apiKey=De,placeholder:`请输入${w[ye]}的API Key`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])])]))])]))),128)),p("section",Hzn,[p("div",Tzn,[p("div",zzn,[p("div",Pzn,[t($,{theme:"outline",size:"20",fill:"currentColor"})]),H[24]||(H[24]=p("span",{class:"cardTitle"},"提示词管理",-1))]),t(J,{type:"primary",class:"addBtn",onClick:H[4]||(H[4]=ye=>l.value=!0)},{default:He(()=>[t(se,{theme:"outline",size:"14",fill:"currentColor"}),H[25]||(H[25]=dn(" 编辑提示词 ",-1))]),_:1})]),H[26]||(H[26]=p("div",{class:"cardContent"},[p("p",{class:"promptTip"},"管理和自定义AI Agent的提示词,可修改主Agent、子Agent和系统提示词")],-1))]),p("section",Ezn,[p("div",Ozn,[p("div",Vzn,[t(te,{theme:"outline",size:"20",fill:"currentColor"})]),H[27]||(H[27]=p("span",{class:"cardTitle"},"数据管理",-1)),H[28]||(H[28]=p("span",{class:"dangerBadge"},"危险区域",-1))]),p("div",Bzn,[H[31]||(H[31]=p("p",{class:"dangerTip"},"以下操作不可逆,请谨慎执行",-1)),p("div",Izn,[t(J,{danger:"",onClick:B},{default:He(()=>[t(G,{theme:"outline",size:"14",fill:"currentColor"}),H[29]||(H[29]=dn(" 清空数据库 ",-1))]),_:1}),t(J,{danger:"",type:"primary",onClick:F},{default:He(()=>[t(te,{theme:"outline",size:"14",fill:"currentColor"}),H[30]||(H[30]=dn(" 删除数据库 ",-1))]),_:1})])])]),p("section",Nzn,[p("div",Rzn,[p("div",Fzn,[t(le,{theme:"outline",size:"20",fill:"currentColor"})]),H[32]||(H[32]=p("span",{class:"cardTitle"},"关于",-1))]),p("div",Zzn,[p("div",Xzn,[p("div",Uzn,[p("img",{src:A(IN),alt:"ToonFlow Logo",class:"logoImg"},null,8,Gzn),H[33]||(H[33]=p("div",{class:"appInfo"},[p("h2",{class:"appName"},"ToonFlow"),p("span",{class:"appVersion"},"v1.0.0")],-1))]),H[38]||(H[38]=p("p",{class:"aboutDesc"},"ToonFlow 是一款开源的 AI 驱动漫画/分镜创作工具,帮助创作者快速生成故事分镜和视频内容。",-1)),p("div",Yzn,[p("div",{class:"linkItem",onClick:x},[p("div",qzn,[t(de,{theme:"outline",size:"20",fill:"currentColor"})]),H[34]||(H[34]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"GitHub 仓库"),p("span",{class:"linkDesc"},"查看源代码、提交 Issue 或贡献代码")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})]),p("div",{class:"linkItem",onClick:M},[p("div",Kzn,[t(he,{theme:"outline",size:"20",fill:"currentColor"})]),H[35]||(H[35]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"检查更新"),p("span",{class:"linkDesc"},"前往 GitHub Releases 查看最新版本")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})]),p("div",{class:"linkItem",onClick:W},[p("div",Jzn,[t(ke,{theme:"outline",size:"20",fill:"currentColor"})]),H[36]||(H[36]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"开源协议"),p("span",{class:"linkDesc"},"本项目基于 AGPL-3.0 协议开源")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})])]),p("div",Qzn,[t(xe,{theme:"outline",size:"16",fill:"#9913FA"}),H[37]||(H[37]=p("span",null,"AGPL-3.0 License",-1))])])])]),p("div",$zn,[t(J,{size:"large",onClick:y},{default:He(()=>[...H[39]||(H[39]=[dn("取消",-1)])]),_:1}),t(J,{type:"primary",size:"large",onClick:V},{default:He(()=>[t(me,{theme:"outline",size:"16",fill:"currentColor"}),H[40]||(H[40]=dn(" 保存设置 ",-1))]),_:1})])])]),t(dTn,{modelValue:s.value,"onUpdate:modelValue":H[5]||(H[5]=ye=>s.value=ye),data:a.value,onSave:c},null,8,["modelValue","data"]),t(ozn,{modelValue:l.value,"onUpdate:modelValue":H[6]||(H[6]=ye=>l.value=ye)},null,8,["modelValue"]),t(Ce,{title:"执行SQL",open:i.value,"onUpdate:open":H[8]||(H[8]=ye=>i.value=ye),onOk:r,centered:""},{default:He(()=>[t(je,{value:o.value,"onUpdate:value":H[7]||(H[7]=ye=>o.value=ye),placeholder:"请输入SQL语句",autosize:{minRows:2,maxRows:12}},null,8,["value"])]),_:1},8,["open"])],64)}}}),pzn=Zo(_zn,[["__scopeId","data-v-a0d363bd"]]),ePn=Object.freeze(Object.defineProperty({__proto__:null,default:pzn},Symbol.toStringTag,{value:"Module"})),tPn={class:"taskDetails"},nPn={class:"content"},iPn={key:0,class:"left"},oPn={class:"imageGrid"},lPn={class:"right"},rPn={class:"reasonList"},sPn=_e({__name:"taskDetails",props:{open:{type:Boolean},row:{}},emits:["update:open"],setup(e,{emit:n}){const i=e,o=n,l=_(i.open);Oe(()=>i.open,s=>{l.value=s}),Oe(l,s=>{o("update:open",s)});function r(){o("update:open",!1)}return(s,a)=>{const c=Ea,d=Fo;return ie(),be("div",tPn,[t(d,{open:l.value,"onUpdate:open":a[0]||(a[0]=u=>l.value=u),title:"任务详情",onOk:r,width:800,okText:"保存"},{default:He(()=>{var u,h;return[p("div",nPn,[e.row&&((u=e.row.imageUrl)!=null&&u.length)?(ie(),be("div",iPn,[p("div",oPn,[(ie(!0),be(Gt,null,Qn(e.row.imageUrl,(g,v)=>(ie(),be("div",{class:"imageDiv",key:v},[t(c,{src:g,fallback:A(V2),width:"220",height:"150",style:{"object-fit":"cover","border-radius":"8px"}},null,8,["src","fallback"])]))),128))])])):et("",!0),p("div",lPn,[a[1]||(a[1]=p("div",{class:"title"},"任务失败原因:",-1)),p("ul",rPn,[(ie(!0),be(Gt,null,Qn((h=e.row)==null?void 0:h.errorReason,(g,v)=>(ie(),be("li",{key:v},jt(g),1))),128))])])])]}),_:1},8,["open"])])}}}),aPn=Zo(sPn,[["__scopeId","data-v-c455876e"]]),cPn={class:"taskList"},dPn={class:"search"},uPn={class:"content"},hPn={class:"pagination",style:{"margin-top":"10px","text-align":"right"}},kPn=_e({__name:"index",setup(e){const n=_({page:1,limit:10,total:11,loading:!1});function i(c,d){}function o(c,d){}const l=_([{id:1,projectName:"项目1",taskName:"任务1",state:"进行中",startTime:"2022-01-01",endTime:"2022-01-31",prompt:"提示词",imageUrl:["https://picx.zhimg.com/v2-d6f44389971daab7e688e5b37046e4e4_720w.jpg?source=172ae18b","https://img.shetu66.com/2023/04/27/1682576769453692.png","https://www.baidu.com/img/flexible/logo/pc/result.png"],errorReason:["任务失败"]},{id:2,projectName:"项目2",taskName:"任务2",state:"已完成",startTime:"2022-02-01",endTime:"2022-02-28",prompt:"提示词",imageUrl:["https://www.baidu.com/img/flexible/logo/pc/result.png"],errorReason:["任务失败2"]}]),r=_(!1),s=_(null),a=c=>{s.value=c,r.value=!0};return(c,d)=>{const u=ql,h=Xm,g=Gr,v=Y1e,m=tl,k=nn("vxe-column"),f=nn("vxe-table"),w=xct;return ie(),be("div",cPn,[d[10]||(d[10]=p("div",{class:"header"},[p("h2",{class:"title"},"任务列表")],-1)),p("div",dPn,[p("div",null,[d[3]||(d[3]=p("span",null,"项目名称:",-1)),t(u,{placeholder:"请输入项目名称",size:"middle"})]),p("div",null,[d[4]||(d[4]=p("span",null,"任务名称:",-1)),t(u,{placeholder:"请输入任务名称",size:"middle"})]),p("div",null,[d[7]||(d[7]=p("span",{style:{width:"50px"}},"状态:",-1)),t(v,{compact:"",size:"middle"},{default:He(()=>[t(g,{style:{width:"150px"}},{default:He(()=>[t(h,{value:"inProgress"},{default:He(()=>[...d[5]||(d[5]=[dn("进行中",-1)])]),_:1}),t(h,{value:"completed"},{default:He(()=>[...d[6]||(d[6]=[dn("已完成",-1)])]),_:1})]),_:1})]),_:1})]),t(m,{type:"primary",style:{"margin-left":"50px"}},{default:He(()=>[...d[8]||(d[8]=[dn("查询",-1)])]),_:1})]),p("div",uPn,[t(f,{ref:"tableRef",data:l.value},{default:He(()=>[t(k,{title:"序号",field:"id",width:"70"}),t(k,{title:"项目名称",field:"projectName",width:"120","show-overflow":"title"}),t(k,{title:"任务名称",field:"taskName","show-overflow":"title"}),t(k,{title:"提示词",field:"prompt","show-overflow":"title"}),t(k,{title:"状态",field:"state",width:"120"}),t(k,{title:"开始时间",field:"startTime",width:"120"}),t(k,{title:"结束时间",field:"endTime",width:"120"}),t(k,{title:"操作",width:"120"},{default:He(({row:L})=>[t(m,{type:"primary",onClick:b=>a(L),size:"small"},{default:He(()=>[...d[9]||(d[9]=[dn("查看",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),p("div",hPn,[t(w,{current:n.value.page,"onUpdate:current":d[0]||(d[0]=L=>n.value.page=L),pageSize:n.value.limit,"onUpdate:pageSize":d[1]||(d[1]=L=>n.value.limit=L),"show-size-changer":"",total:n.value.total,onShowSizeChange:i,onChange:o},null,8,["current","pageSize","total"])]),t(aPn,{open:r.value,"onUpdate:open":d[2]||(d[2]=L=>r.value=L),row:s.value},null,8,["open","row"])])])}}}),fPn=Zo(kPn,[["__scopeId","data-v-18f8a825"]]),vPn=Object.freeze(Object.defineProperty({__proto__:null,default:fPn},Symbol.toStringTag,{value:"Module"})),gPn={class:"loginPage"},mPn={class:"formBox fc c"},wPn={class:"logoBox c"},LPn=["src"],bPn={class:"c"},CPn={class:"c"},yPn={__name:"index",setup(e){_(null);const n=_({show:!0,loginLoading:!1,user:{username:"",password:"",captcha:"",identity:"商家"},rules:{username:[{required:!0,message:"请输入您的账号"}],password:[{required:!0,message:"请输入密码"}],captcha:[{required:!0,message:"请输入验证码"}]}});_(),_(),un(()=>{o()}),_();const i=l=>{console.log("%c Line:70 🥥 values","background:#6ec1c2",l),n.value.loginLoading=!0;const r={...l};Di.post("/other/login",r).then(({data:s})=>{localStorage.setItem("token",s.token),localStorage.setItem("userId",s.id),aj.push("/project"),Sn.success("登录成功"),n.value.loginLoading=!1}).catch(s=>{n.value.loginLoading=!1,Sn.error(s.message),o()})},o=async()=>{};return(l,r)=>{const s=nn("i-people"),a=ql,c=Yf,d=nn("i-lock"),u=ej,h=tl,g=Nc;return ie(),be(Gt,null,[r[4]||(r[4]=p("div",{class:"bg"},null,-1)),p("div",gPn,[p("div",mPn,[p("div",wPn,[p("img",{src:A(IN),alt:"",style:{width:"45px",height:"45px"}},null,8,LPn),r[2]||(r[2]=p("span",{class:"span c"},"Toonflow",-1))]),t(g,{model:n.value.user,rules:n.value.rules,ref:"ruleFormRef",onFinish:i},{default:He(()=>[t(c,{name:"username"},{default:He(()=>[p("div",bPn,[t(s,{theme:"outline",class:"icon"}),t(a,{value:n.value.user.username,"onUpdate:value":r[0]||(r[0]=v=>n.value.user.username=v),style:{width:"240px"},placeholder:"账号",autocomplete:"username"},null,8,["value"])])]),_:1}),t(c,{name:"password"},{default:He(()=>[p("div",CPn,[t(d,{theme:"outline",class:"icon"}),t(u,{value:n.value.user.password,"onUpdate:value":r[1]||(r[1]=v=>n.value.user.password=v),style:{width:"240px"},placeholder:"密码",autocomplete:"current-password"},null,8,["value"])])]),_:1}),t(c,null,{default:He(()=>[t(h,{class:"loginBtn",type:"primary",size:"large",loading:n.value.loginLoading,"html-type":"submit",block:""},{default:He(()=>[...r[3]||(r[3]=[dn("登录",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"])])])],64)}}},xPn=Zo(yPn,[["__scopeId","data-v-521a4195"]]),jPn=Object.freeze(Object.defineProperty({__proto__:null,default:xPn},Symbol.toStringTag,{value:"Module"})); - +`):""}function h(k){o.value=k;const f=k.customValue||k.defaultValue||"";l.value=u(f)}function g(){o.value&&(l.value=u(o.value.defaultValue||""),Sn.info("已重置为默认值,点击保存生效"))}async function v(){if(o.value){r.value=!0;try{const k=u(o.value.defaultValue||""),f=l.value===k?"":l.value.trim();await Di.post("/prompt/updatePrompt",{id:o.value.id,code:o.value.code,customValue:f});const w=i.value.findIndex(L=>{var b;return L.code===((b=o.value)==null?void 0:b.code)});w!==-1&&(i.value[w].customValue=f),Sn.success("保存成功")}catch{Sn.error("保存失败")}finally{r.value=!1}}}async function m(){try{const k=await Di.get("/prompt/getPrompts");i.value=k.data||[],i.value.length>0&&!o.value&&h(i.value[0])}catch{Sn.error("获取提示词列表失败")}}return Oe(n,k=>{k?m():(o.value=null,l.value="")}),(k,f)=>{const w=nn("i-tag-one"),L=nn("i-inbox"),b=ku,C=nn("i-redo"),y=tl,x=nn("i-check"),M=Bs,W=nn("i-info"),S=nn("i-edit"),T=Hre;return ie(),kt(T,{top:"3vh",modelValue:n.value,"onUpdate:modelValue":f[1]||(f[1]=V=>n.value=V),title:"提示词管理",width:"80vw",footer:null,maskClosable:!1,centered:"",class:"promptEditorModal"},{default:He(()=>[p("div",zTn,[p("div",PTn,[(ie(!0),be(Gt,null,Qn(s.value,V=>(ie(),be("div",{class:"promptTypeGroup",key:V.type},[p("div",ETn,[t(w,{theme:"outline",size:"14",fill:"currentColor"}),p("span",null,jt(c(V.type)),1)]),(ie(!0),be(Gt,null,Qn(V.items,D=>{var z;return ie(),be("div",{class:We(["promptItem",{active:((z=o.value)==null?void 0:z.code)===D.code}]),key:D.code,onClick:B=>h(D)},[p("span",VTn,jt(D.name),1),p("span",BTn,jt(D.code),1)],10,OTn)}),128))]))),128)),i.value.length===0?(ie(),be("div",ITn,[t(L,{theme:"outline",size:"32",fill:"#d1d5db"}),f[2]||(f[2]=p("span",null,"暂无提示词",-1))])):et("",!0)]),p("div",NTn,[o.value?(ie(),be(Gt,{key:0},[p("div",RTn,[p("div",FTn,[p("div",ZTn,[p("h3",XTn,jt(o.value.name),1),a.value?(ie(),be("span",UTn,"已自定义")):(ie(),be("span",GTn,"默认值"))]),p("div",YTn,[t(b,{color:d(o.value.type)},{default:He(()=>[dn(jt(c(o.value.type)),1)]),_:1},8,["color"]),p("span",qTn,jt(o.value.code),1),o.value.parentCode?(ie(),be("span",KTn,"父级: "+jt(o.value.parentCode),1)):et("",!0)])]),p("div",JTn,[t(y,{onClick:g},{default:He(()=>[t(C,{theme:"outline",size:"14",fill:"currentColor"}),f[3]||(f[3]=dn(" 一键重置 ",-1))]),_:1}),t(y,{type:"primary",onClick:v,loading:r.value},{default:He(()=>[t(x,{theme:"outline",size:"14",fill:"currentColor"}),f[4]||(f[4]=dn(" 保存 ",-1))]),_:1},8,["loading"])])]),p("div",QTn,[p("div",$Tn,[t(M,{value:l.value,"onUpdate:value":f[0]||(f[0]=V=>l.value=V),placeholder:"请输入提示词内容",autoSize:{minRows:18,maxRows:26},class:"promptTextarea"},null,8,["value"])]),p("div",_Tn,[p("div",pTn,[t(W,{theme:"outline",size:"14",fill:"currentColor"}),a.value?(ie(),be("span",ezn,'当前使用自定义提示词,点击"一键重置"可恢复默认值')):(ie(),be("span",tzn,"当前使用默认提示词,编辑后将保存为自定义值"))])])])],64)):(ie(),be("div",nzn,[t(S,{theme:"outline",size:"48",fill:"#d1d5db"}),f[5]||(f[5]=p("p",null,"请从左侧选择一个提示词进行编辑",-1))]))])])]),_:1},8,["modelValue"])}}}),ozn=Zo(izn,[["__scopeId","data-v-26c99bbb"]]),lzn={class:"settingContainer"},rzn={class:"settingInner"},szn={key:1,class:"settingCard"},azn={class:"cardHeader"},czn={class:"cardIcon purple"},dzn={class:"cardContent"},uzn={class:"formItem"},hzn={class:"settingCard"},kzn={class:"cardHeader"},fzn={class:"cardIcon blue"},vzn={class:"cardContent"},gzn={class:"formGrid"},mzn={class:"formItem"},wzn={class:"formItem"},Lzn={class:"cardHeader"},bzn={class:"cardHeaderLeft"},Czn={class:"cardTitle"},yzn={class:"cardContent"},xzn={key:0,class:"modelList"},jzn={key:0,class:"emptyState"},Mzn={key:1,class:"modelForm"},Azn={class:"formItem"},Wzn={class:"formItem"},Szn={key:0,class:"formItem"},Dzn={class:"formItem"},Hzn={class:"settingCard"},Tzn={class:"cardHeader"},zzn={class:"cardHeaderLeft"},Pzn={class:"cardIcon cyan"},Ezn={class:"settingCard danger"},Ozn={class:"cardHeader"},Vzn={class:"cardIcon red"},Bzn={class:"cardContent"},Izn={class:"dangerActions"},Nzn={class:"settingCard about"},Rzn={class:"cardHeader"},Fzn={class:"cardIcon purple"},Zzn={class:"cardContent"},Xzn={class:"aboutInfo"},Uzn={class:"aboutLogo"},Gzn=["src"],Yzn={class:"aboutLinks"},qzn={class:"linkIcon"},Kzn={class:"linkIcon"},Jzn={class:"linkIcon"},Qzn={class:"licenseBadge"},$zn={class:"pageFooter"},xT="https://github.com/HBAI-Ltd/Toonflow-app",_zn=_e({__name:"index",setup(e){const n=_([]),i=_(!1),o=_(""),l=_(!1);async function r(){try{await Di.post("",{sql:o.value}),Sn.success("执行成功")}catch(O){O instanceof Error&&Sn.error(O.message)}}const s=_(!1),a=_({id:-1,name:"",manufacturer:"",index:0,model:"",baseUrl:"",apiKey:"",createTime:0});function c(O){if(O.id===-1)O.id=ri().valueOf(),n.value.push(O);else{const H=n.value.findIndex(E=>E.id===O.id);H!==-1&&(n.value[H]=O)}V()}function d(){a.value={id:-1,name:"",manufacturer:"runninghub",index:0,model:"",baseUrl:"",apiKey:"",createTime:0},s.value=!0}function u(O){a.value=O,s.value=!0}function h(O){n.value=n.value.filter(H=>H.id!==O.id),V()}function g(O){}function v(O){return{languageModel:"purple",imageModel:"green",videoModel:"orange"}[O]||"purple"}const m=[{label:"OpenAI请求格式",value:"openAi"}],k=[{label:"OpenAI",value:"openAi"},{label:"火山引擎",value:"volcengine"},{label:"APIMart",value:"apimart"},{label:"RunningHub",value:"runninghub"}];function f(O){return O==="languageModel"?m:O==="imageModel"?k:[]}const w={languageModel:"语言生成模型",imageModel:"图像生成模型",videoModel:"视频生成模型"};un(async()=>{await S(),T()});const L={model:"",apiKey:"",baseURL:"",manufacturer:""},b=_({id:null,apiKey:"",modalType:1,languageModel:{...L},imageModel:{...L},videoModel:{...L},audioModel:{...L},name:"",password:""}),C=i5();function y(){C.push("/project")}function x(){window.open(xT,"_blank")}function M(){window.open(`${xT}/releases`,"_blank")}function W(){window.open(`${xT}/blob/master/LICENSE`,"_blank")}async function S(){var E,X,Z;const H=(await Di.post("/setting/getSetting",{userId:Number(localStorage.getItem("userId"))})).data[0];n.value=H.videoModel,b.value={id:(H==null?void 0:H.id)??null,modalType:1,apiKey:(H==null?void 0:H.apiKey)??"",languageModel:{...L,...H==null?void 0:H.languageModel,manufacturer:((E=H==null?void 0:H.languageModel)==null?void 0:E.manufacturer)||"openAi"},imageModel:{...L,...H==null?void 0:H.imageModel,manufacturer:((X=H==null?void 0:H.imageModel)==null?void 0:X.manufacturer)||"openAi"},videoModel:{...L,...H==null?void 0:H.videoModel,manufacturer:((Z=H==null?void 0:H.videoModel)==null?void 0:Z.manufacturer)||"openAi"}}}function T(){Di.get("/user/getUser").then(O=>{b.value.name=O.data.name??"",b.value.password=O.data.password??""})}function V(){Di.post("/setting/updateSetting",{userId:Number(localStorage.getItem("userId")),id:b.value.id??null,type:b.value.modalType,languageModel:b.value.languageModel,imageModel:b.value.imageModel,videoModel:n.value,name:b.value.name,password:b.value.password}).then(()=>{Sn.success("设置更新成功")}).catch(()=>{Sn.error("设置更新失败")})}function D(O=1){return new Promise(H=>{const E=O===1?{title:"危险操作!确认要清空所有数据表吗?",content:"此操作会删除所有数据表的数据,且不可恢复。请谨慎操作!",okText:"继续操作"}:{title:"请再次确认",content:"真的要清空所有数据表吗?数据将无法恢复!",okText:"确认删除"};Fo.confirm({...E,cancelText:"取消",centered:!0,onOk:async()=>{H(O===1?await D(2):!0)},onCancel:()=>H(!1)})})}function z(O=1){return new Promise(H=>{const E=O===1?{title:"危险操作!确认要删除所有数据表吗?",content:"此操作会删除所有数据表,且不可恢复。请谨慎操作!",okText:"继续操作"}:{title:"请再次确认",content:"真的要删除所有数据表吗?数据将无法恢复!",okText:"确认删除"};Fo.confirm({...E,cancelText:"取消",centered:!0,onOk:async()=>{H(O===1?await z(2):!0)},onCancel:()=>H(!1)})})}async function B(){if(!await D()){Sn.info("操作已取消");return}try{await Di.post("/other/deleteAllData"),Sn.success("所有数据表已清空")}catch{Sn.error("操作失败,请重试")}}async function F(){if(!await z()){Sn.info("操作已取消");return}try{await Di.post("/other/clearDatabase"),Sn.success("所有数据表已删除,3秒后自动退出,请重新打开")}catch{Sn.error("操作失败,请重试")}}return(O,H)=>{const E=nn("i-left"),X=nn("i-brain"),Z=nn("i-key"),R=ej,q=nn("i-lock"),Y=ql,K=nn("i-pic"),Q=nn("i-video"),ee=nn("i-plus"),J=tl,ne=nn("i-inbox"),re=Xm,oe=Gr,$=nn("i-text"),se=nn("i-edit"),te=nn("i-delete"),G=nn("i-clear"),le=nn("i-info"),de=nn("i-github"),ce=nn("i-right"),he=nn("i-refresh"),ke=nn("i-file-text"),xe=nn("i-certificate"),me=nn("i-check"),je=Bs,Ce=Fo;return ie(),be(Gt,null,[p("div",lzn,[p("div",rzn,[p("div",{class:"backBtn",onClick:y},[t(E,{theme:"outline",size:"16",fill:"currentColor"}),H[9]||(H[9]=p("span",null,"返回",-1))]),H[41]||(H[41]=p("div",{class:"pageHeader"},[p("h1",{class:"pageTitle"},"设置"),p("p",{class:"pageDesc"},"配置API密钥和模型选项")],-1)),et("",!0),b.value.modalType==2?(ie(),be("section",szn,[p("div",azn,[p("div",czn,[t(Z,{theme:"outline",size:"20",fill:"currentColor"})]),H[13]||(H[13]=p("span",{class:"cardTitle"},"API密钥配置",-1))]),p("div",dzn,[p("div",uzn,[H[14]||(H[14]=p("label",{class:"formLabel"},"API Key",-1)),t(R,{value:b.value.apiKey,"onUpdate:value":H[1]||(H[1]=ye=>b.value.apiKey=ye),placeholder:"请输入API Key",class:"formInput"},null,8,["value"])])])])):et("",!0),p("section",hzn,[p("div",kzn,[p("div",fzn,[t(q,{theme:"outline",size:"20",fill:"currentColor"})]),H[15]||(H[15]=p("span",{class:"cardTitle"},"访问控制",-1))]),p("div",vzn,[p("div",gzn,[p("div",mzn,[H[16]||(H[16]=p("label",{class:"formLabel"},"访问账号",-1)),t(Y,{value:b.value.name,"onUpdate:value":H[2]||(H[2]=ye=>b.value.name=ye),placeholder:"请输入访问账号",class:"formInput"},null,8,["value"])]),p("div",wzn,[H[17]||(H[17]=p("label",{class:"formLabel"},"访问密码",-1)),t(R,{value:b.value.password,"onUpdate:value":H[3]||(H[3]=ye=>b.value.password=ye),placeholder:"请输入访问密码",class:"formInput"},null,8,["value"])])])])]),(ie(!0),be(Gt,null,Qn(Object.keys(w),ye=>(ie(),be("section",{class:"settingCard",key:ye},[p("div",Lzn,[p("div",bzn,[p("div",{class:We(["cardIcon",v(ye)])},[ye==="languageModel"?(ie(),kt(X,{key:0,theme:"outline",size:"20",fill:"currentColor"})):ye==="imageModel"?(ie(),kt(K,{key:1,theme:"outline",size:"20",fill:"currentColor"})):(ie(),kt(Q,{key:2,theme:"outline",size:"20",fill:"currentColor"}))],2),p("span",Czn,jt(w[ye])+"配置",1)]),ye==="videoModel"?(ie(),kt(J,{key:0,type:"primary",class:"addBtn",onClick:d},{default:He(()=>[t(ee,{theme:"outline",size:"14",fill:"currentColor"}),H[18]||(H[18]=dn(" 新增配置 ",-1))]),_:1})):et("",!0)]),p("div",yzn,[ye==="videoModel"?(ie(),be("div",xzn,[n.value.length===0?(ie(),be("div",jzn,[t(ne,{theme:"outline",size:"48",fill:"#d1d5db"}),H[19]||(H[19]=p("p",null,"暂无配置,点击上方按钮添加",-1))])):et("",!0),(ie(!0),be(Gt,null,Qn(n.value.sort((De,Ee)=>De.index-Ee.index),De=>(ie(),kt(TTn,{key:De.id,config:De,onEdit:u,onDelete:h},null,8,["config"]))),128))])):(ie(),be("div",Mzn,[p("div",Azn,[H[20]||(H[20]=p("label",{class:"formLabel"},"模型名称",-1)),t(Y,{value:b.value[ye].model,"onUpdate:value":De=>b.value[ye].model=De,placeholder:`请输入${w[ye]}名称`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])]),p("div",Wzn,[H[21]||(H[21]=p("label",{class:"formLabel"},"厂商",-1)),t(oe,{value:b.value[ye].manufacturer,"onUpdate:value":De=>b.value[ye].manufacturer=De,placeholder:"请选择厂商",class:"formSelect",onChange:De=>void 0},{default:He(()=>[(ie(!0),be(Gt,null,Qn(f(ye),De=>(ie(),kt(re,{key:De.value,value:De.value},{default:He(()=>[dn(jt(De.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["value","onUpdate:value","onChange"])]),ye!=="imageModel"||b.value[ye].manufacturer==="openAi"?(ie(),be("div",Szn,[H[22]||(H[22]=p("label",{class:"formLabel"},"BaseURL",-1)),t(Y,{value:b.value[ye].baseURL,"onUpdate:value":De=>b.value[ye].baseURL=De,placeholder:`请输入${w[ye]}的BaseURL`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])])):et("",!0),p("div",Dzn,[H[23]||(H[23]=p("label",{class:"formLabel"},"API Key",-1)),t(R,{value:b.value[ye].apiKey,"onUpdate:value":De=>b.value[ye].apiKey=De,placeholder:`请输入${w[ye]}的API Key`,class:"formInput"},null,8,["value","onUpdate:value","placeholder"])])]))])]))),128)),p("section",Hzn,[p("div",Tzn,[p("div",zzn,[p("div",Pzn,[t($,{theme:"outline",size:"20",fill:"currentColor"})]),H[24]||(H[24]=p("span",{class:"cardTitle"},"提示词管理",-1))]),t(J,{type:"primary",class:"addBtn",onClick:H[4]||(H[4]=ye=>l.value=!0)},{default:He(()=>[t(se,{theme:"outline",size:"14",fill:"currentColor"}),H[25]||(H[25]=dn(" 编辑提示词 ",-1))]),_:1})]),H[26]||(H[26]=p("div",{class:"cardContent"},[p("p",{class:"promptTip"},"管理和自定义AI Agent的提示词,可修改主Agent、子Agent和系统提示词")],-1))]),p("section",Ezn,[p("div",Ozn,[p("div",Vzn,[t(te,{theme:"outline",size:"20",fill:"currentColor"})]),H[27]||(H[27]=p("span",{class:"cardTitle"},"数据管理",-1)),H[28]||(H[28]=p("span",{class:"dangerBadge"},"危险区域",-1))]),p("div",Bzn,[H[31]||(H[31]=p("p",{class:"dangerTip"},"以下操作不可逆,请谨慎执行",-1)),p("div",Izn,[t(J,{danger:"",onClick:B},{default:He(()=>[t(G,{theme:"outline",size:"14",fill:"currentColor"}),H[29]||(H[29]=dn(" 清空数据库 ",-1))]),_:1}),t(J,{danger:"",type:"primary",onClick:F},{default:He(()=>[t(te,{theme:"outline",size:"14",fill:"currentColor"}),H[30]||(H[30]=dn(" 删除数据库 ",-1))]),_:1})])])]),p("section",Nzn,[p("div",Rzn,[p("div",Fzn,[t(le,{theme:"outline",size:"20",fill:"currentColor"})]),H[32]||(H[32]=p("span",{class:"cardTitle"},"关于",-1))]),p("div",Zzn,[p("div",Xzn,[p("div",Uzn,[p("img",{src:A(IN),alt:"ToonFlow Logo",class:"logoImg"},null,8,Gzn),H[33]||(H[33]=p("div",{class:"appInfo"},[p("h2",{class:"appName"},"ToonFlow"),p("span",{class:"appVersion"},"v1.0.0")],-1))]),H[38]||(H[38]=p("p",{class:"aboutDesc"},"ToonFlow 是一款开源的 AI 驱动漫画/分镜创作工具,帮助创作者快速生成故事分镜和视频内容。",-1)),p("div",Yzn,[p("div",{class:"linkItem",onClick:x},[p("div",qzn,[t(de,{theme:"outline",size:"20",fill:"currentColor"})]),H[34]||(H[34]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"GitHub 仓库"),p("span",{class:"linkDesc"},"查看源代码、提交 Issue 或贡献代码")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})]),p("div",{class:"linkItem",onClick:M},[p("div",Kzn,[t(he,{theme:"outline",size:"20",fill:"currentColor"})]),H[35]||(H[35]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"检查更新"),p("span",{class:"linkDesc"},"前往 GitHub Releases 查看最新版本")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})]),p("div",{class:"linkItem",onClick:W},[p("div",Jzn,[t(ke,{theme:"outline",size:"20",fill:"currentColor"})]),H[36]||(H[36]=p("div",{class:"linkContent"},[p("span",{class:"linkTitle"},"开源协议"),p("span",{class:"linkDesc"},"本项目基于 AGPL-3.0 协议开源")],-1)),t(ce,{theme:"outline",size:"16",fill:"#9ca3af"})])]),p("div",Qzn,[t(xe,{theme:"outline",size:"16",fill:"#9913FA"}),H[37]||(H[37]=p("span",null,"AGPL-3.0 License",-1))])])])]),p("div",$zn,[t(J,{size:"large",onClick:y},{default:He(()=>[...H[39]||(H[39]=[dn("取消",-1)])]),_:1}),t(J,{type:"primary",size:"large",onClick:V},{default:He(()=>[t(me,{theme:"outline",size:"16",fill:"currentColor"}),H[40]||(H[40]=dn(" 保存设置 ",-1))]),_:1})])])]),t(dTn,{modelValue:s.value,"onUpdate:modelValue":H[5]||(H[5]=ye=>s.value=ye),data:a.value,onSave:c},null,8,["modelValue","data"]),t(ozn,{modelValue:l.value,"onUpdate:modelValue":H[6]||(H[6]=ye=>l.value=ye)},null,8,["modelValue"]),t(Ce,{title:"执行SQL",open:i.value,"onUpdate:open":H[8]||(H[8]=ye=>i.value=ye),onOk:r,centered:""},{default:He(()=>[t(je,{value:o.value,"onUpdate:value":H[7]||(H[7]=ye=>o.value=ye),placeholder:"请输入SQL语句",autosize:{minRows:2,maxRows:12}},null,8,["value"])]),_:1},8,["open"])],64)}}}),pzn=Zo(_zn,[["__scopeId","data-v-e0496791"]]),ePn=Object.freeze(Object.defineProperty({__proto__:null,default:pzn},Symbol.toStringTag,{value:"Module"})),tPn={class:"taskDetails"},nPn={class:"content"},iPn={key:0,class:"left"},oPn={class:"imageGrid"},lPn={class:"right"},rPn={class:"reasonList"},sPn=_e({__name:"taskDetails",props:{open:{type:Boolean},row:{}},emits:["update:open"],setup(e,{emit:n}){const i=e,o=n,l=_(i.open);Oe(()=>i.open,s=>{l.value=s}),Oe(l,s=>{o("update:open",s)});function r(){o("update:open",!1)}return(s,a)=>{const c=Ea,d=Fo;return ie(),be("div",tPn,[t(d,{open:l.value,"onUpdate:open":a[0]||(a[0]=u=>l.value=u),title:"任务详情",onOk:r,width:800,okText:"保存"},{default:He(()=>{var u,h;return[p("div",nPn,[e.row&&((u=e.row.imageUrl)!=null&&u.length)?(ie(),be("div",iPn,[p("div",oPn,[(ie(!0),be(Gt,null,Qn(e.row.imageUrl,(g,v)=>(ie(),be("div",{class:"imageDiv",key:v},[t(c,{src:g,fallback:A(V2),width:"220",height:"150",style:{"object-fit":"cover","border-radius":"8px"}},null,8,["src","fallback"])]))),128))])])):et("",!0),p("div",lPn,[a[1]||(a[1]=p("div",{class:"title"},"任务失败原因:",-1)),p("ul",rPn,[(ie(!0),be(Gt,null,Qn((h=e.row)==null?void 0:h.errorReason,(g,v)=>(ie(),be("li",{key:v},jt(g),1))),128))])])])]}),_:1},8,["open"])])}}}),aPn=Zo(sPn,[["__scopeId","data-v-c455876e"]]),cPn={class:"taskList"},dPn={class:"search"},uPn={class:"content"},hPn={class:"pagination",style:{"margin-top":"10px","text-align":"right"}},kPn=_e({__name:"index",setup(e){const n=_({page:1,limit:10,total:11,loading:!1});function i(c,d){}function o(c,d){}const l=_([{id:1,projectName:"项目1",taskName:"任务1",state:"进行中",startTime:"2022-01-01",endTime:"2022-01-31",prompt:"提示词",imageUrl:["https://picx.zhimg.com/v2-d6f44389971daab7e688e5b37046e4e4_720w.jpg?source=172ae18b","https://img.shetu66.com/2023/04/27/1682576769453692.png","https://www.baidu.com/img/flexible/logo/pc/result.png"],errorReason:["任务失败"]},{id:2,projectName:"项目2",taskName:"任务2",state:"已完成",startTime:"2022-02-01",endTime:"2022-02-28",prompt:"提示词",imageUrl:["https://www.baidu.com/img/flexible/logo/pc/result.png"],errorReason:["任务失败2"]}]),r=_(!1),s=_(null),a=c=>{s.value=c,r.value=!0};return(c,d)=>{const u=ql,h=Xm,g=Gr,v=Y1e,m=tl,k=nn("vxe-column"),f=nn("vxe-table"),w=xct;return ie(),be("div",cPn,[d[10]||(d[10]=p("div",{class:"header"},[p("h2",{class:"title"},"任务列表")],-1)),p("div",dPn,[p("div",null,[d[3]||(d[3]=p("span",null,"项目名称:",-1)),t(u,{placeholder:"请输入项目名称",size:"middle"})]),p("div",null,[d[4]||(d[4]=p("span",null,"任务名称:",-1)),t(u,{placeholder:"请输入任务名称",size:"middle"})]),p("div",null,[d[7]||(d[7]=p("span",{style:{width:"50px"}},"状态:",-1)),t(v,{compact:"",size:"middle"},{default:He(()=>[t(g,{style:{width:"150px"}},{default:He(()=>[t(h,{value:"inProgress"},{default:He(()=>[...d[5]||(d[5]=[dn("进行中",-1)])]),_:1}),t(h,{value:"completed"},{default:He(()=>[...d[6]||(d[6]=[dn("已完成",-1)])]),_:1})]),_:1})]),_:1})]),t(m,{type:"primary",style:{"margin-left":"50px"}},{default:He(()=>[...d[8]||(d[8]=[dn("查询",-1)])]),_:1})]),p("div",uPn,[t(f,{ref:"tableRef",data:l.value},{default:He(()=>[t(k,{title:"序号",field:"id",width:"70"}),t(k,{title:"项目名称",field:"projectName",width:"120","show-overflow":"title"}),t(k,{title:"任务名称",field:"taskName","show-overflow":"title"}),t(k,{title:"提示词",field:"prompt","show-overflow":"title"}),t(k,{title:"状态",field:"state",width:"120"}),t(k,{title:"开始时间",field:"startTime",width:"120"}),t(k,{title:"结束时间",field:"endTime",width:"120"}),t(k,{title:"操作",width:"120"},{default:He(({row:L})=>[t(m,{type:"primary",onClick:b=>a(L),size:"small"},{default:He(()=>[...d[9]||(d[9]=[dn("查看",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),p("div",hPn,[t(w,{current:n.value.page,"onUpdate:current":d[0]||(d[0]=L=>n.value.page=L),pageSize:n.value.limit,"onUpdate:pageSize":d[1]||(d[1]=L=>n.value.limit=L),"show-size-changer":"",total:n.value.total,onShowSizeChange:i,onChange:o},null,8,["current","pageSize","total"])]),t(aPn,{open:r.value,"onUpdate:open":d[2]||(d[2]=L=>r.value=L),row:s.value},null,8,["open","row"])])])}}}),fPn=Zo(kPn,[["__scopeId","data-v-18f8a825"]]),vPn=Object.freeze(Object.defineProperty({__proto__:null,default:fPn},Symbol.toStringTag,{value:"Module"})),gPn={class:"loginPage"},mPn={class:"formBox fc c"},wPn={class:"logoBox c"},LPn=["src"],bPn={class:"c"},CPn={class:"c"},yPn={__name:"index",setup(e){_(null);const n=_({show:!0,loginLoading:!1,user:{username:"",password:"",captcha:"",identity:"商家"},rules:{username:[{required:!0,message:"请输入您的账号"}],password:[{required:!0,message:"请输入密码"}],captcha:[{required:!0,message:"请输入验证码"}]}});_(),_(),un(()=>{o()}),_();const i=l=>{console.log("%c Line:70 🥥 values","background:#6ec1c2",l),n.value.loginLoading=!0;const r={...l};Di.post("/other/login",r).then(({data:s})=>{localStorage.setItem("token",s.token),localStorage.setItem("userId",s.id),aj.push("/project"),Sn.success("登录成功"),n.value.loginLoading=!1}).catch(s=>{n.value.loginLoading=!1,Sn.error(s.message),o()})},o=async()=>{};return(l,r)=>{const s=nn("i-people"),a=ql,c=Yf,d=nn("i-lock"),u=ej,h=tl,g=Nc;return ie(),be(Gt,null,[r[4]||(r[4]=p("div",{class:"bg"},null,-1)),p("div",gPn,[p("div",mPn,[p("div",wPn,[p("img",{src:A(IN),alt:"",style:{width:"45px",height:"45px"}},null,8,LPn),r[2]||(r[2]=p("span",{class:"span c"},"Toonflow",-1))]),t(g,{model:n.value.user,rules:n.value.rules,ref:"ruleFormRef",onFinish:i},{default:He(()=>[t(c,{name:"username"},{default:He(()=>[p("div",bPn,[t(s,{theme:"outline",class:"icon"}),t(a,{value:n.value.user.username,"onUpdate:value":r[0]||(r[0]=v=>n.value.user.username=v),style:{width:"240px"},placeholder:"账号",autocomplete:"username"},null,8,["value"])])]),_:1}),t(c,{name:"password"},{default:He(()=>[p("div",CPn,[t(d,{theme:"outline",class:"icon"}),t(u,{value:n.value.user.password,"onUpdate:value":r[1]||(r[1]=v=>n.value.user.password=v),style:{width:"240px"},placeholder:"密码",autocomplete:"current-password"},null,8,["value"])])]),_:1}),t(c,null,{default:He(()=>[t(h,{class:"loginBtn",type:"primary",size:"large",loading:n.value.loginLoading,"html-type":"submit",block:""},{default:He(()=>[...r[3]||(r[3]=[dn("登录",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"])])])],64)}}},xPn=Zo(yPn,[["__scopeId","data-v-521a4195"]]),jPn=Object.freeze(Object.defineProperty({__proto__:null,default:xPn},Symbol.toStringTag,{value:"Module"})); +