初始化

This commit is contained in:
Ran
2026-08-25 17:59:42 +08:00
commit 4b7380dd9b
408 changed files with 327400 additions and 0 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
import{d as ae,B as re,y as le,o as c,c as u,p as $,a as d,q as U,aa as ie,O as se,s as M,f as C,e as ce,b as ue,t as b,G as de,N as me,F as X,v as q,k as y,A as W,I as A}from"./index-p1BAR2Hc.js";import{X as pe}from"./icons-CbZw_MCi.js";import{L as ve}from"./LoadingMedia-q1A6xJc7.js";import{_ as fe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ge=["contenteditable","data-placeholder"],ye=["src","alt"],he={key:0,class:"mention-flat-header"},we={key:1,class:"mention-header"},ke={class:"mention-categories"},be=["onMousedown"],Ne={class:"mention-list"},xe=["onMouseenter","onMousedown"],_e={key:1},Me={key:0},Ce=ae({__name:"AssetPromptEditor",props:{modelValue:{},assets:{},placeholder:{},expanded:{type:Boolean},readonly:{type:Boolean},variant:{},floatingPreview:{type:Boolean}},emits:["update:modelValue","blur"],setup(m,{emit:G}){const l=m,P=G,p=y(),h=y(!1),N=y(""),w=y("character"),R=y(0),x=y(0),v=y();let f=null,E=!1;const H={character:"角色",scene:"场景",prop:"道具",custom:"自定义"},S=[{key:"character",label:"角色"},{key:"voice",label:"音色"},{key:"scene",label:"场景"},{key:"prop",label:"道具"},{key:"custom",label:"自定义"}],Q=W(()=>l.variant==="media"?[{key:"character",label:"图片"},{key:"voice",label:"音频"},{key:"video",label:"视频"}]:l.variant==="redraw"?S.filter(e=>e.key==="character"||e.key==="scene"||e.key==="prop"):S),T=W(()=>{const e=N.value.trim().toLowerCase(),o=l.assets.filter(t=>(l.variant==="drama-storyboard"||(w.value==="voice"?!!t.audio_url:w.value==="video"?!!t.video_url:t.asset_type===w.value&&(l.variant!=="media"||!t.audio_url&&!t.video_url)))&&(!e||t.name.toLowerCase().includes(e)));return l.variant==="drama-storyboard"?o:o.slice(0,12)});function L(e){return l.variant==="drama-storyboard"&&e.id.startsWith("storyboard-image-")}function I(e){return L(e)?"storyboard-image":e.audio_url&&e.asset_type==="character"?"voice":e.asset_type}function D(e){return l.variant==="media"?e.video_url?"视频":e.audio_url?"音频":"图片":L(e)?"分镜图":l.variant==="drama-storyboard"&&e.asset_type==="character"&&e.audio_url?"人物 / 音色":I(e)==="voice"?"音色":H[e.asset_type]||"资产"}function O(e){const o=document.createElement("span");o.className=`mention-token mention-token--${I(e)}`,o.contentEditable="false",o.dataset.assetId=e.id,o.dataset.assetName=e.name;const t=!!e.image_url&&l.variant!=="media"&&l.variant!=="redraw",n=t?document.createElement("img"):document.createElement("b");t?(n.src=e.image_url,n.alt=e.name,o.dataset.previewUrl=e.image_url):n.textContent=D(e);const r=document.createElement("span");r.className="mention-name",r.textContent=e.name;const i=[n,r];if(!l.readonly){const a=document.createElement("button");a.type="button",a.className="mention-remove",a.dataset.removeMention="true",a.title=`移除资产 ${e.name}`,a.textContent="删除",i.push(a)}if(t&&!l.floatingPreview){const a=document.createElement("span");a.className="mention-preview",a.contentEditable="false";const s=document.createElement("img");s.src=e.image_url,s.alt=e.name,a.append(s),i.push(a)}return o.append(...i),o}function J(e){if(!l.floatingPreview||!(e.target instanceof Element))return;const o=e.target.closest(".mention-token[data-preview-url]"),t=p.value;if(!o||!t||!o.dataset.previewUrl)return;const n=o.getBoundingClientRect(),r=154,i=8,a=8,s=window.innerWidth-r-a,g=window.innerHeight-r-a,z=[{left:n.right+i,top:n.top},{left:n.left-r-i,top:n.top},{left:n.left,top:n.bottom+i},{left:n.left,top:n.top-r-i}].find(_=>_.left>=a&&_.left<=s&&_.top>=a&&_.top<=g)||{left:Math.min(Math.max(n.left,a),s),top:Math.min(Math.max(n.bottom+i,a),g)};v.value={url:o.dataset.previewUrl,alt:o.dataset.assetName||"",left:`${z.left}px`,top:`${z.top}px`}}function K(e){if(!(e.target instanceof Element))return;const o=e.target.closest(".mention-token[data-preview-url]");o&&e.relatedTarget instanceof Node&&o.contains(e.relatedTarget)||(v.value=void 0)}function k(){v.value=void 0}function F(){k();const e=p.value;if(!e||document.activeElement===e)return;E=!0,e.replaceChildren();const o=[...l.assets].filter(a=>a.name.trim()).sort((a,s)=>s.name.length-a.name.length),t=new Map(o.map(a=>[a.name,a])),n=o.map(a=>a.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),r=n.length?new RegExp(`@(${n.join("|")})`,"g"):null;let i=0;if(r)for(const a of l.modelValue.matchAll(r)){const s=a.index||0;s>i&&e.append(document.createTextNode(l.modelValue.slice(i,s)));const g=t.get(a[1]);e.append(g?O(g):document.createTextNode(a[0])),i=s+a[0].length}i<l.modelValue.length&&e.append(document.createTextNode(l.modelValue.slice(i))),E=!1}function Y(){const e=p.value;if(!e)return"";const o=t=>{var i;if(t.nodeType===Node.TEXT_NODE)return t.textContent||"";const n=t;if((i=n.classList)!=null&&i.contains("mention-token"))return`@${n.dataset.assetName||""}`;if(n.tagName==="BR")return`
`;const r=Array.from(t.childNodes).map(o).join("");return n.tagName==="DIV"?`${r}
`:r};return Array.from(e.childNodes).map(o).join("").replace(/\n$/,"")}function B(){E||P("update:modelValue",Y())}function Z(){const e=p.value,o=window.getSelection();if(!e||!(o!=null&&o.rangeCount)||!e.contains(o.anchorNode)){h.value=!1;return}const t=o.getRangeAt(0).cloneRange(),n=t.cloneRange();n.selectNodeContents(e),n.setEnd(o.anchorNode,o.anchorOffset),f=t;const r=n.toString().match(/@([^@\s,。;:,.!?]*)$/);h.value=!!r,r&&(N.value=r[1]||"",R.value=r[0].length,x.value=0)}function ee(){k(),B(),Z()}async function te(){var e;h.value=!1,f=null,await A(),(e=p.value)==null||e.focus()}async function ne(e){const o=p.value,t=window.getSelection();if(!o||!(t!=null&&t.rangeCount)&&!f)return;const n=(f==null?void 0:f.cloneRange())||t.getRangeAt(0);let r=n.startContainer;r.nodeType!==Node.TEXT_NODE&&(r=document.createTextNode(""),n.insertNode(r),n.setStart(r,0));const i=r.textContent||"",a=n.startOffset,s=Math.max(0,a-R.value);r.textContent=i.slice(0,s)+i.slice(a),n.setStart(r,s),n.collapse(!0);const g=O(e),V=document.createTextNode(" ");n.insertNode(V),n.insertNode(g),n.setStartAfter(V),n.collapse(!0),t.removeAllRanges(),t.addRange(n),h.value=!1,f=null,B(),await A(),o.focus()}function oe(e){var r;const t=e.target.closest("[data-remove-mention]");if(!t)return;e.preventDefault(),e.stopPropagation(),k();const n=t.closest(".mention-token");n==null||n.remove(),B(),(r=p.value)==null||r.focus()}function j(){k(),window.setTimeout(()=>{var e;(e=document.activeElement)!=null&&e.closest(".mention-panel")||(h.value=!1,f=null)},120),P("blur")}return re(()=>[l.modelValue,l.assets],()=>A(F),{deep:!0}),le(F),(e,o)=>(c(),u("div",{class:$(["asset-prompt-editor",{expanded:m.expanded,readonly:m.readonly,media:m.variant==="media","drama-storyboard":m.variant==="drama-storyboard"}])},[d("div",{ref_key:"editor",ref:p,class:"prompt-content",contenteditable:m.readonly?"false":"true","data-placeholder":m.placeholder,onInput:ee,onMousedown:oe,onMouseover:J,onMouseout:K,onScroll:k,onBlur:j},null,40,ge),(c(),U(ie,{to:"body"},[v.value?(c(),u("span",{key:0,class:"mention-floating-preview",style:se({left:v.value.left,top:v.value.top})},[d("img",{src:v.value.url,alt:v.value.alt},null,8,ye)],4)):M("",!0)])),h.value?(c(),u("div",{key:0,class:"mention-panel",onMousedown:o[1]||(o[1]=C(()=>{},["stop"]))},[d("button",{class:"mention-close",type:"button",title:"关闭资产面板",onMousedown:C(te,["prevent","stop"])},[ce(ue(pe),{size:16})],32),m.variant==="drama-storyboard"?(c(),u("div",he,[o[2]||(o[2]=d("strong",null,"当前分镜可用资产",-1)),d("small",null,b(T.value.length)+" 项",1)])):(c(),u("div",we,[m.variant!=="media"?de((c(),u("input",{key:0,"onUpdate:modelValue":o[0]||(o[0]=t=>N.value=t),class:"mention-search",type:"search",placeholder:"搜索资产",onBlur:j},null,544)),[[me,N.value]]):M("",!0),d("div",ke,[(c(!0),u(X,null,q(Q.value,t=>(c(),u("button",{key:t.key,type:"button",class:$({active:w.value===t.key}),onMousedown:C(n=>{w.value=t.key,x.value=0},["prevent"])},b(t.label),43,be))),128))])])),d("div",Ne,[(c(!0),u(X,null,q(T.value,(t,n)=>(c(),u("button",{key:t.id,type:"button",class:$({active:n===x.value}),onMouseenter:r=>x.value=n,onMousedown:C(r=>ne(t),["prevent"])},[d("span",null,[t.image_url?(c(),U(ve,{key:0,type:"image",compact:"",src:t.image_url,alt:""},null,8,["src"])):(c(),u("i",_e,b(t.name.slice(0,1)),1))]),d("b",null,b(t.name),1),d("small",null,b(D(t)),1)],42,xe))),128)),T.value.length?M("",!0):(c(),u("div",Me,"没有匹配的资产"))])],32)):M("",!0)],2))}}),$e=fe(Ce,[["__scopeId","data-v-1a647370"]]);export{$e as A};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{d as g,c as d,a as v,ad as f,s as S,o as a,q as r,w as _,v as u,F as i,A as h,r as p}from"./index-p1BAR2Hc.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const w={class:"web-page creative-shell"},$={class:"creative-shell__content"},x={key:0,class:"creative-shell__heading"},F={class:"creative-shell__scroll"},I=g({__name:"CreativeShell",props:{pageTitle:{default:""}},setup(e){return(c,m)=>(a(),d("div",w,[v("main",$,[c.$slots.heading?(a(),d("header",x,[f(c.$slots,"heading",{},void 0,!0)])):S("",!0),v("div",F,[f(c.$slots,"default",{},void 0,!0)])])]))}}),E=y(I,[["__scopeId","data-v-5549e50b"]]),N=g({__name:"CreativeSelect",props:{modelValue:{},options:{},placeholder:{default:"请选择"},multiple:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{default:"bottom-start"}},emits:["update:modelValue"],setup(e,{emit:c}){const m=e,k=c,b=h(()=>{const s=new Map;for(const o of m.options){const t=o.group||"";s.has(t)||s.set(t,[]),s.get(t).push(o)}return[...s.entries()].map(([o,t])=>({label:o,options:t}))}),C=h(()=>b.value.some(s=>s.label));return(s,o)=>{const t=p("el-option"),B=p("el-option-group"),V=p("el-select");return a(),r(V,{class:"creative-select","model-value":e.modelValue,placeholder:e.placeholder,multiple:e.multiple,"collapse-tags":e.multiple,"collapse-tags-tooltip":e.multiple,filterable:e.filterable,clearable:e.clearable,disabled:e.disabled,placement:e.placement,teleported:!0,"popper-class":"creative-select-popper","onUpdate:modelValue":o[0]||(o[0]=l=>k("update:modelValue",l))},{default:_(()=>[C.value?(a(!0),d(i,{key:0},u(b.value,l=>(a(),r(B,{key:l.label,label:l.label},{default:_(()=>[(a(!0),d(i,null,u(l.options,n=>(a(),r(t,{key:n.value,label:n.label,value:n.value,disabled:n.disabled},null,8,["label","value","disabled"]))),128))]),_:2},1032,["label"]))),128)):(a(!0),d(i,{key:1},u(e.options,l=>(a(),r(t,{key:l.value,label:l.label,value:l.value,disabled:l.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","placeholder","multiple","collapse-tags","collapse-tags-tooltip","filterable","clearable","disabled","placement"])}}}),L=y(N,[["__scopeId","data-v-c088bbce"]]);export{E as C,L as a};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.media-loading-state[data-v-3e5d6686]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--web-media-loading-text);background:var(--web-media-state-mask);font-size:12px;pointer-events:none}.media-loading-state.failed[data-v-3e5d6686]{color:var(--web-media-error-text)}.media-loading-state.compact span[data-v-3e5d6686]{display:none}.media-loading-state.compact svg[data-v-3e5d6686]{width:19px;height:19px}.media-loading-spinner[data-v-3e5d6686]{animation:media-loading-spin-3e5d6686 .9s linear infinite}@keyframes media-loading-spin-3e5d6686{to{transform:rotate(360deg)}}.loading-media-element[data-v-33763ad1]{display:block;max-width:100%;max-height:100%}
@@ -0,0 +1 @@
import{d as k,j as y}from"./icons-CbZw_MCi.js";import{d as p,o as l,c as s,p as B,q as n,b as g,a as h,t as C,B as M,F as w,ac as L,s as z,k as b}from"./index-p1BAR2Hc.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E=p({__name:"MediaLoadingState",props:{failed:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},label:{default:"媒体加载中"},errorLabel:{default:"媒体加载失败"}},setup(e){return(c,f)=>(l(),s("div",{class:B(["media-loading-state",{failed:e.failed,compact:e.compact}])},[e.failed?(l(),n(g(k),{key:0,size:24,"stroke-width":1.7})):(l(),n(g(y),{key:1,class:"media-loading-spinner",size:26,"stroke-width":1.8})),h("span",null,C(e.failed?e.errorLabel:e.label),1)],2))}}),S=v(E,[["__scopeId","data-v-3e5d6686"]]),$=["src"],x=["src"],A=p({inheritAttrs:!1,__name:"LoadingMedia",props:{type:{},src:{},compact:{type:Boolean,default:!1},loadingLabel:{default:"媒体加载中"},errorLabel:{default:"媒体加载失败"}},emits:["load","loadeddata","error"],setup(e,{emit:c}){const f=e,d=c,r=b(!0),o=b(!1);M(()=>f.src,()=>{r.value=!0,o.value=!1},{immediate:!0});function m(a,t){r.value=!1,o.value=!1,d(t==="load"?"load":"loadeddata",a)}function u(a){r.value=!1,o.value=!0,d("error",a)}return(a,t)=>(l(),s(w,null,[e.type==="image"?(l(),s("img",L({key:0,class:"loading-media-element"},a.$attrs,{src:e.src,onLoad:t[0]||(t[0]=i=>m(i,"load")),onError:u}),null,16,$)):(l(),s("video",L({key:1,class:"loading-media-element"},a.$attrs,{src:e.src,onLoadeddata:t[1]||(t[1]=i=>m(i,"loadeddata")),onError:u}),null,16,x)),r.value||o.value?(l(),n(S,{key:2,failed:o.value,compact:e.compact,label:e.loadingLabel,"error-label":e.errorLabel},null,8,["failed","compact","label","error-label"])):z("",!0)],64))}}),V=v(A,[["__scopeId","data-v-33763ad1"]]);export{V as L,S as M};
@@ -0,0 +1 @@
.login-view[data-v-baf7cb26]{min-height:100dvh;padding:var(--page-gutter);display:grid;place-items:center;background:var(--web-bg)}.login-card[data-v-baf7cb26]{width:min(420px,100%);padding:var(--space-2xl);background:var(--web-surface);border:1px solid var(--web-line);border-radius:var(--radius-lg)}.login-card__brand[data-v-baf7cb26]{margin-bottom:var(--space-xl);display:flex;align-items:center;gap:12px}.login-card__brand>span[data-v-baf7cb26]{width:var(--control-height-lg);height:var(--control-height-lg);display:grid;place-items:center;overflow:hidden;background:var(--web-raised);border:1px solid var(--web-line);border-radius:var(--radius-sm)}.login-card__brand img[data-v-baf7cb26]{width:34px;height:34px;object-fit:contain}.login-card__brand strong[data-v-baf7cb26]{font-size:18px;font-weight:650}.login-card[data-v-baf7cb26] .el-form-item__label{color:var(--web-muted)}.login-card[data-v-baf7cb26] .el-input__wrapper{min-height:var(--control-height-lg);background:var(--web-surface);border:1px solid var(--web-line-strong);border-radius:var(--radius-sm);box-shadow:none}.login-card[data-v-baf7cb26] .el-input__wrapper:hover{border-color:var(--web-line-emphasis)}.login-card[data-v-baf7cb26] .el-input__wrapper.is-focus{border-color:var(--web-primary);box-shadow:0 0 0 2px var(--web-dialog-focus-ring)}.login-card[data-v-baf7cb26] .el-input__inner{color:var(--web-text)}.login-card__submit[data-v-baf7cb26]{width:100%;min-height:var(--control-height-lg);margin-top:var(--space-sm);color:var(--web-text-strong);background:var(--web-primary);border-color:var(--web-primary);font-weight:650}.login-card__submit[data-v-baf7cb26]:hover{background:var(--web-primary-hover);border-color:var(--web-primary-hover)}@media (max-width: 767px){.login-view[data-v-baf7cb26]{padding:var(--page-gutter-mobile)}.login-card[data-v-baf7cb26]{padding:var(--space-xl)}}
@@ -0,0 +1 @@
import{d as v,u as y,c as x,a,b as l,e as o,w as t,f as k,r as n,g as R,h as S,o as j,i as q,l as B,j as C,k as N,m as T,n as U}from"./index-p1BAR2Hc.js";import{l as A}from"./logo-DX2NYOdf.js";import{u as E}from"./auth-BqcbSIN_.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const L={class:"login-view web-page"},M={class:"login-card"},z={class:"login-card__brand"},W=["src"],D=v({__name:"LoginView",setup(F){const i=E(),d=y(),f=R(),g=S(),p=N(),s=T({account:"",password:""}),w={account:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]};async function b(){var u;if(!i.loading&&await((u=p.value)==null?void 0:u.validate().catch(()=>!1)))try{await i.login(s.account,s.password),d.success("登录成功");const e=String(f.query.redirect||"/drama-projects");await g.replace(e.startsWith("/")?e:"/drama-projects")}catch(e){const r=U(e);d.error(r.message,r.copyText,"登录失败")}}return(u,e)=>{const r=n("el-icon"),m=n("el-input"),_=n("el-form-item"),V=n("el-button"),h=n("el-form");return j(),x("main",L,[a("section",M,[a("header",z,[a("span",null,[a("img",{src:l(A),alt:""},null,8,W)]),e[2]||(e[2]=a("div",null,[a("strong",null,"剧游AI")],-1))]),o(h,{ref_key:"formRef",ref:p,model:s,rules:w,"label-position":"top",size:"large",onSubmit:k(b,["prevent"])},{default:t(()=>[o(_,{label:"账号",prop:"account"},{default:t(()=>[o(m,{modelValue:s.account,"onUpdate:modelValue":e[0]||(e[0]=c=>s.account=c),modelModifiers:{trim:!0},autocomplete:"username",placeholder:"请输入账号"},{prefix:t(()=>[o(r,null,{default:t(()=>[o(l(q))]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(_,{label:"密码",prop:"password"},{default:t(()=>[o(m,{modelValue:s.password,"onUpdate:modelValue":e[1]||(e[1]=c=>s.password=c),type:"password",autocomplete:"current-password","show-password":"",placeholder:"请输入密码"},{prefix:t(()=>[o(r,null,{default:t(()=>[o(l(B))]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(V,{class:"login-card__submit",type:"primary","native-type":"submit",loading:l(i).loading},{default:t(()=>[...e[3]||(e[3]=[C(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1},8,["model"])])])}}}),O=I(D,[["__scopeId","data-v-baf7cb26"]]);export{O as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.form-grid[data-v-8308c0a8]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs) var(--space-lg)}.project-dialog-form[data-v-8308c0a8] .el-form-item{margin-bottom:var(--space-lg)}.project-dialog-form[data-v-8308c0a8] .el-form-item__label{padding-bottom:var(--space-sm);color:var(--web-text-secondary);font-size:12px}.project-dialog-form[data-v-8308c0a8] .el-input__wrapper{min-height:var(--control-height-lg);background:var(--web-surface-soft);border:1px solid var(--web-line-strong);border-radius:var(--radius-sm);box-shadow:none}.project-dialog-form[data-v-8308c0a8] .el-input__wrapper:hover{border-color:var(--web-line-emphasis)}.project-dialog-form[data-v-8308c0a8] .el-input__wrapper.is-focus{border-color:var(--web-timeline-focus-line);box-shadow:0 0 0 2px var(--web-dialog-focus-ring)}.project-dialog-form[data-v-8308c0a8] .el-input__inner{color:var(--web-text)}.project-dialog-form[data-v-8308c0a8] .el-input__count{color:var(--web-dialog-description);background:transparent}.ratio-switch[data-v-8308c0a8]{width:100%;height:var(--control-height-lg);padding:3px;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--web-surface-soft);border:1px solid var(--web-line-strong);border-radius:var(--radius-sm)}.ratio-switch button[data-v-8308c0a8]{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--web-dialog-option-muted);background:transparent;border:1px solid transparent;border-radius:6px;font-size:12px;line-height:1;cursor:pointer;transition:color .16s,background-color .16s,border-color .16s}.ratio-switch button[data-v-8308c0a8]:hover:not(.active){color:var(--web-text);background:var(--web-surface)}.ratio-switch button.active[data-v-8308c0a8]{color:var(--web-accent-dark);background:var(--web-hover);border-color:var(--web-line-emphasis)}.ratio-icon[data-v-8308c0a8]{width:14px;height:14px;display:grid;place-items:center;flex:0 0 14px}.ratio-label[data-v-8308c0a8]{width:28px;text-align:left;font-variant-numeric:tabular-nums}.ratio-switch i[data-v-8308c0a8]{display:block;box-sizing:border-box;border:1px solid currentColor;border-radius:1px;opacity:.85}.ratio-switch i.portrait[data-v-8308c0a8]{width:7px;height:12px}.ratio-switch i.landscape[data-v-8308c0a8]{width:13px;height:8px}.field-error[data-v-8308c0a8]{margin-top:5px;color:var(--web-accent-dark);font-size:12px;line-height:1.2}.field-invalid[data-v-8308c0a8] .el-input__wrapper,.field-invalid[data-v-8308c0a8] .creative-select .el-select__wrapper{border-color:var(--web-invalid-line)!important;box-shadow:0 0 0 1px var(--web-invalid-outline)!important}.field-invalid[data-v-8308c0a8] .el-input__wrapper:hover,.field-invalid[data-v-8308c0a8] .creative-select .el-select__wrapper:hover{border-color:var(--web-invalid-line-hover)!important}@media (max-width: 560px){.form-grid[data-v-8308c0a8]{grid-template-columns:1fr}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{q as n,X as u}from"./icons-CbZw_MCi.js";import{d as m,o as l,c as r,e as s,b as d,a as i,s as p}from"./index-p1BAR2Hc.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"project-search-field"},h=["value","placeholder"],_=m({__name:"ProjectSearchField",props:{modelValue:{},placeholder:{default:"搜索项目"}},emits:["update:modelValue"],setup(t,{emit:c}){const o=c;return(v,e)=>(l(),r("div",V,[s(d(n),{size:17}),i("input",{value:t.modelValue,type:"search",placeholder:t.placeholder,onInput:e[0]||(e[0]=a=>o("update:modelValue",a.target.value))},null,40,h),t.modelValue?(l(),r("button",{key:0,type:"button",title:"清空搜索",onClick:e[1]||(e[1]=a=>o("update:modelValue",""))},[s(d(u),{size:16})])):p("",!0)]))}}),x=f(_,[["__scopeId","data-v-0e2390f7"]]);export{x as P};
@@ -0,0 +1 @@
.project-search-field[data-v-0e2390f7]{width:min(380px,100%);height:var(--control-height-lg);padding:0 var(--space-xs) 0 var(--space-md);display:flex;align-items:center;gap:var(--space-sm);color:var(--web-text-tertiary);background:var(--web-surface);border:1px solid var(--web-line-strong);border-radius:var(--radius-sm);transition:color .18s,border-color .18s,box-shadow .18s}.project-search-field[data-v-0e2390f7]:focus-within{color:var(--web-accent-dark);border-color:var(--web-line-accent);box-shadow:0 0 0 2px var(--web-search-outline)}.project-search-field input[data-v-0e2390f7]{min-width:0;width:100%;color:var(--web-text);background:transparent;border:0;font-size:14px;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.project-search-field input[data-v-0e2390f7]::-webkit-search-cancel-button{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.project-search-field button[data-v-0e2390f7]{width:var(--control-height-sm);height:var(--control-height-sm);padding:0;display:grid;place-items:center;flex:0 0 var(--control-height-sm);color:var(--web-control-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color .18s,background-color .18s}.project-search-field button[data-v-0e2390f7]:hover:not(:disabled){color:var(--web-accent-muted);background:var(--web-hover)}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{d as H,u as R,y as J,q as T,w as m,C as i,k as n,n as K,o as p,a as r,e as o,t as v,b as s,L as Q,j as S,G as W,c as w,F as X,v as Y,s as A,A as Z,r as B,H as ee,h as te,f as se,E as oe}from"./index-p1BAR2Hc.js";import{c as D,a as L,T as ae}from"./icons-CbZw_MCi.js";import{P as re}from"./ProjectSearchField-C68_CxpU.js";import{C as le}from"./CreativeSelect-CikGCVMP.js";import{M as ne}from"./ModelConfigDialog-BZPjXRWk.js";import{f as ie}from"./datetime-P3V4sQaP.js";import{u as ce}from"./useModelPrompts-BKmMdFPq.js";import{e as pe}from"./scriptAnalysisModel-D-P7Lk0D.js";import{_ as ue}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={class:"script-toolbar"},me={class:"creative-page-actions"},ve={class:"script-count"},fe={class:"script-grid"},_e=["onClick"],ye={class:"script-card__icon"},ge={class:"script-card__body"},we=["onClick"],Ce={key:0,class:"script-empty"},he=H({__name:"ScriptAnalysisView",setup(ke){const M=te(),f=R(),C=n([]),V=n({styles:[],models:[]}),h=n([]),_=n(!1),u=n(!1),y=n(!1),k=n(!1),c=n(""),P=Z(()=>{const t=c.value.trim().toLocaleLowerCase();return t?C.value.filter(e=>(e.name||"未命名剧本").toLocaleLowerCase().includes(t)):C.value}),{prompts:z,promptSelections:E,loadPrompts:U,selectPrompt:F,createPrompt:I,updatePrompt:N,deletePrompt:$}=ce();function g(t,e="加载失败"){const l=K(t);f.error(l.message,l.copyText,e)}async function x(){_.value=!0;try{const[t,e,l]=await Promise.all([i.scriptAnalyses(),i.options(),i.userModelConfigs("script_analysis")]);C.value=t,V.value=e,h.value=await pe(e,l),await U(["剧本分析"])}catch(t){g(t)}finally{_.value=!1}}async function j(t){var l;const e=(l=t.prompt_reverse)==null?void 0:l.model_id;if(!e)return f.warning("请选择文本模型");k.value=!0;try{await i.saveUserModelConfig("script_analysis","text",e),h.value=await i.userModelConfigs("script_analysis"),y.value=!1,f.success("模型配置已保存")}catch(d){g(d,"保存模型配置失败")}finally{k.value=!1}}async function b(){if(!u.value){u.value=!0;try{const t=await i.createScriptAnalysis();await M.push({name:"script-analysis-workbench",params:{scriptId:t.id}})}catch(t){g(t,"创建失败")}finally{u.value=!1}}}async function O(t){try{await oe.confirm(`确定删除“${t.name}”吗?`,"删除剧本",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"}),await i.deleteScriptAnalysis(t.id),f.success("剧本已删除"),await x()}catch(e){e!=="cancel"&&e!=="close"&&g(e,"删除失败")}}return J(x),(t,e)=>{const l=B("el-icon"),d=B("el-button"),q=ee("loading");return p(),T(le,null,{default:m(()=>[r("section",de,[o(re,{modelValue:c.value,"onUpdate:modelValue":e[0]||(e[0]=a=>c.value=a),placeholder:"搜索剧本名称"},null,8,["modelValue"]),r("div",me,[r("span",ve,v(P.value.length)+" 个剧本",1),o(d,{onClick:e[1]||(e[1]=a=>y.value=!0)},{default:m(()=>[o(l,null,{default:m(()=>[o(s(Q))]),_:1}),e[3]||(e[3]=S("模型配置",-1))]),_:1}),o(d,{type:"primary",loading:u.value,onClick:b},{default:m(()=>[o(s(D),{size:16}),e[4]||(e[4]=S("新建剧本 ",-1))]),_:1},8,["loading"])])]),W((p(),w("section",fe,[(p(!0),w(X,null,Y(P.value,a=>(p(),w("article",{key:a.id,class:"script-card",onClick:G=>s(M).push({name:"script-analysis-workbench",params:{scriptId:a.id}})},[r("div",ye,[o(s(L),{size:22})]),r("div",ge,[r("strong",null,v(a.name||"未命名剧本"),1),r("time",null,v(s(ie)(a.updated_at)),1)]),r("button",{type:"button",class:"script-card__delete",title:"删除剧本",onClick:se(G=>O(a),["stop"])},[o(s(ae),{size:17})],8,we)],8,_e))),128)),!_.value&&!P.value.length?(p(),w("div",Ce,[o(s(L),{size:40,"stroke-width":"1.2"}),r("strong",null,v(c.value.trim()?"没有匹配的剧本":"还没有剧本"),1),r("p",null,v(c.value.trim()?"换一个关键词继续查找":"新建剧本后即可开始分析"),1),c.value.trim()?A("",!0):(p(),T(d,{key:0,type:"primary",loading:u.value,onClick:b},{default:m(()=>[o(s(D),{size:16}),e[5]||(e[5]=S("新建剧本 ",-1))]),_:1},8,["loading"]))])):A("",!0)])),[[q,_.value]]),o(ne,{modelValue:y.value,"onUpdate:modelValue":e[2]||(e[2]=a=>y.value=a),"analysis-only":"","project-type":"script_analysis",options:V.value,configs:h.value,saving:k.value,prompts:s(z),"prompt-selections":s(E),onSave:j,onPromptSelect:s(F),onPromptCreate:s(I),onPromptUpdate:s(N),onPromptDelete:s($)},null,8,["modelValue","options","configs","saving","prompts","prompt-selections","onPromptSelect","onPromptCreate","onPromptUpdate","onPromptDelete"])]),_:1})}}}),De=ue(he,[["__scopeId","data-v-fc2a2917"]]);export{De as default};
@@ -0,0 +1 @@
.script-toolbar[data-v-fc2a2917]{min-height:var(--control-height-lg);margin-bottom:var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl)}.script-toolbar .creative-page-actions[data-v-fc2a2917]{display:flex;align-items:center;gap:var(--space-md)}.script-count[data-v-fc2a2917]{color:var(--web-project-count);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);white-space:nowrap}.script-grid[data-v-fc2a2917]{min-height:260px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:var(--space-lg)}.script-card[data-v-fc2a2917]{min-width:0;padding:14px 16px;display:flex;align-items:center;gap:13px;position:relative;color:var(--creative-text);background:var(--creative-surface);border:1px solid var(--creative-line);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .18s,background-color .18s}.script-card[data-v-fc2a2917]:hover{background:var(--web-hover);border-color:var(--creative-accent)}.script-card__icon[data-v-fc2a2917]{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;color:var(--creative-accent);background:color-mix(in srgb,var(--creative-accent) 12%,transparent);border-radius:9px}.script-card__body[data-v-fc2a2917]{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.script-card__body strong[data-v-fc2a2917]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.script-card__body time[data-v-fc2a2917]{color:var(--creative-muted);font-size:12px}.script-card__delete[data-v-fc2a2917]{width:32px;height:32px;display:grid;place-items:center;color:var(--creative-muted);background:transparent;border:0;border-radius:7px;cursor:pointer;opacity:1;pointer-events:auto;transition:color .18s,background-color .18s}.script-card__delete[data-v-fc2a2917]:hover{color:var(--web-danger);background:color-mix(in srgb,var(--web-danger) 12%,transparent)}.script-empty[data-v-fc2a2917]{min-height:260px;grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--creative-muted);text-align:center}.script-empty strong[data-v-fc2a2917]{color:var(--creative-text);font-size:16px}.script-empty p[data-v-fc2a2917]{margin:0;font-size:12px}.script-empty[data-v-fc2a2917] .el-button{margin-top:var(--space-sm)}@media (max-width: 767px){.script-toolbar[data-v-fc2a2917]{align-items:stretch;flex-direction:column;gap:var(--space-md)}.script-toolbar[data-v-fc2a2917] .project-search-field,.script-toolbar .creative-page-actions[data-v-fc2a2917]{width:100%}.script-toolbar .creative-page-actions[data-v-fc2a2917]{justify-content:space-between}.script-toolbar[data-v-fc2a2917] .el-button{flex:1}.script-grid[data-v-fc2a2917]{grid-template-columns:1fr}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{U as L,L as I,C as P,F as U,a as F,I as S,M as R}from"./icons-CbZw_MCi.js";import{d as E,c as i,p as y,a,b as s,q as g,t as k,e as p,k as $,E as M,o,h as W,s as h,F as O,v as T,x as j,y as D,P as N,z as q,w as G,R as H,g as J,A as C,r as K}from"./index-p1BAR2Hc.js";import{l as Q}from"./logo-DX2NYOdf.js";import{u as A}from"./auth-BqcbSIN_.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const X={class:"web-user-entry__avatar"},Y=["src"],Z={class:"web-user-entry__copy"},ee=["disabled"],te=E({__name:"WebUserEntry",props:{active:{type:Boolean}},emits:["navigate"],setup(n,{emit:r}){const c=r,l=A(),d=W(),e=$(!1);async function t(){if(!e.value){try{await M.confirm("退出后需要重新登录,确定退出当前账号吗?","退出登录",{type:"warning",confirmButtonText:"退出登录",cancelButtonText:"取消"})}catch(u){if(u==="cancel"||u==="close")return;throw u}e.value=!0;try{await l.logout(),await d.replace("/login")}finally{e.value=!1}}}return(u,v)=>{var b,_,m,f;return o(),i("div",{class:y(["web-user-entry",{active:n.active}])},[a("button",{type:"button",class:"web-user-entry__profile",onClick:v[0]||(v[0]=w=>c("navigate"))},[a("span",X,[(b=s(l).profile)!=null&&b.avatar_url?(o(),i("img",{key:0,src:s(l).profile.avatar_url,alt:""},null,8,Y)):(o(),g(s(L),{key:1,size:19}))]),a("span",Z,[a("strong",null,k(((_=s(l).profile)==null?void 0:_.username)||((m=s(l).profile)==null?void 0:m.account)||"用户中心"),1),a("small",null,k(Number(((f=s(l).account)==null?void 0:f.point_balance)||0).toFixed(2))+" 积分",1)])]),a("button",{type:"button",class:"web-user-entry__logout",title:"退出登录",disabled:e.value,onClick:t},[p(s(I),{size:18})],8,ee)],2)}}}),ae=x(te,[["__scopeId","data-v-8716efd4"]]),se=["src"],oe={key:0},ne={class:"web-sidebar__nav"},le=["disabled","title","onClick"],ie={key:0},re={class:"web-sidebar__footer"},ce=E({__name:"WebSidebar",props:{activePath:{},collapsed:{type:Boolean}},emits:["navigate"],setup(n,{emit:r}){const c=r,l=[{path:"/drama-projects",label:"短剧创作",icon:P,disabled:!1},{path:"/redraw-projects",label:"剧本反推",icon:U,disabled:!1},{path:"/script-analysis",label:"剧本分析",icon:F,disabled:!1},{path:"/product-images",label:"图片生成",icon:S,disabled:!1}];return(d,e)=>(o(),i("div",{class:y(["web-sidebar",{"is-collapsed":n.collapsed}])},[a("button",{class:"web-sidebar__brand",type:"button",title:"短剧创作",onClick:e[0]||(e[0]=t=>c("navigate","/drama-projects"))},[a("span",null,[a("img",{src:s(Q),alt:""},null,8,se)]),n.collapsed?h("",!0):(o(),i("strong",oe,"剧游AI"))]),a("nav",ne,[(o(),i(O,null,T(l,t=>a("button",{key:t.path,type:"button",disabled:t.disabled,class:y({active:n.activePath.startsWith(t.path)}),title:n.collapsed?t.label:void 0,onClick:u=>c("navigate",t.path)},[(o(),g(j(t.icon),{size:20})),n.collapsed?h("",!0):(o(),i("span",ie,k(t.label),1))],10,le)),64))]),a("div",re,[n.collapsed?(o(),i("button",{key:0,type:"button",class:y(["web-sidebar__account",{active:n.activePath==="/account"}]),title:"用户中心",onClick:e[1]||(e[1]=t=>c("navigate","/account"))},[p(s(L),{size:20})],2)):(o(),g(ae,{key:1,active:n.activePath==="/account",onNavigate:e[2]||(e[2]=t=>c("navigate","/account"))},null,8,["active"]))])],2))}}),z=x(ce,[["__scopeId","data-v-c624bd8f"]]),ue={key:0,class:"web-layout__sidebar"},de={class:"web-layout__main"},ve={key:0,class:"web-layout__mobile-bar"},pe=E({__name:"WebLayout",setup(n){const r=J(),c=W(),l=A(),d=$(window.innerWidth),e=$(!1),t=C(()=>d.value<768),u=C(()=>d.value>=768&&d.value<1200),v=C(()=>r.meta.fullscreen===!0);function b(){d.value=window.innerWidth,t.value||(e.value=!1)}function _(f){e.value=!1,c.push(f)}function m(){l.loadAccount()}return D(()=>{window.addEventListener("resize",b,{passive:!0}),window.addEventListener(N,m),l.loadAccount()}),q(()=>{window.removeEventListener("resize",b),window.removeEventListener(N,m)}),(f,w)=>{const V=K("el-drawer");return o(),i("div",{class:y(["web-layout",{"is-collapsed":u.value,"is-fullscreen":v.value}])},[!t.value&&!v.value?(o(),i("aside",ue,[p(z,{"active-path":s(r).path,collapsed:u.value,onNavigate:_},null,8,["active-path","collapsed"])])):h("",!0),v.value?h("",!0):(o(),g(V,{key:1,modelValue:e.value,"onUpdate:modelValue":w[0]||(w[0]=B=>e.value=B),direction:"ltr",size:"min(280px, 88vw)","with-header":!1,class:"web-drawer"},{default:G(()=>[p(z,{"active-path":s(r).path,onNavigate:_},null,8,["active-path"])]),_:1},8,["modelValue"])),a("main",de,[t.value&&!v.value?(o(),i("header",ve,[a("button",{type:"button",class:"web-layout__menu",title:"打开菜单",onClick:w[1]||(w[1]=B=>e.value=!0)},[p(s(R),{size:21})]),a("strong",null,k(String(s(r).meta.title||"剧游AI")),1)])):h("",!0),p(s(H))])],2)}}}),ye=x(pe,[["__scopeId","data-v-09e56ee6"]]);export{ye as default};
@@ -0,0 +1 @@
const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};
+1
View File
@@ -0,0 +1 @@
import{ae as i,ab as a,af as s,ag as n}from"./index-p1BAR2Hc.js";let e=null;const c=i("web-auth",{state:()=>({profile:JSON.parse(localStorage.getItem("web_profile")||"null"),account:null,authenticated:!!localStorage.getItem("web_access_token"),loading:!1}),actions:{async login(t,l){this.loading=!0;try{const{data:o}=await a.post("/auth/login",{account:t,password:l});n(o.data),this.profile=o.data.user,this.authenticated=!0,await this.loadAccount()}finally{this.loading=!1}},async loadAccount(){this.authenticated&&(e||(e=a.get("/account").then(({data:t})=>t.data).finally(()=>e=null)),this.account=await e)},updateCachedProfile(t){this.profile&&(this.profile={...this.profile,...t},localStorage.setItem("web_profile",JSON.stringify(this.profile)))},async logout(){const t=localStorage.getItem("web_refresh_token");try{await a.post("/auth/logout",{refresh_token:t})}finally{s(),this.profile=null,this.account=null,this.authenticated=!1}}}});export{c as u};
@@ -0,0 +1 @@
const e="Asia/Shanghai";function n(t){return t?new Date(t).toLocaleString("zh-CN",{timeZone:e,hour12:!1}):""}function a(t){return t?new Date(t).toLocaleDateString("zh-CN",{timeZone:e}):""}export{a,n as f};
@@ -0,0 +1 @@
import{C as i}from"./index-p1BAR2Hc.js";function n(o,t){const e=document.createElement("a");e.href=o,e.download=t,document.body.appendChild(e),e.click(),e.remove()}async function r(o,t){n(o,t)}async function d(o,t){const e=URL.createObjectURL(o);try{n(e,t)}finally{window.setTimeout(()=>URL.revokeObjectURL(e),1e3)}}async function s(o,t,e){if(!o)return r(t,e);const a=await i.media(o),c=URL.createObjectURL(a);try{n(c,e)}finally{window.setTimeout(()=>URL.revokeObjectURL(c),1e3)}}export{d as a,s as d};
+1
View File
@@ -0,0 +1 @@
import{d as o,a8 as e,$ as u,ah as f,Q as _,ai as n,aj as p,ak as h,al as k,am as m,S as g,an as C,Y as S,ao as d,a5 as r,ap as w,aq as y,ar as v,_ as F,as as T,U as L,l as U,at as x,au as M,av as O,aw as z,D as A,ax as P,ay as b,T as B,X as I,M as D,i as H,Z as G,az as V,aA as X,aB as j,aC as W,a3 as Z,aD as q,a0 as K,aE as E,aF as N}from"./index-p1BAR2Hc.js";function a(c,i){return o({name:c,inheritAttrs:!1,props:{size:{type:[Number,String],default:void 0},strokeWidth:{type:[Number,String],default:void 0}},setup(s,{attrs:l}){return()=>{const t=s.size===void 0?void 0:typeof s.size=="number"?`${s.size}px`:s.size;return e(i,{...l,style:[l.style,t?{width:t,height:t}:void 0]})}}})}const Y=a("ArrowLeft",_),J=a("BookOpen",n),aa=a("BookOpenText",n),ea=a("Camera",p),sa=a("ChevronDown",h),ta=a("CircleAlert",k),oa=a("CircleHelp",m),la=a("CircleX",g),na=a("Clapperboard",u),da=a("Copy",C),ra=a("Download",S),ca=a("FileInput",d),ia=a("FilePlus2",d),ua=a("FileSearch",r),fa=a("FileText",r),_a=a("FileUp",w),pa=a("Film",y),ha=a("FolderInput",v),ka=a("Image",F),ma=a("Key",T),ga=a("ListChecks",N),Ca=a("LoaderCircle",L),Sa=a("Lock",U),wa=a("LogOut",x),ya=a("Menu",M),va=a("MoreHorizontal",j),Fa=a("Pencil",O),Ta=a("Play",z),La=a("Plus",A),Ua=a("Save",P),xa=a("Search",b),Ma=a("Sparkles",B),Oa=a("Tags",Z),za=a("Target",q),Aa=a("Trash2",I),Pa=a("TriangleAlert",f),ba=a("Unlock",W),Ba=a("Upload",D),Ia=a("UserRound",H),Da=a("Users",K),Ha=a("Volume2",G),Ga=a("Wallet",V),R=o({name:"SpeakerGlyph",setup:()=>()=>e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M4 9v6h4l5 4V5L8 9H4"}),e("path",{d:"M16 9.5a4 4 0 0 1 0 5"}),e("path",{d:"M18.5 7a7.5 7.5 0 0 1 0 10"})])}),$=o({name:"SpeakerOffGlyph",setup:()=>()=>e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M4 9v6h4l5 4V5L8 9H4"}),e("path",{d:"m17 9 4 4"}),e("path",{d:"m21 9-4 4"})])}),Va=a("Speaker",R),Xa=a("SpeakerOff",$),ja=a("X",X),Wa=a("Zap",E);export{Y as A,J as B,na as C,ra as D,ga as E,pa as F,Ma as G,ea as H,ka as I,ma as K,wa as L,ya as M,Fa as P,Ua as S,Aa as T,Ia as U,Ha as V,Ga as W,ja as X,Wa as Z,ua as a,va as b,La as c,ta as d,_a as e,ia as f,fa as g,oa as h,sa as i,Ca as j,Ta as k,Sa as l,ba as m,da as n,Xa as o,Va as p,xa as q,ha as r,Ba as s,ca as t,Pa as u,la as v,aa as w,Oa as x,za as y,Da as z};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

+1
View File
@@ -0,0 +1 @@
const o="/assets/logo-CztthSFi.png";export{o as l};
Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

+1
View File
@@ -0,0 +1 @@
function n(e){return e?`${e.split("#",1)[0]}#t=0.001`:""}async function i(e){const t=URL.createObjectURL(e);try{return await new Promise(a=>{const r=document.createElement("audio");r.preload="metadata",r.onloadedmetadata=()=>a(Number.isFinite(r.duration)?Math.round(r.duration*1e3):void 0),r.onerror=()=>a(void 0),r.src=t})}finally{URL.revokeObjectURL(t)}}function o(e){const t=Number(e||0)/1e3;return!Number.isFinite(t)||t<=0?"":`${t.toFixed(1).replace(/\.0$/,"")}`}export{o as a,n as f,i as r};
@@ -0,0 +1 @@
import{C as r}from"./index-p1BAR2Hc.js";async function a(i,t){if(t.some(e=>e.model_type==="text"&&!!e.model_id))return t;const s=i.models.find(e=>e.model_type==="text");return s?(await r.saveUserModelConfig("script_analysis","text",s.id),r.userModelConfigs("script_analysis")):t}export{a as e};
@@ -0,0 +1 @@
.video-player[data-v-e46b8f8f]{position:relative;width:100%;height:100%;background:var(--web-surface-soft)}.video-player>video[data-v-e46b8f8f]{width:100%;height:100%;display:block;object-fit:contain}.video-player video[data-v-e46b8f8f]::-webkit-media-controls-picture-in-picture-button,.dialog-player video[data-v-e46b8f8f]::-webkit-media-controls-picture-in-picture-button{display:none!important}.video-controls[data-v-e46b8f8f]{position:absolute;left:0;right:0;bottom:0;height:38px;padding:0 10px;display:flex;align-items:center;gap:9px;background:var(--web-video-controls);color:var(--web-text)}.video-controls-transparent[data-v-e46b8f8f]{background:transparent;color:var(--web-text-secondary)}.video-controls-transparent .video-time[data-v-e46b8f8f],.video-controls-transparent .sound-button[data-v-e46b8f8f],.video-controls-transparent .el-icon[data-v-e46b8f8f],.video-controls-transparent .sound-button[data-v-e46b8f8f]:hover,.video-controls-transparent .el-icon[data-v-e46b8f8f]:hover{color:var(--web-text-secondary)}.video-controls input[data-v-e46b8f8f]{min-width:0;flex:1}.video-controls input[data-v-e46b8f8f]:disabled{opacity:.55;cursor:not-allowed}.video-time[data-v-e46b8f8f]{flex:0 0 auto;color:var(--web-text-secondary);font:10px Arial,sans-serif;white-space:nowrap}.video-controls .el-icon[data-v-e46b8f8f]{cursor:pointer}.sound-button[data-v-e46b8f8f],.dialog-controls button[data-v-e46b8f8f]{width:22px;height:22px;padding:0;display:grid;place-items:center;color:var(--web-media-control-text);border:0;background:none;cursor:pointer}.sound-button[data-v-e46b8f8f]:hover,.dialog-controls button[data-v-e46b8f8f]:hover{color:var(--web-media-control-text)}.dialog-player[data-v-e46b8f8f]{position:relative;width:100%;aspect-ratio:16/9;background:var(--web-video-bg)}.dialog-player.portrait[data-v-e46b8f8f]{width:min(100%,400px);margin:0 auto;aspect-ratio:9/16}.dialog-player>video[data-v-e46b8f8f]{width:100%;height:100%;display:block;object-fit:contain;background:var(--web-video-bg)}.dialog-controls[data-v-e46b8f8f]{position:absolute;left:0;right:0;bottom:0;height:42px;padding:0 10px;display:flex;align-items:center;gap:9px;background:var(--web-video-dialog-controls);color:var(--web-text)}.dialog-controls input[data-v-e46b8f8f]{min-width:0;flex:1}.dialog-controls span[data-v-e46b8f8f]{font:11px Arial,sans-serif;white-space:nowrap;color:var(--web-media-control-text)}.video-preview-dialog.el-dialog{background:var(--web-surface-soft);border:1px solid var(--web-line-strong)}.video-preview-dialog.el-dialog .el-dialog__header{border-bottom:1px solid var(--web-line-strong)}.video-preview-dialog.el-dialog .el-dialog__title,.video-preview-dialog.el-dialog .el-dialog__headerbtn .el-dialog__close{color:var(--web-text)}.video-preview-dialog.el-dialog .el-dialog__body{padding:14px;background:var(--web-surface-soft)}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{u as w,E as h,C as s,k as l,n as E}from"./index-p1BAR2Hc.js";const T=["剧本反推","剧本分析","剧本解析","角色、场景、道具解析","角色生成","场景生成","道具生成","分镜图生成","首尾帧生成","视频生成"],g=["角色生成","场景生成","道具生成","视频生成"];function C(){const p=w(),a=l([]),r=l({});async function m(t=T){try{const e=await Promise.all(t.map(n=>s.promptPresets(n))),o=new Map,i={};e.forEach((n,y)=>{(n.prompts||[]).forEach(u=>o.set(u.id,u)),n.selected_id&&(i[t[y]]=n.selected_id)}),a.value=[...o.values()],r.value=i}catch(e){a.value=[],r.value={},c(e,"加载提示词失败")}}async function d(t){try{await s.selectPrompt(t.type,t.promptId),r.value={...r.value,[t.type]:t.promptId}}catch(e){c(e,"启用提示词失败")}}async function v(t){try{const e=await s.createCustomPrompt(t);a.value=[...a.value,e],await s.selectPrompt(t.type,e.id),r.value={...r.value,[t.type]:e.id}}catch(e){c(e,"保存自定义提示词失败")}}async function f(t){try{const e=await s.updateCustomPrompt(t.id,t);a.value=a.value.map(o=>o.id===e.id?e:o)}catch(e){c(e,"保存提示词失败")}}async function P(t){try{await h.confirm("删除后不可恢复,确定删除该提示词吗?","删除提示词",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消"}),await s.deleteCustomPrompt(t.id),a.value=a.value.filter(e=>e.id!==t.id),r.value[t.type]===t.id&&(r.value={...r.value,[t.type]:""})}catch(e){e!=="cancel"&&e!=="close"&&c(e,"删除提示词失败")}}function c(t,e){const o=E(t);p.error(o.message,o.copyText,e)}return{prompts:a,promptSelections:r,loadPrompts:m,selectPrompt:d,createPrompt:v,updatePrompt:f,deletePrompt:P}}export{g as p,C as u};