@acedatacloud/nexior 3.263.0 → 3.264.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ApiCodeButton-Ci2J4gVi.js → ApiCodeButton-DkBjUHPb.js} +1 -1
- package/dist/assets/{Auth-DFQKUxVC.js → Auth-BqY0Jg1t.js} +1 -1
- package/dist/assets/{Bare-mxQvcV6J.js → Bare-DoToBzhd.js} +1 -1
- package/dist/assets/{BotPlaceholder-sRZxYWRx.js → BotPlaceholder-Ca3n8DbE.js} +1 -1
- package/dist/assets/{BottomFooter-Bg9IyOhf.js → BottomFooter-CY1W9sXS.js} +1 -1
- package/dist/assets/{Callback-tlCBPjdI.js → Callback-BJ9JwJTv.js} +1 -1
- package/dist/assets/{Console-DfOLgxW0.js → Console-DKZr0KUJ.js} +1 -1
- package/dist/assets/{Consumption-DQEaGxNN.js → Consumption-BBaQNNS9.js} +1 -1
- package/dist/assets/{Conversation-UwIS9V6k.js → Conversation-CfMeIf9m.js} +2 -2
- package/dist/assets/{CopyToClipboard-Bs47GtOf.js → CopyToClipboard-D0L4lc6w.js} +1 -1
- package/dist/assets/{Detail-COg5Mo88.js → Detail-DnscYbQb.js} +2 -2
- package/dist/assets/{Extra-BdIRSDH_.js → Extra-xpryreic.js} +1 -1
- package/dist/assets/{FilePreview-CNRK-sWK.js → FilePreview-CRFsXaXj.js} +1 -1
- package/dist/assets/{Hailuo-DdjpargW.js → Hailuo-ta7lzxug.js} +1 -1
- package/dist/assets/{History-Dvz9fOT-.js → History-jFO_2Qif.js} +1 -1
- package/dist/assets/{ImagePreview-PDsxuaEM.js → ImagePreview-4W25TI3U.js} +1 -1
- package/dist/assets/{ImageWrapper-CDIAlkrU.js → ImageWrapper-Atmtz1bd.js} +1 -1
- package/dist/assets/{Index-mBvju8ds.js → Index-B3srvBL_.js} +1 -1
- package/dist/assets/{Index-C_-a4OWV.js → Index-BHTIa46w.js} +1 -1
- package/dist/assets/{Index-k8RynWTV.js → Index-BpIjrMP2.js} +1 -1
- package/dist/assets/{Index-DxSTO87P.js → Index-Bqy9kq3o.js} +1 -1
- package/dist/assets/{Index-DZPNjWnq.js → Index-Bywoe5Zy.js} +1 -1
- package/dist/assets/{Index-DXgS3tWG.js → Index-BzX0VBB0.js} +1 -1
- package/dist/assets/{Index-BhzedR_-2.js → Index-C4vtGMYg2.js} +1 -1
- package/dist/assets/{Index-CH6dNw-q2.js → Index-C6DTH6Tc2.js} +1 -1
- package/dist/assets/Index-CMurMjC2.js +1 -0
- package/dist/assets/{Index-BGUV-2Lc.js → Index-CY7t4Ltv.js} +1 -1
- package/dist/assets/{Index-BwUb7VL0.js → Index-ChGZBPe3.js} +1 -1
- package/dist/assets/{Index-bX91QO2v.js → Index-CrTKByiw.js} +1 -1
- package/dist/assets/{Index-CAqg91ZT.js → Index-D1ZEulmq.js} +1 -1
- package/dist/assets/{Index-DH40kXig.js → Index-D2FDW3t4.js} +1 -1
- package/dist/assets/{Index-PoVEtWiM.js → Index-D9QC6Jve.js} +1 -1
- package/dist/assets/{Index-cZPx3W-e.css → Index-DOVSoFoi.css} +1 -1
- package/dist/assets/Index-DXG1dyN5.js +1 -0
- package/dist/assets/{Index-CTJQYMy32.js → Index-Dc-CR0io2.js} +1 -1
- package/dist/assets/Index-I_kzDr3E.js +1 -0
- package/dist/assets/Index-RkeGJN2X.js +1 -0
- package/dist/assets/{Index-D61qmgoS.js → Index-Y4d0RdhD.js} +1 -1
- package/dist/assets/Index-YZxcdn41.js +1 -0
- package/dist/assets/{Index-BNHvHan9.js → Index-peW0eVkM.js} +1 -1
- package/dist/assets/{Index-E2X-h6P9.js → Index-uh8OwZh6.js} +1 -1
- package/dist/assets/{Index-Bm3Le8a_.js → Index-v8TarHpk.js} +1 -1
- package/dist/assets/{Index-CwvjFQo6.js → Index-xbimp8Yf.js} +1 -1
- package/dist/assets/{Invitees-C_k9j9kQ.js → Invitees-qBxDDL2c.js} +1 -1
- package/dist/assets/{List-BoIZB2kA.js → List-5Z1D8yYt.js} +1 -1
- package/dist/assets/{List-BxnghE7L.js → List-BHAEQPIm.js} +1 -1
- package/dist/assets/{List-D9cH17mG.js → List-BvG4NsS2.js} +1 -1
- package/dist/assets/{Main-DEPt6BGn.js → Main-CT1ijeC9.js} +1 -1
- package/dist/assets/{Model-jLvxsK1v.js → Model-D3WHS5gC.js} +1 -1
- package/dist/assets/{Navigator-BWswZBDj.js → Navigator-D2zK-c2T.js} +2 -2
- package/dist/assets/{NoTasks-1pboLx_7.js → NoTasks-eKpQJSqW.js} +1 -1
- package/dist/assets/{NotFound-9J_Juc1o.js → NotFound-C9oPc8NQ.js} +1 -1
- package/dist/assets/{Pagination-DrY09vju.js → Pagination-hf1uCNH1.js} +1 -1
- package/dist/assets/{Pay-BYb8l604.js → Pay-BLOyGgpM.js} +1 -1
- package/dist/assets/{Player-BESR4toZ.js → Player-B_F2Nuqj.js} +1 -1
- package/dist/assets/{Status-B3xGPIlc.js → Status-O5IGe9zL.js} +1 -1
- package/dist/assets/{Subscribe-DQzghuHm.js → Subscribe-C0qFmpa-.js} +1 -1
- package/dist/assets/{TabSwitcher-lJxnfw37.js → TabSwitcher-C1q_IkDv.js} +1 -1
- package/dist/assets/{Tts-U5AIdmKW.js → Tts-DGRCZb7k.js} +1 -1
- package/dist/assets/{VideoPlayer-Dj315NJm.js → VideoPlayer-Dk3k3U1z.js} +1 -1
- package/dist/assets/{avatar-S5RYEKBT.js → avatar-DodJNhbp.js} +1 -1
- package/dist/assets/{basic-CdVQAPdq.js → basic-D7oIIO9w.js} +1 -1
- package/dist/assets/{chat-BP3He44Z.js → chat-CUetwiOX.js} +1 -1
- package/dist/assets/{codingBridge-BpPfMXex.js → codingBridge-2_5URPht.js} +1 -1
- package/dist/assets/{codingBridge-DZ1m7Ib2.js → codingBridge-B99V2IQj.js} +1 -1
- package/dist/assets/{codingBridge-DvfAfG2z.js → codingBridge-BMK53kCg.js} +1 -1
- package/dist/assets/codingBridge-BNb0hb-y.js +1 -0
- package/dist/assets/{codingBridge-DaZWXTe0.js → codingBridge-BNi9s9an.js} +1 -1
- package/dist/assets/{codingBridge-Ce_cNyB2.js → codingBridge-BUmT7mbn.js} +1 -1
- package/dist/assets/{codingBridge-Bw5pVQu5.js → codingBridge-C9bNsSwi.js} +1 -1
- package/dist/assets/{codingBridge-X-HNPNPq.js → codingBridge-D8eN35_T.js} +1 -1
- package/dist/assets/{codingBridge-DJti02YC.js → codingBridge-DEzNIPW7.js} +1 -1
- package/dist/assets/{codingBridge-BlOMlqCm.js → codingBridge-DFX3sSaS.js} +1 -1
- package/dist/assets/{codingBridge-CG7Ahpyt.js → codingBridge-DFdqxlxT.js} +1 -1
- package/dist/assets/{codingBridge-CJE3YvlW.js → codingBridge-DIv1Gh8V.js} +1 -1
- package/dist/assets/{codingBridge-BeypnEVa.js → codingBridge-DNNzcmzQ.js} +1 -1
- package/dist/assets/{codingBridge-BQoqPW19.js → codingBridge-DRD_kaQr.js} +1 -1
- package/dist/assets/{codingBridge-BgF03v9b.js → codingBridge-Dimc3Z3b.js} +1 -1
- package/dist/assets/{codingBridge-SIVP0RCp.js → codingBridge-Duabv7Ln.js} +1 -1
- package/dist/assets/{codingBridge-BaVCh23M.js → codingBridge-LjqHoyqX.js} +1 -1
- package/dist/assets/{codingBridge-BOfOQqi_.js → codingBridge-aIWe6Ju4.js} +1 -1
- package/dist/assets/{codingBridge-CPZ1PsZm.js → codingBridge-hOdmLosH.js} +1 -1
- package/dist/assets/{collapse-BfKDnTwV.js → collapse-BbZHIGPv.js} +1 -1
- package/dist/assets/{constants-TawJIXae.js → constants-BH6GgBVD.js} +1 -1
- package/dist/assets/{createTaskActions-RgLh2bQ6.js → createTaskActions-ZHYG7bK7.js} +1 -1
- package/dist/assets/{date-picker-BOFO6DE8.js → date-picker-nfqwx8wz.js} +1 -1
- package/dist/assets/dropdown-BVCGSz3h.js +1 -0
- package/dist/assets/dropdown-QmTmKbqR.js +1 -0
- package/dist/assets/{esm-B7g4j5Bh.js → esm-BU9a_2_3.js} +3 -3
- package/dist/assets/{esm-HeTcN2lQ.js → esm-CHDfZeHH.js} +1 -1
- package/dist/assets/{esm-DtzIW69w.js → esm-DwS7Kc-4.js} +2 -2
- package/dist/assets/{esm-JQ09L8cg.js → esm-NC5aCK_p.js} +1 -1
- package/dist/assets/{esm-FlRmgjUK.js → esm-aW4mVqSK.js} +1 -1
- package/dist/assets/{fish-D0og1ZSx.js → fish-D-M_E1ca.js} +1 -1
- package/dist/assets/{flux-DjfJ-7_D.js → flux-BEfjxtXA.js} +1 -1
- package/dist/assets/{hailuo-C7RiX1J2.js → hailuo-eMJOUuwf.js} +1 -1
- package/dist/assets/{headshots-COL6A-YN.js → headshots-DAPfHCOS.js} +1 -1
- package/dist/assets/{image-BNF3_A0F.js → image-D6w_R6Gb.js} +1 -1
- package/dist/assets/{index-CSTCoQPG.js → index-B0D_GXuA.js} +5 -5
- package/dist/assets/{index-C1ay-kqX.css → index-D5H_BFJI.css} +1 -1
- package/dist/assets/{index.browser.esm-CKAY0zkX.js → index.browser.esm-Bqu-_I5F.js} +1 -1
- package/dist/assets/{index.es-aoB3lpRt.js → index.es-CyW7EvoI.js} +1 -1
- package/dist/assets/{input-number-BevB3n59.js → input-number-DqQ2LuOV.js} +1 -1
- package/dist/assets/{kling-PRauezR-.js → kling-DY9RlbFj.js} +1 -1
- package/dist/assets/{luma-Dj1pD8x_.js → luma-Bo0bXgoy.js} +1 -1
- package/dist/assets/{midjourney-CpvJLzWF.js → midjourney-BBCUqs8o.js} +1 -1
- package/dist/assets/{nanobanana-DYP7BQY-.js → nanobanana-B_9ugpbq.js} +1 -1
- package/dist/assets/{openaiimage-DZwT8IBi.js → openaiimage-C1VvgnsT.js} +1 -1
- package/dist/assets/{pagination-DC5T6D9L.js → pagination-BGnbEU3d.js} +1 -1
- package/dist/assets/{pika-_n473US4.js → pika-C4u8wwTW.js} +1 -1
- package/dist/assets/{pixverse-CuhdADRP.js → pixverse-B6J2Q3pR.js} +1 -1
- package/dist/assets/{popover-C8FDQjpX.js → popover-CE1xHqpL.js} +1 -1
- package/dist/assets/{producer-CwAuufNK.js → producer-CNPquQZ3.js} +1 -1
- package/dist/assets/{qrart--ULqzZ-O.js → qrart-CU7K0EzI.js} +1 -1
- package/dist/assets/{row-Dlb5yb6c.js → row-CcN8nbao.js} +1 -1
- package/dist/assets/{seedance-nKY4xx5u.js → seedance-Bjd3pcmH.js} +1 -1
- package/dist/assets/{seedream-COmlUSO6.js → seedream-Dd1R_bPK.js} +1 -1
- package/dist/assets/{select-DNo1mzje.js → select-CCWm08v4.js} +1 -1
- package/dist/assets/{serp-Cc4ZAJ4g.js → serp-FSmcf0c5.js} +1 -1
- package/dist/assets/{slider-BqdPzNXH.js → slider-DVqVjO2D.js} +1 -1
- package/dist/assets/{solana-wallets-CYyWJ63y.js → solana-wallets-Dtc7qYT-.js} +2 -2
- package/dist/assets/{solana-wallets-vue-AcuhOpRh.js → solana-wallets-vue-BpvVaery.js} +1 -1
- package/dist/assets/{sora-B3dZuBod.js → sora-CXq3FuAk.js} +1 -1
- package/dist/assets/{suno-BGZRkhvn.js → suno-B7bz24MP.js} +1 -1
- package/dist/assets/{switch-Drk-LSNf.js → switch-Cd_GVBye.js} +1 -1
- package/dist/assets/{tabs-BgD2h_Ay.js → tabs-D_soGpxM.js} +1 -1
- package/dist/assets/{upload-C5oGDMOb.js → upload-DL6R-BcD.js} +1 -1
- package/dist/assets/{veo-Bnu9Dku6.js → veo-Bn1PzK1w.js} +1 -1
- package/dist/assets/{wan-BEurmrk2.js → wan-B2aoHoAe.js} +1 -1
- package/dist/assets/{web-DShYaoR0.js → web-B2pXFQF4.js} +1 -1
- package/dist/assets/{web-Cr2UR8hU.js → web-BsKwlpR_.js} +1 -1
- package/dist/assets/{web-D5g-3iu-.js → web-ByCsKuB_.js} +1 -1
- package/dist/assets/{web-DtpDa7Ha.js → web-yBTVrQ25.js} +1 -1
- package/dist/assets/webextrator-BHbJAFdp.js +1 -0
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/Index-CCNq17hB.js +0 -1
- package/dist/assets/Index-CuMzjDUD.js +0 -1
- package/dist/assets/Index-DLQQPB_R.js +0 -1
- package/dist/assets/Index-DfBX770M.js +0 -1
- package/dist/assets/Index-bOCKWn58.js +0 -1
- package/dist/assets/codingBridge-DFzFP8B8.js +0 -1
- package/dist/assets/dropdown-C3Qs-QQr.js +0 -1
- package/dist/assets/webextrator-C99E4qq1.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,j as d,k as f,lt as p,v as m,x as h,y as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./button-Diu_mJ2H.js";import{r as v,t as y}from"./select-DNo1mzje.js";import{n as b,t as x}from"./tabs-BgD2h_Ay.js";import{t as S}from"./tooltip-hII4wDEz.js";import{t as C}from"./image-BNF3_A0F.js";import{t as w}from"./alert-Cs6WDxgv.js";import{n as T,r as E}from"./radio-ClH7NqRe.js";import{n as D,t as O}from"./collapse-BfKDnTwV.js";import{t as k}from"./drawer-B42T8GMw.js";import{t as ee}from"./input-number-BevB3n59.js";import{t as te}from"./switch-Drk-LSNf.js";import"./constants-TawJIXae.js";import{E as A,Er as j,Mt as M,Nr as N,gr as P}from"./index-CSTCoQPG.js";import{t as F}from"./index.es-aoB3lpRt.js";import{t as I}from"./CopyToClipboard-Bs47GtOf.js";import{t as L}from"./Consumption-DQEaGxNN.js";var R=o({name:`LayoutWebextrator`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:F},data(){return{drawer:!1}}}),z={class:`main flex flex-row flex-1`},B={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},V={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function H(t,r,a,o,s,c){let d=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`);return l(),f(`div`,z,[n(`div`,B,[e(t.$slots,`config`,{},void 0,!0)]),n(`div`,V,[e(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,onClick:r[0]||=e=>t.drawer=!0},{default:p(()=>[i(d,{icon:`fa-solid fa-sliders`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":r[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var U=A(R,[[`render`,H],[`__scopeId`,`data-v-f9e97e78`]]),W=o({name:`ModeSelector`,components:{ElRadioGroup:E,ElRadioButton:T,FontAwesomeIcon:F},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),G={class:`field`},K={class:`title font-bold`};function q(e,t,a,o,s,d){let m=u(`font-awesome-icon`),h=u(`el-radio-button`),g=u(`el-radio-group`);return l(),f(`div`,G,[n(`h2`,K,c(e.$t(`webextrator.name.mode`)),1),i(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value w-full`},{default:p(()=>[i(h,{label:`extract`,value:`extract`},{default:p(()=>[i(m,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),r(` `+c(e.$t(`webextrator.mode.extract`)),1)]),_:1}),i(h,{label:`render`,value:`render`},{default:p(()=>[i(m,{icon:`fa-solid fa-globe`,class:`mr-1`}),r(` `+c(e.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var J=A(W,[[`render`,q],[`__scopeId`,`data-v-31e6c11d`]]),Y=o({name:`UrlInput`,components:{ElInput:N},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),X={class:`field`},Z={class:`title font-bold`};function Q(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,X,[n(`h2`,Z,c(e.$t(`webextrator.name.url`)),1),i(d,{modelValue:e.url,"onUpdate:modelValue":t[0]||=t=>e.url=t,type:`textarea`,rows:2,class:`prompt`,placeholder:e.$t(`webextrator.placeholder.url`),onKeydown:m(g(e.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var ne=A(Y,[[`render`,Q],[`__scopeId`,`data-v-18488009`]]),re=o({name:`ExpectedTypeSelector`,components:{ElSelect:v,ElOption:y},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,r,a,o,s){let d=u(`el-option`),m=u(`el-select`);return l(),f(`div`,ie,[n(`h2`,ae,c(e.$t(`webextrator.name.expectedType`)),1),i(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},{default:p(()=>[i(d,{value:`general`,label:e.$t(`webextrator.expectedType.general`)},null,8,[`label`]),i(d,{value:`article`,label:e.$t(`webextrator.expectedType.article`)},null,8,[`label`]),i(d,{value:`product`,label:e.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var se=A(re,[[`render`,oe],[`__scopeId`,`data-v-3b572c49`]]),ce=o({name:`LlmToggle`,components:{ElSwitch:te,ElTooltip:S,FontAwesomeIcon:F},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),le={class:`field`},ue={class:`title font-bold`};function de(e,t,a,o,s,d){let m=u(`font-awesome-icon`),h=u(`el-tooltip`),g=u(`el-switch`);return l(),f(`div`,le,[n(`h2`,ue,[r(c(e.$t(`webextrator.name.enableLlm`))+` `,1),i(h,{effect:`dark`,content:e.$t(`webextrator.description.enableLlm`),placement:`top`},{default:p(()=>[i(m,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),i(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var fe=A(ce,[[`render`,de],[`__scopeId`,`data-v-32fa7c89`]]),pe=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],me=o({name:`AdvancedOptions`,components:{ElCollapse:O,ElCollapseItem:D,ElInput:N,ElInputNumber:ee,ElSelect:v,ElOption:y},data(){return{active:[]}},computed:{resourceKinds(){return pe},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),he={class:`field`},ge={class:`sub-title`},_e={class:`field`},ve={class:`sub-title`},ye={class:`field`},be={class:`sub-title`},xe={class:`field`},Se={class:`sub-title`},Ce={class:`field`},we={class:`sub-title`};function Te(e,r,a,o,d,m){let g=u(`el-option`),_=u(`el-select`),v=u(`el-input`),y=u(`el-input-number`),b=u(`el-collapse-item`),x=u(`el-collapse`);return l(),t(x,{modelValue:e.active,"onUpdate:modelValue":r[5]||=t=>e.active=t,class:`advanced`},{default:p(()=>[i(b,{title:e.$t(`webextrator.name.advanced`),name:`advanced`},{default:p(()=>[n(`div`,he,[n(`h2`,ge,c(e.$t(`webextrator.name.waitUntil`)),1),i(_,{modelValue:e.waitUntil,"onUpdate:modelValue":r[0]||=t=>e.waitUntil=t,class:`value`},{default:p(()=>[i(g,{value:`networkidle`,label:e.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),i(g,{value:`load`,label:e.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),i(g,{value:`domcontentloaded`,label:e.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),i(g,{value:`commit`,label:e.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),n(`div`,_e,[n(`h2`,ve,c(e.$t(`webextrator.name.waitForSelector`)),1),i(v,{modelValue:e.waitForSelector,"onUpdate:modelValue":r[1]||=t=>e.waitForSelector=t,placeholder:e.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),n(`div`,ye,[n(`h2`,be,c(e.$t(`webextrator.name.timeout`)),1),i(y,{modelValue:e.timeout,"onUpdate:modelValue":r[2]||=t=>e.timeout=t,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,xe,[n(`h2`,Se,c(e.$t(`webextrator.name.delay`)),1),i(y,{modelValue:e.delay,"onUpdate:modelValue":r[3]||=t=>e.delay=t,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,Ce,[n(`h2`,we,c(e.$t(`webextrator.name.blockResources`)),1),i(_,{modelValue:e.blockResources,"onUpdate:modelValue":r[4]||=t=>e.blockResources=t,multiple:``,"collapse-tags":``,placeholder:e.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:p(()=>[(l(!0),f(h,null,s(e.resourceKinds,n=>(l(),t(g,{key:n,label:e.$t(`webextrator.blockResource.${n}`),value:n},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var Ee=o({name:`WebextratorConfigPanel`,components:{ElButton:_,FontAwesomeIcon:F,ModeSelector:J,UrlInput:ne,ExpectedTypeSelector:se,LlmToggle:fe,AdvancedOptions:A(me,[[`render`,Te],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:L},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return M(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===P.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),De={class:`flex flex-col h-full`},Oe={class:`flex-1 overflow-y-auto p-5`},ke={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ae(e,t,o,s,d,m){let g=u(`mode-selector`),_=u(`url-input`),v=u(`expected-type-selector`),y=u(`llm-toggle`),b=u(`advanced-options`),x=u(`consumption`),S=u(`font-awesome-icon`),C=u(`el-button`);return l(),f(`div`,De,[n(`div`,Oe,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`,onSubmit:e.onRun},null,8,[`onSubmit`]),e.isExtract?(l(),f(h,{key:0},[i(v,{class:`mb-4`}),i(y,{class:`mb-4`})],64)):a(``,!0),i(b,{class:`mb-4`})]),n(`div`,ke,[i(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),i(C,{type:`primary`,class:`w-full`,round:``,loading:e.running,disabled:!e.canRun,onClick:e.onRun},{default:p(()=>[i(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),r(` `+c(e.$t(e.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var je=A(Ee,[[`render`,Ae]]),Me=e=>!!e&&e.kind!==`render`,Ne=o({name:`WebextratorResultPanel`,components:{ElAlert:w,ElImage:C,ElTabs:b,ElTabPane:x,FontAwesomeIcon:F,CopyToClipboard:I},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===P.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Me(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,j as d,k as f,lt as p,v as m,x as h,y as g}from"./vendor-chart-Df3WBvr0.js";import{t as _}from"./button-Diu_mJ2H.js";import{r as v,t as y}from"./select-CCWm08v4.js";import{n as b,t as x}from"./tabs-D_soGpxM.js";import{t as S}from"./tooltip-hII4wDEz.js";import{t as C}from"./image-D6w_R6Gb.js";import{t as w}from"./alert-Cs6WDxgv.js";import{n as T,r as E}from"./radio-ClH7NqRe.js";import{n as D,t as O}from"./collapse-BbZHIGPv.js";import{t as k}from"./drawer-B42T8GMw.js";import{t as ee}from"./input-number-DqQ2LuOV.js";import{t as te}from"./switch-Cd_GVBye.js";import"./constants-BH6GgBVD.js";import{E as A,Er as j,Mt as M,Nr as N,gr as P}from"./index-B0D_GXuA.js";import{t as F}from"./index.es-CyW7EvoI.js";import{t as I}from"./CopyToClipboard-D0L4lc6w.js";import{t as L}from"./Consumption-BBaQNNS9.js";var R=o({name:`LayoutWebextrator`,components:{ElDrawer:k,ElButton:_,FontAwesomeIcon:F},data(){return{drawer:!1}}}),z={class:`main flex flex-row flex-1`},B={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},V={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function H(t,r,a,o,s,c){let d=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`);return l(),f(`div`,z,[n(`div`,B,[e(t.$slots,`config`,{},void 0,!0)]),n(`div`,V,[e(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,onClick:r[0]||=e=>t.drawer=!0},{default:p(()=>[i(d,{icon:`fa-solid fa-sliders`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":r[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var U=A(R,[[`render`,H],[`__scopeId`,`data-v-f9e97e78`]]),W=o({name:`ModeSelector`,components:{ElRadioGroup:E,ElRadioButton:T,FontAwesomeIcon:F},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),G={class:`field`},K={class:`title font-bold`};function q(e,t,a,o,s,d){let m=u(`font-awesome-icon`),h=u(`el-radio-button`),g=u(`el-radio-group`);return l(),f(`div`,G,[n(`h2`,K,c(e.$t(`webextrator.name.mode`)),1),i(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value w-full`},{default:p(()=>[i(h,{label:`extract`,value:`extract`},{default:p(()=>[i(m,{icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`}),r(` `+c(e.$t(`webextrator.mode.extract`)),1)]),_:1}),i(h,{label:`render`,value:`render`},{default:p(()=>[i(m,{icon:`fa-solid fa-globe`,class:`mr-1`}),r(` `+c(e.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var J=A(W,[[`render`,q],[`__scopeId`,`data-v-31e6c11d`]]),Y=o({name:`UrlInput`,components:{ElInput:N},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),X={class:`field`},Z={class:`title font-bold`};function Q(e,t,r,a,o,s){let d=u(`el-input`);return l(),f(`div`,X,[n(`h2`,Z,c(e.$t(`webextrator.name.url`)),1),i(d,{modelValue:e.url,"onUpdate:modelValue":t[0]||=t=>e.url=t,type:`textarea`,rows:2,class:`prompt`,placeholder:e.$t(`webextrator.placeholder.url`),onKeydown:m(g(e.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var ne=A(Y,[[`render`,Q],[`__scopeId`,`data-v-18488009`]]),re=o({name:`ExpectedTypeSelector`,components:{ElSelect:v,ElOption:y},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,r,a,o,s){let d=u(`el-option`),m=u(`el-select`);return l(),f(`div`,ie,[n(`h2`,ae,c(e.$t(`webextrator.name.expectedType`)),1),i(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},{default:p(()=>[i(d,{value:`general`,label:e.$t(`webextrator.expectedType.general`)},null,8,[`label`]),i(d,{value:`article`,label:e.$t(`webextrator.expectedType.article`)},null,8,[`label`]),i(d,{value:`product`,label:e.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var se=A(re,[[`render`,oe],[`__scopeId`,`data-v-3b572c49`]]),ce=o({name:`LlmToggle`,components:{ElSwitch:te,ElTooltip:S,FontAwesomeIcon:F},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),le={class:`field`},ue={class:`title font-bold`};function de(e,t,a,o,s,d){let m=u(`font-awesome-icon`),h=u(`el-tooltip`),g=u(`el-switch`);return l(),f(`div`,le,[n(`h2`,ue,[r(c(e.$t(`webextrator.name.enableLlm`))+` `,1),i(h,{effect:`dark`,content:e.$t(`webextrator.description.enableLlm`),placement:`top`},{default:p(()=>[i(m,{icon:`fa-solid fa-circle-info`,class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`})]),_:1},8,[`content`])]),i(g,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var fe=A(ce,[[`render`,de],[`__scopeId`,`data-v-32fa7c89`]]),pe=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],me=o({name:`AdvancedOptions`,components:{ElCollapse:O,ElCollapseItem:D,ElInput:N,ElInputNumber:ee,ElSelect:v,ElOption:y},data(){return{active:[]}},computed:{resourceKinds(){return pe},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),he={class:`field`},ge={class:`sub-title`},_e={class:`field`},ve={class:`sub-title`},ye={class:`field`},be={class:`sub-title`},xe={class:`field`},Se={class:`sub-title`},Ce={class:`field`},we={class:`sub-title`};function Te(e,r,a,o,d,m){let g=u(`el-option`),_=u(`el-select`),v=u(`el-input`),y=u(`el-input-number`),b=u(`el-collapse-item`),x=u(`el-collapse`);return l(),t(x,{modelValue:e.active,"onUpdate:modelValue":r[5]||=t=>e.active=t,class:`advanced`},{default:p(()=>[i(b,{title:e.$t(`webextrator.name.advanced`),name:`advanced`},{default:p(()=>[n(`div`,he,[n(`h2`,ge,c(e.$t(`webextrator.name.waitUntil`)),1),i(_,{modelValue:e.waitUntil,"onUpdate:modelValue":r[0]||=t=>e.waitUntil=t,class:`value`},{default:p(()=>[i(g,{value:`networkidle`,label:e.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),i(g,{value:`load`,label:e.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),i(g,{value:`domcontentloaded`,label:e.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),i(g,{value:`commit`,label:e.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),n(`div`,_e,[n(`h2`,ve,c(e.$t(`webextrator.name.waitForSelector`)),1),i(v,{modelValue:e.waitForSelector,"onUpdate:modelValue":r[1]||=t=>e.waitForSelector=t,placeholder:e.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),n(`div`,ye,[n(`h2`,be,c(e.$t(`webextrator.name.timeout`)),1),i(y,{modelValue:e.timeout,"onUpdate:modelValue":r[2]||=t=>e.timeout=t,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,xe,[n(`h2`,Se,c(e.$t(`webextrator.name.delay`)),1),i(y,{modelValue:e.delay,"onUpdate:modelValue":r[3]||=t=>e.delay=t,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),n(`div`,Ce,[n(`h2`,we,c(e.$t(`webextrator.name.blockResources`)),1),i(_,{modelValue:e.blockResources,"onUpdate:modelValue":r[4]||=t=>e.blockResources=t,multiple:``,"collapse-tags":``,placeholder:e.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:p(()=>[(l(!0),f(h,null,s(e.resourceKinds,n=>(l(),t(g,{key:n,label:e.$t(`webextrator.blockResource.${n}`),value:n},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var Ee=o({name:`WebextratorConfigPanel`,components:{ElButton:_,FontAwesomeIcon:F,ModeSelector:J,UrlInput:ne,ExpectedTypeSelector:se,LlmToggle:fe,AdvancedOptions:A(me,[[`render`,Te],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:L},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return M(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===P.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),De={class:`flex flex-col h-full`},Oe={class:`flex-1 overflow-y-auto p-5`},ke={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ae(e,t,o,s,d,m){let g=u(`mode-selector`),_=u(`url-input`),v=u(`expected-type-selector`),y=u(`llm-toggle`),b=u(`advanced-options`),x=u(`consumption`),S=u(`font-awesome-icon`),C=u(`el-button`);return l(),f(`div`,De,[n(`div`,Oe,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`,onSubmit:e.onRun},null,8,[`onSubmit`]),e.isExtract?(l(),f(h,{key:0},[i(v,{class:`mb-4`}),i(y,{class:`mb-4`})],64)):a(``,!0),i(b,{class:`mb-4`})]),n(`div`,ke,[i(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),i(C,{type:`primary`,class:`w-full`,round:``,loading:e.running,disabled:!e.canRun,onClick:e.onRun},{default:p(()=>[i(S,{icon:`fa-solid fa-bolt`,class:`mr-2`}),r(` `+c(e.$t(e.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var je=A(Ee,[[`render`,Ae]]),Me=e=>!!e&&e.kind!==`render`,Ne=o({name:`WebextratorResultPanel`,components:{ElAlert:w,ElImage:C,ElTabs:b,ElTabPane:x,FontAwesomeIcon:F,CopyToClipboard:I},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===P.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Me(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
2
|
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Pe={class:`h-full overflow-y-auto p-6`},Fe={key:0,class:`max-w-4xl mx-auto py-4`},Ie={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Le={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Re={class:`text-base mb-1`},ze={class:`text-xs opacity-70`},Be={key:2,class:`max-w-4xl mx-auto py-4`},Ve={class:`text-xs whitespace-pre-wrap break-words`},He={key:3,class:`max-w-4xl mx-auto`},Ue={class:`mb-4`},We={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},Ge={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},Ke=[`href`],qe={key:1},Je={key:2},Ye={key:3},Xe={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},Ze={key:0,class:`mb-5`},Qe={class:`tab-toolbar`},$e={class:`content-block`},et={class:`tab-toolbar`},tt={class:`content-block`},$={class:`tab-toolbar`},nt={class:`content-block code`},rt={class:`tab-toolbar`},it={class:`links-list`},at=[`href`],ot={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},st={class:`tab-toolbar`},ct={class:`content-block code`},lt={class:`tab-toolbar`},ut={class:`content-block code`};function dt(e,o,m,g,_,v){let y=u(`font-awesome-icon`),b=u(`el-alert`),x=u(`el-image`),S=u(`copy-to-clipboard`),C=u(`el-tab-pane`),w=u(`el-tabs`);return l(),f(`div`,Pe,[e.running?(l(),f(`div`,Fe,[n(`div`,Ie,[i(y,{icon:`fa-solid fa-circle-notch`,spin:``}),n(`span`,null,c(e.$t(`webextrator.message.running`)),1)]),o[1]||=d(`<div class="mb-6 animate-pulse" data-v-b05b4db0><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-b05b4db0></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-b05b4db0></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-b05b4db0></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-b05b4db0></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-b05b4db0></div></div>`,1)])):!e.response&&!e.errorMessage?(l(),f(`div`,Le,[i(y,{icon:`fa-solid fa-globe`,class:`text-6xl mb-4 opacity-30`}),n(`p`,Re,c(e.$t(`webextrator.description.intro`)),1),n(`p`,ze,c(e.$t(`webextrator.description.introHint`)),1)])):e.errorMessage?(l(),f(`div`,Be,[i(b,{type:`error`,closable:!1,"show-icon":``,title:e.$t(`webextrator.message.failed`)},{default:p(()=>[n(`pre`,Ve,c(e.errorMessage),1)]),_:1},8,[`title`])])):e.data?(l(),f(`div`,He,[n(`header`,Ue,[n(`h1`,We,c(e.data.title||e.$t(`webextrator.message.untitled`)),1),n(`div`,Ge,[e.finalUrl?(l(),f(`a`,{key:0,href:e.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[i(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),r(c(e.finalUrl),1)],8,Ke)):a(``,!0),e.renderData?.status?(l(),f(`span`,qe,[i(y,{icon:`fa-solid fa-signal`,class:`mr-1`}),r(c(e.renderData.status),1)])):a(``,!0),e.response?.elapsed?(l(),f(`span`,Je,[i(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(c(e.response.elapsed.toFixed(2))+`s `,1)])):a(``,!0),e.contentTypeLabel?(l(),f(`span`,Ye,[i(y,{icon:`fa-solid fa-tag`,class:`mr-1`}),r(c(e.contentTypeLabel),1)])):a(``,!0)]),e.extractData?.description?(l(),f(`p`,Xe,c(e.extractData.description),1)):a(``,!0)]),e.screenshotSrc?(l(),f(`figure`,Ze,[i(x,{src:e.screenshotSrc,fit:`contain`,"preview-src-list":[e.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):a(``,!0),i(w,{modelValue:e.activeTab,"onUpdate:modelValue":o[0]||=t=>e.activeTab=t,class:`result-tabs`},{default:p(()=>[e.markdown?(l(),t(C,{key:0,label:e.$t(`webextrator.tab.markdown`),name:`markdown`},{default:p(()=>[n(`div`,Qe,[i(S,{content:e.markdown},null,8,[`content`])]),n(`pre`,$e,c(e.markdown),1)]),_:1},8,[`label`])):a(``,!0),e.plainText?(l(),t(C,{key:1,label:e.$t(`webextrator.tab.text`),name:`text`},{default:p(()=>[n(`div`,et,[i(S,{content:e.plainText},null,8,[`content`])]),n(`pre`,tt,c(e.plainText),1)]),_:1},8,[`label`])):a(``,!0),e.extractData?.structured?(l(),t(C,{key:2,label:e.$t(`webextrator.tab.structured`),name:`structured`},{default:p(()=>[n(`div`,$,[i(S,{content:e.structuredPretty},null,8,[`content`])]),n(`pre`,nt,c(e.structuredPretty),1)]),_:1},8,[`label`])):a(``,!0),e.links.length?(l(),t(C,{key:3,label:`${e.$t(`webextrator.tab.links`)} (${e.links.length})`,name:`links`},{default:p(()=>[n(`div`,rt,[i(S,{content:e.linksPlain},null,8,[`content`])]),n(`ul`,it,[(l(!0),f(h,null,s(e.links,(e,t)=>(l(),f(`li`,{key:t,class:`truncate`},[n(`a`,{href:e,target:`_blank`,rel:`noopener`},c(e),9,at)]))),128))])]),_:1},8,[`label`])):a(``,!0),e.images.length?(l(),t(C,{key:4,label:`${e.$t(`webextrator.tab.images`)} (${e.images.length})`,name:`images`},{default:p(()=>[n(`div`,ot,[(l(!0),f(h,null,s(e.images,(n,r)=>(l(),t(x,{key:r,src:n,fit:`cover`,loading:`lazy`,"preview-src-list":e.images,"initial-index":r,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):a(``,!0),e.html?(l(),t(C,{key:5,label:e.$t(`webextrator.tab.html`),name:`html`},{default:p(()=>[n(`div`,st,[i(S,{content:e.html},null,8,[`content`])]),n(`pre`,ct,c(e.html),1)]),_:1},8,[`label`])):a(``,!0),i(C,{label:e.$t(`webextrator.tab.raw`),name:`raw`},{default:p(()=>[n(`div`,lt,[i(S,{content:e.rawPretty},null,8,[`content`])]),n(`pre`,ut,c(e.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):a(``,!0)])}var ft=o({name:`WebextratorIndex`,components:{Layout:U,ConfigPanel:je,ResultPanel:A(Ne,[[`render`,dt],[`__scopeId`,`data-v-b05b4db0`]])},inject:[`initialized`],async mounted(){await this.$store.dispatch(`webextrator/getService`)},methods:{async onRun(){let e=this.$store.state.webextrator?.config;if(!e?.url)return;let t=(e.mode||`extract`)===`extract`;j.info(this.$t(t?`webextrator.message.extracting`:`webextrator.message.rendering`));try{await this.$store.dispatch(`webextrator/run`),j.success(this.$t(`webextrator.message.success`))}catch(e){let t=e?.response?.data?.error?.code||e?.response?.data?.code;t===`used_up`?j.error(this.$t(`webextrator.message.usedUp`)):t===`too_many_requests`?j.error(this.$t(`webextrator.message.busy`)):t===`timeout`?j.error(this.$t(`webextrator.message.timeout`)):j.error(this.$t(`webextrator.message.failed`))}}}});function pt(e,n,r,a,o,s){let c=u(`config-panel`),d=u(`result-panel`),f=u(`layout`);return l(),t(f,null,{config:p(()=>[i(c,{onRun:e.onRun},null,8,[`onRun`])]),result:p(()=>[i(d)]),_:1})}var mt=A(ft,[[`render`,pt]]);export{mt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{n as _,r as v,t as y}from"./select-DNo1mzje.js";import{t as b}from"./upload-C5oGDMOb.js";import{t as x}from"./tooltip-hII4wDEz.js";import{t as S}from"./image-BNF3_A0F.js";import{t as C}from"./alert-Cs6WDxgv.js";import{t as w}from"./drawer-B42T8GMw.js";import{t as T}from"./input-number-BevB3n59.js";import{t as E}from"./switch-Drk-LSNf.js";import{At as D,Ft as O,Gr as k,Ht as A,It as j,Lt as M,Nt as N,Pt as P,Rt as ee,Vt as te,jt as F,zt as I}from"./constants-TawJIXae.js";import{At as L,Dt as ne,E as R,Er as z,Mt as re,Nn as B,Ot as V,Tr as H,Zt as U,gr as W,kt as G,yr as K}from"./index-CSTCoQPG.js";import{t as q}from"./index.es-aoB3lpRt.js";import{t as J}from"./CopyToClipboard-Bs47GtOf.js";import{t as Y}from"./ImagePreview-PDsxuaEM.js";import{t as X}from"./BotPlaceholder-sRZxYWRx.js";import{i as Z,n as ie,t as ae}from"./pagination-DC5T6D9L.js";import{n as oe,t as se}from"./NoTasks-1pboLx_7.js";import{t as ce}from"./Consumption-DQEaGxNN.js";import{t as le}from"./ApiCodeButton-Ci2J4gVi.js";import{t as ue}from"./ImageWrapper-CDIAlkrU.js";var de=s({name:`LayoutSeedream`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:q},data(){return{drawer:!1}}}),fe={class:`main flex flex-row flex-1`},pe={class:`config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},me={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function he(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,fe,[r(`div`,pe,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,me,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ge=R(de,[[`render`,he],[`__scopeId`,`data-v-f2a6eb9e`]]),_e=s({name:`SeedreamPromptInput`,components:{PromptTextarea:oe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ve(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ye=R(_e,[[`render`,ve]]),be={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case j:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case O:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case P:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case N:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:F[N],outputFormat:!1,tools:!1};case M:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:F[M],outputFormat:!1,tools:!1};default:return be}}var xe=[`1K`,`2K`,`3K`,`4K`];function Se(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(xe.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Ce(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var we=s({name:`SeedreamImageInput`,components:{ElUpload:b,ElButton:g,InfoIcon:Z,ImagePreview:Y,FontAwesomeIcon:q},mixins:[L,V],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){z.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){z.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Te={key:0},Ee={class:`field`},De={class:`label`},Oe={class:`box`},ke={class:`title font-bold`},Ae={class:`value`},je={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Me(e,t,s,h,g,_){let v=d(`info-icon`),y=d(`font-awesome-icon`),b=d(`el-button`),x=d(`el-upload`),S=d(`image-preview`);return e.supported?(u(),f(`div`,Te,[r(`div`,Ee,[r(`div`,De,[r(`div`,Oe,[r(`h2`,ke,l(e.$t(`seedream.name.imageUrls`)),1),a(v,{content:e.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),r(`div`,Ae,[a(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),r(`div`,je,[(u(!0),f(m,null,c(e.fileList,(t,r)=>(u(),n(S,{key:t.uid||t?.response?.file_url||t.url||r,url:t.url||t?.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemovePreview(r,t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Ne=R(we,[[`render`,Me],[`__scopeId`,`data-v-6ef4c2e4`]]),Pe=s({name:`SeedreamModelSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{revertKey:0,options:[{value:j,label:this.$t(`seedream.model.seedream50`)},{value:O,label:this.$t(`seedream.model.seedream45`)},{value:P,label:this.$t(`seedream.model.seedream40`)},{value:N,label:this.$t(`seedream.model.seedream30t2i`)},{value:M,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(D)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Se(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await H.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Ce({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),z.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),Fe={class:`field`},Ie={class:`label`},Le={class:`box`},Re={class:`title font-bold`};function ze(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,Fe,[r(`div`,Ie,[r(`div`,Le,[r(`h2`,Re,l(e.$t(`seedream.name.model`)),1),a(g,{content:e.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(u(),n(v,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`seedream.placeholder.select`),onChange:e.onChange},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Be=R(Pe,[[`render`,ze],[`__scopeId`,`data-v-8892a12c`]]),Ve=s({name:`SeedreamSizeSelector`,components:{ElSelect:v,ElOption:y,ElOptionGroup:_,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:te,pixelOptions:I}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),He={class:`field`},Ue={class:`label`},We={class:`box`},Ge={class:`title font-bold`};function Ke(e,t,i,s,h,g){let _=d(`info-icon`),v=d(`el-option`),y=d(`el-option-group`),b=d(`el-select`);return u(),f(`div`,He,[r(`div`,Ue,[r(`div`,We,[r(`h2`,Ge,l(e.$t(`seedream.name.size`)),1),a(_,{content:e.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:p(()=>[e.capabilities.sizeTiers.length?(u(),n(y,{key:0,label:e.$t(`seedream.size.group.tier`)},{default:p(()=>[(u(!0),f(m,null,c(e.capabilities.sizeTiers,e=>(u(),n(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):o(``,!0),e.capabilities.sizeAdaptive?(u(),n(y,{key:1,label:e.$t(`seedream.size.group.adaptive`)},{default:p(()=>[(u(),n(v,{key:e.SEEDREAM_SIZE_ADAPTIVE,label:e.$t(`seedream.size.adaptive`),value:e.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):o(``,!0),a(y,{label:e.$t(`seedream.size.group.pixel`)},{default:p(()=>[(u(!0),f(m,null,c(e.pixelOptions,e=>(u(),n(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var qe=R(Ve,[[`render`,Ke],[`__scopeId`,`data-v-dd7bd021`]]),Je=s({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),Ye={key:0,class:`field`},Xe={class:`label`},Ze={class:`box`},Qe={class:`title font-bold`},$e={class:`value`};function et(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,Ye,[r(`div`,Xe,[r(`div`,Ze,[r(`h2`,Qe,l(e.$t(`seedream.name.maxImages`)),1),a(p,{content:e.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),r(`div`,$e,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1,max:e.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):o(``,!0)}var tt=R(Je,[[`render`,et],[`__scopeId`,`data-v-f079fd20`]]),nt=s({name:`SeedreamOutputFormatSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{options:[...ee]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),rt={key:0,class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(e,t,i,s,h,g){let _=d(`info-icon`),v=d(`el-option`),y=d(`el-select`);return e.supported?(u(),f(`div`,rt,[r(`div`,it,[r(`div`,at,[r(`h2`,ot,l(e.$t(`seedream.name.outputFormat`)),1),a(_,{content:e.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),a(y,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedream.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):o(``,!0)}var ct=R(nt,[[`render`,st],[`__scopeId`,`data-v-69ea4c07`]]),lt=s({name:`SeedreamSeedInput`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),ut={key:0,class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`},mt={class:`value`};function ht(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,ut,[r(`div`,dt,[r(`div`,ft,[r(`h2`,pt,l(e.$t(`seedream.name.seed`)),1),a(p,{content:e.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),r(`div`,mt,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var gt=R(lt,[[`render`,ht],[`__scopeId`,`data-v-10cdc1e0`]]),_t=s({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),vt={key:0,class:`field`},yt={class:`label`},bt={class:`box`},xt={class:`title font-bold`},St={class:`value`};function Ct(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,vt,[r(`div`,yt,[r(`div`,bt,[r(`h2`,xt,l(e.$t(`seedream.name.guidanceScale`)),1),a(p,{content:e.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),r(`div`,St,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var wt=R(_t,[[`render`,Ct],[`__scopeId`,`data-v-7386f064`]]),Tt=s({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:E,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),Et={class:`field`},Dt={class:`label`},Ot={class:`box`},kt={class:`title font-bold`},At={class:`value`};function jt(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,Et,[r(`div`,Dt,[r(`div`,Ot,[r(`h2`,kt,l(e.$t(`seedream.name.watermark`)),1),a(c,{content:e.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),r(`div`,At,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var Mt=s({name:`SeedreamConfigPanel`,components:{ElButton:g,FontAwesomeIcon:q,PromptInput:ye,Consumption:ce,ImageInput:Ne,ModelSelector:Be,SizeSelector:qe,MaxImagesSelector:tt,OutputFormatSelector:ct,SeedInput:gt,GuidanceScaleInput:wt,WatermarkSwitch:R(Tt,[[`render`,jt],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return re({...e,action:t?`edit`:`generate`,model:A(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Nt={class:`flex flex-col h-full`},Pt={class:`flex-1 overflow-y-auto p-5`},Ft={class:`flex flex-col items-center justify-center px-5 pb-5`};function It(e,t,n,o,s,c){let m=d(`model-selector`),h=d(`size-selector`),g=d(`max-images-selector`),_=d(`output-format-selector`),v=d(`seed-input`),y=d(`guidance-scale-input`),b=d(`watermark-switch`),x=d(`prompt-input`),S=d(`image-input`),C=d(`consumption`),w=d(`font-awesome-icon`),T=d(`el-button`);return u(),f(`div`,Nt,[r(`div`,Pt,[a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`})]),r(`div`,Ft,[a(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Lt=R(Mt,[[`render`,It]]),Rt=s({name:`SeedreamTaskPreview`,components:{ElImage:S,CopyToClipboard:J,FontAwesomeIcon:q,ElAlert:C,ImageWrapper:ue,ElButton:g,ElTooltip:x,ImagePreview:Y,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return A(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),zt={class:`preview`},Bt={class:`left`},Vt={class:`main`},Ht={class:`bot`},Ut={class:`datetime`},Wt={class:`info`},Gt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Kt={key:1,class:`prompt mt-2`},qt={key:0},Jt={key:0,class:t({content:!0})},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xt={key:1,class:t({content:!0,failed:!0})},Zt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Qt={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:2,class:t({content:!0})},sn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pn={key:3,class:t({content:!0})},mn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function gn(e,t,s,g,_,v){let y=d(`el-image`),b=d(`image-preview`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`),w=d(`image-wrapper`),T=d(`el-button`),E=d(`el-tooltip`),D=d(`api-code-button`);return u(),f(`div`,zt,[r(`div`,Bt,[a(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),r(`div`,Vt,[r(`div`,Ht,[i(l(e.$t(`seedream.name.seedreamBot`))+` `,1),r(`span`,Ut,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Wt,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(u(),f(`div`,Gt,[(u(!0),f(m,null,c(e.modelValue?.request?.image,(e,t)=>(u(),n(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),e.modelValue?.request?.prompt?(u(),f(`p`,Kt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,qt,` - (`+l(e.$t(`seedream.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(u(),f(`div`,Xt,[r(`div`,Zt,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),r(`div`,Qt,[a(E,{class:`box-item`,effect:`dark`,content:e.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onEdit(e.images?.[0]?.image_url),[`stop`])},{default:p(()=>[i(l(e.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(D,{path:`/seedream/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,$t,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.model`))+`: `+l(e.shortModel(e.modelValue?.request?.model)),1)])):o(``,!0),e.modelValue?.request?.size?(u(),f(`p`,en,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.size`))+`: `+l(e.modelValue?.request?.size),1)])):o(``,!0),r(`p`,tn,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.task`))+`: `+l(e.isEdit?e.$t(`seedream.name.edits`):e.$t(`seedream.name.generate`)),1)]),r(`p`,nn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,rn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,an,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):e.modelValue?.response?.success===!1?(u(),f(`div`,on,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,sn,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.model`))+`: `+l(e.shortModel(e.modelValue?.request?.model)),1)])):o(``,!0),e.modelValue?.request?.size?(u(),f(`p`,cn,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.size`))+`: `+l(e.modelValue?.request?.size),1)])):o(``,!0),r(`p`,$,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.task`))+`: `+l(e.isEdit?e.$t(`seedream.name.edits`):e.$t(`seedream.name.generate`)),1)]),r(`p`,ln,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.response?.error?.message?(u(),f(`p`,un,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),e.modelValue?.elapsed?(u(),f(`p`,dn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,fn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,pn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.status`)),1)]),default:p(()=>[r(`p`,mn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.response?.trace_id?(u(),f(`p`,hn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,Jt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.status.pending`)),1)]),default:p(()=>[r(`p`,Yt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var _n=s({name:`SeedreamRecentPanel`,components:{TaskPreview:R(Rt,[[`render`,gn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:X,NoTasks:se,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),vn={key:0},yn={key:2,class:`w-full h-full flex items-center justify-center`};function bn(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,vn,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,yn,[a(v)])):o(``,!0)],64)}var xn=R(_n,[[`render`,bn]]),Sn=k(`seedream`),Cn=s({name:`SeedreamIndex`,components:{ConfigPanel:Lt,Layout:ge,RecentPanel:xn},mixins:[G],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===W.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,callback_url:Sn},n=this.credential?.token;if(!n){console.error(`no token specified`);return}z.info(this.$t(`seedream.message.startingTask`)),B(`seedream`,U.generate(t,{token:n})).then(()=>{z.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?z.error(this.$t(`seedream.message.usedUp`)):z.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wn(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Tn=R(Cn,[[`render`,wn]]);export{Tn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-Diu_mJ2H.js";import{n as _,r as v,t as y}from"./select-CCWm08v4.js";import{t as b}from"./upload-DL6R-BcD.js";import{t as x}from"./tooltip-hII4wDEz.js";import{t as S}from"./image-D6w_R6Gb.js";import{t as C}from"./alert-Cs6WDxgv.js";import{t as w}from"./drawer-B42T8GMw.js";import{t as T}from"./input-number-DqQ2LuOV.js";import{t as E}from"./switch-Cd_GVBye.js";import{Bt as D,Ft as O,It as k,Lt as A,Mt as ee,Nt as j,Rt as M,Ut as N,Vt as te,Wt as P,qr as F,zt as I}from"./constants-BH6GgBVD.js";import{At as L,Dt as ne,E as R,Er as z,Mt as re,Nn as B,Ot as V,Tr as H,Zt as U,gr as W,kt as G,yr as K}from"./index-B0D_GXuA.js";import{t as q}from"./index.es-CyW7EvoI.js";import{t as J}from"./CopyToClipboard-D0L4lc6w.js";import{t as Y}from"./ImagePreview-4W25TI3U.js";import{t as X}from"./BotPlaceholder-Ca3n8DbE.js";import{i as Z,n as ie,t as ae}from"./pagination-BGnbEU3d.js";import{n as oe,t as se}from"./NoTasks-eKpQJSqW.js";import{t as ce}from"./Consumption-BBaQNNS9.js";import{t as le}from"./ApiCodeButton-DkBjUHPb.js";import{t as ue}from"./ImageWrapper-Atmtz1bd.js";var de=s({name:`LayoutSeedream`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:q},data(){return{drawer:!1}}}),fe={class:`main flex flex-row flex-1`},pe={class:`config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},me={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function he(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,fe,[r(`div`,pe,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,me,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ge=R(de,[[`render`,he],[`__scopeId`,`data-v-f2a6eb9e`]]),_e=s({name:`SeedreamPromptInput`,components:{PromptTextarea:oe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ve(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ye=R(_e,[[`render`,ve]]),be={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case M:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case A:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case k:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case O:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:j[O],outputFormat:!1,tools:!1};case I:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:j[I],outputFormat:!1,tools:!1};default:return be}}var xe=[`1K`,`2K`,`3K`,`4K`];function Se(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(xe.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Ce(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var we=s({name:`SeedreamImageInput`,components:{ElUpload:b,ElButton:g,InfoIcon:Z,ImagePreview:Y,FontAwesomeIcon:q},mixins:[L,V],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){z.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){z.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Te={key:0},Ee={class:`field`},De={class:`label`},Oe={class:`box`},ke={class:`title font-bold`},Ae={class:`value`},je={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Me(e,t,s,h,g,_){let v=d(`info-icon`),y=d(`font-awesome-icon`),b=d(`el-button`),x=d(`el-upload`),S=d(`image-preview`);return e.supported?(u(),f(`div`,Te,[r(`div`,Ee,[r(`div`,De,[r(`div`,Oe,[r(`h2`,ke,l(e.$t(`seedream.name.imageUrls`)),1),a(v,{content:e.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),r(`div`,Ae,[a(x,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),i(` `+l(e.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),r(`div`,je,[(u(!0),f(m,null,c(e.fileList,(t,r)=>(u(),n(S,{key:t.uid||t?.response?.file_url||t.url||r,url:t.url||t?.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.onRemovePreview(r,t)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Ne=R(we,[[`render`,Me],[`__scopeId`,`data-v-6ef4c2e4`]]),Pe=s({name:`SeedreamModelSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{revertKey:0,options:[{value:M,label:this.$t(`seedream.model.seedream50`)},{value:A,label:this.$t(`seedream.model.seedream45`)},{value:k,label:this.$t(`seedream.model.seedream40`)},{value:O,label:this.$t(`seedream.model.seedream30t2i`)},{value:I,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(ee)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Se(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await H.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Ce({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),z.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),Fe={class:`field`},Ie={class:`label`},Le={class:`box`},Re={class:`title font-bold`};function ze(e,t,i,o,s,h){let g=d(`info-icon`),_=d(`el-option`),v=d(`el-select`);return u(),f(`div`,Fe,[r(`div`,Ie,[r(`div`,Le,[r(`h2`,Re,l(e.$t(`seedream.name.model`)),1),a(g,{content:e.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(u(),n(v,{key:e.revertKey,"model-value":e.value,class:`value`,placeholder:e.$t(`seedream.placeholder.select`),onChange:e.onChange},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Be=R(Pe,[[`render`,ze],[`__scopeId`,`data-v-8892a12c`]]),Ve=s({name:`SeedreamSizeSelector`,components:{ElSelect:v,ElOption:y,ElOptionGroup:_,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:N,pixelOptions:te}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),He={class:`field`},Ue={class:`label`},We={class:`box`},Ge={class:`title font-bold`};function Ke(e,t,i,s,h,g){let _=d(`info-icon`),v=d(`el-option`),y=d(`el-option-group`),b=d(`el-select`);return u(),f(`div`,He,[r(`div`,Ue,[r(`div`,We,[r(`h2`,Ge,l(e.$t(`seedream.name.size`)),1),a(_,{content:e.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:p(()=>[e.capabilities.sizeTiers.length?(u(),n(y,{key:0,label:e.$t(`seedream.size.group.tier`)},{default:p(()=>[(u(!0),f(m,null,c(e.capabilities.sizeTiers,e=>(u(),n(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):o(``,!0),e.capabilities.sizeAdaptive?(u(),n(y,{key:1,label:e.$t(`seedream.size.group.adaptive`)},{default:p(()=>[(u(),n(v,{key:e.SEEDREAM_SIZE_ADAPTIVE,label:e.$t(`seedream.size.adaptive`),value:e.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):o(``,!0),a(y,{label:e.$t(`seedream.size.group.pixel`)},{default:p(()=>[(u(!0),f(m,null,c(e.pixelOptions,e=>(u(),n(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var qe=R(Ve,[[`render`,Ke],[`__scopeId`,`data-v-dd7bd021`]]),Je=s({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),Ye={key:0,class:`field`},Xe={class:`label`},Ze={class:`box`},Qe={class:`title font-bold`},$e={class:`value`};function et(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,Ye,[r(`div`,Xe,[r(`div`,Ze,[r(`h2`,Qe,l(e.$t(`seedream.name.maxImages`)),1),a(p,{content:e.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),r(`div`,$e,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1,max:e.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):o(``,!0)}var tt=R(Je,[[`render`,et],[`__scopeId`,`data-v-f079fd20`]]),nt=s({name:`SeedreamOutputFormatSelector`,components:{ElSelect:v,ElOption:y,InfoIcon:Z},data(){return{options:[...D]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),rt={key:0,class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(e,t,i,s,h,g){let _=d(`info-icon`),v=d(`el-option`),y=d(`el-select`);return e.supported?(u(),f(`div`,rt,[r(`div`,it,[r(`div`,at,[r(`h2`,ot,l(e.$t(`seedream.name.outputFormat`)),1),a(_,{content:e.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),a(y,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`seedream.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):o(``,!0)}var ct=R(nt,[[`render`,st],[`__scopeId`,`data-v-69ea4c07`]]),lt=s({name:`SeedreamSeedInput`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),ut={key:0,class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`},mt={class:`value`};function ht(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,ut,[r(`div`,dt,[r(`div`,ft,[r(`h2`,pt,l(e.$t(`seedream.name.seed`)),1),a(p,{content:e.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),r(`div`,mt,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var gt=R(lt,[[`render`,ht],[`__scopeId`,`data-v-10cdc1e0`]]),_t=s({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:T,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),vt={key:0,class:`field`},yt={class:`label`},bt={class:`box`},xt={class:`title font-bold`},St={class:`value`};function Ct(e,t,n,i,s,c){let p=d(`info-icon`),m=d(`el-input-number`);return e.supported?(u(),f(`div`,vt,[r(`div`,yt,[r(`div`,bt,[r(`h2`,xt,l(e.$t(`seedream.name.guidanceScale`)),1),a(p,{content:e.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),r(`div`,St,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var wt=R(_t,[[`render`,Ct],[`__scopeId`,`data-v-7386f064`]]),Tt=s({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:E,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),Et={class:`field`},Dt={class:`label`},Ot={class:`box`},kt={class:`title font-bold`},At={class:`value`};function jt(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-switch`);return u(),f(`div`,Et,[r(`div`,Dt,[r(`div`,Ot,[r(`h2`,kt,l(e.$t(`seedream.name.watermark`)),1),a(c,{content:e.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),r(`div`,At,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t},null,8,[`modelValue`])])])}var Mt=s({name:`SeedreamConfigPanel`,components:{ElButton:g,FontAwesomeIcon:q,PromptInput:ye,Consumption:ce,ImageInput:Ne,ModelSelector:Be,SizeSelector:qe,MaxImagesSelector:tt,OutputFormatSelector:ct,SeedInput:gt,GuidanceScaleInput:wt,WatermarkSwitch:R(Tt,[[`render`,jt],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return re({...e,action:t?`edit`:`generate`,model:P(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Nt={class:`flex flex-col h-full`},Pt={class:`flex-1 overflow-y-auto p-5`},Ft={class:`flex flex-col items-center justify-center px-5 pb-5`};function It(e,t,n,o,s,c){let m=d(`model-selector`),h=d(`size-selector`),g=d(`max-images-selector`),_=d(`output-format-selector`),v=d(`seed-input`),y=d(`guidance-scale-input`),b=d(`watermark-switch`),x=d(`prompt-input`),S=d(`image-input`),C=d(`consumption`),w=d(`font-awesome-icon`),T=d(`el-button`);return u(),f(`div`,Nt,[r(`div`,Pt,[a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`})]),r(`div`,Ft,[a(C,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Lt=R(Mt,[[`render`,It]]),Rt=s({name:`SeedreamTaskPreview`,components:{ElImage:S,CopyToClipboard:J,FontAwesomeIcon:q,ElAlert:C,ImageWrapper:ue,ElButton:g,ElTooltip:x,ImagePreview:Y,ApiCodeButton:le},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return P(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),zt={class:`preview`},Bt={class:`left`},Vt={class:`main`},Ht={class:`bot`},Ut={class:`datetime`},Wt={class:`info`},Gt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Kt={key:1,class:`prompt mt-2`},qt={key:0},Jt={key:0,class:t({content:!0})},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xt={key:1,class:t({content:!0,failed:!0})},Zt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Qt={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},on={key:2,class:t({content:!0})},sn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pn={key:3,class:t({content:!0})},mn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function gn(e,t,s,g,_,v){let y=d(`el-image`),b=d(`image-preview`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`),w=d(`image-wrapper`),T=d(`el-button`),E=d(`el-tooltip`),D=d(`api-code-button`);return u(),f(`div`,zt,[r(`div`,Bt,[a(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),r(`div`,Vt,[r(`div`,Ht,[i(l(e.$t(`seedream.name.seedreamBot`))+` `,1),r(`span`,Ut,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,Wt,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(u(),f(`div`,Gt,[(u(!0),f(m,null,c(e.modelValue?.request?.image,(e,t)=>(u(),n(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),e.modelValue?.request?.prompt?(u(),f(`p`,Kt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,qt,` - (`+l(e.$t(`seedream.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(u(),f(`div`,Xt,[r(`div`,Zt,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),r(`div`,Qt,[a(E,{class:`box-item`,effect:`dark`,content:e.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:t[0]||=h(t=>e.onEdit(e.images?.[0]?.image_url),[`stop`])},{default:p(()=>[i(l(e.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(D,{path:`/seedream/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,$t,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.model`))+`: `+l(e.shortModel(e.modelValue?.request?.model)),1)])):o(``,!0),e.modelValue?.request?.size?(u(),f(`p`,en,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.size`))+`: `+l(e.modelValue?.request?.size),1)])):o(``,!0),r(`p`,tn,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.task`))+`: `+l(e.isEdit?e.$t(`seedream.name.edits`):e.$t(`seedream.name.generate`)),1)]),r(`p`,nn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,rn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,an,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):e.modelValue?.response?.success===!1?(u(),f(`div`,on,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.failure`)),1)]),default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,sn,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.model`))+`: `+l(e.shortModel(e.modelValue?.request?.model)),1)])):o(``,!0),e.modelValue?.request?.size?(u(),f(`p`,cn,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.size`))+`: `+l(e.modelValue?.request?.size),1)])):o(``,!0),r(`p`,$,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.task`))+`: `+l(e.isEdit?e.$t(`seedream.name.edits`):e.$t(`seedream.name.generate`)),1)]),r(`p`,ln,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.response?.error?.message?(u(),f(`p`,un,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),e.modelValue?.elapsed?(u(),f(`p`,dn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e.modelValue?.response?.trace_id?(u(),f(`p`,fn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,pn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.status`)),1)]),default:p(()=>[r(`p`,mn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.response?.trace_id?(u(),f(`p`,hn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(u(),f(`div`,Jt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`seedream.status.pending`)),1)]),default:p(()=>[r(`p`,Yt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`seedream.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var _n=s({name:`SeedreamRecentPanel`,components:{TaskPreview:R(Rt,[[`render`,gn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:X,NoTasks:se,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),vn={key:0},yn={key:2,class:`w-full h-full flex items-center justify-center`};function bn(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,vn,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,yn,[a(v)])):o(``,!0)],64)}var xn=R(_n,[[`render`,bn]]),Sn=F(`seedream`),Cn=s({name:`SeedreamIndex`,components:{ConfigPanel:Lt,Layout:ge,RecentPanel:xn},mixins:[G],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===W.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,callback_url:Sn},n=this.credential?.token;if(!n){console.error(`no token specified`);return}z.info(this.$t(`seedream.message.startingTask`)),B(`seedream`,U.generate(t,{token:n})).then(()=>{z.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?z.error(this.$t(`seedream.message.usedUp`)):z.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wn(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Tn=R(Cn,[[`render`,wn]]);export{Tn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-DUtCNJwN.js";import{t as f}from"./card-ctDPo7It.js";import{n as p,t as m}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,N as n,P as r,Ut as i,X as a,et as o,lt as s,tt as c,ut as l}from"./vendor-chart-Df3WBvr0.js";import{n as u,t as d}from"./table-DUtCNJwN.js";import{t as f}from"./card-ctDPo7It.js";import{n as p,t as m}from"./row-CcN8nbao.js";import{t as h}from"./Pagination-hf1uCNH1.js";import{Dn as g,E as _}from"./index-B0D_GXuA.js";import{t as v}from"./CopyToClipboard-D0L4lc6w.js";var y=r({name:`ConsoleDistributionInvitees`,components:{Pagination:h,CopyToClipboard:v,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){let{data:e}=await g.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:`-created_at`});this.invitees=e.items,this.total=e.count}}}),b={class:`title`},x={class:`key`},S={class:`copy`},C={class:`description`},w={class:`description`},T={class:`description`},E={class:`created-at`},D={class:`pagination m-v-lg`};function O(r,u,d,f,p,m){let h=o(`el-col`),g=o(`el-row`),_=o(`copy-to-clipboard`),v=o(`el-table-column`),y=o(`el-table`),O=o(`el-card`),k=o(`pagination`),A=c(`loading`);return a(),e(g,{class:`panel`},{default:s(()=>[n(h,{span:24},{default:s(()=>[n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[t(`h2`,b,i(r.$t(`common.title.invitee`)),1)]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:24},{default:s(()=>[n(O,{shadow:`hover`},{default:s(()=>[l((a(),e(y,{data:r.invitees,stripe:``},{default:s(()=>[n(v,{prop:`id`,label:r.$t(`user.field.id`),"class-name":`text-center`,width:`350px`},{default:s(e=>[t(`span`,x,i(e.row.id),1),t(`span`,S,[n(_,{content:e.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.username`),width:`300px`},{default:s(e=>[t(`span`,C,i(e.row?.username),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.email`),width:`300px`},{default:s(e=>[t(`span`,w,i(e.row?.email),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.nickname`),width:`200px`},{default:s(e=>[t(`span`,T,i(e.row.nickname),1)]),_:1},8,[`label`]),n(v,{label:r.$t(`user.field.dateJoined`)},{default:s(e=>[t(`span`,E,i(r.$dayjs.format(e.row.date_joined)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[A,r.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:s(()=>[n(h,{span:10,offset:14},{default:s(()=>[t(`div`,D,[n(k,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var k=_(y,[[`render`,O],[`__scopeId`,`data-v-4556864d`]]);export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./table-DUtCNJwN.js";import{t as g}from"./card-ctDPo7It.js";import{n as _,t as v}from"./row-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{n as m,t as h}from"./table-DUtCNJwN.js";import{t as g}from"./card-ctDPo7It.js";import{n as _,t as v}from"./row-CcN8nbao.js";import{t as y}from"./Pagination-hf1uCNH1.js";import{t as b}from"./skeleton-Cc4nM_v1.js";import{t as x}from"./switch-Cd_GVBye.js";import{B as S,E as C,Er as w,On as T,P as E,Sr as D,jr as O,mr as k,or as A,pr as j,sr as M}from"./index-B0D_GXuA.js";import{t as N}from"./index.es-CyW7EvoI.js";import{t as P}from"./CopyToClipboard-D0L4lc6w.js";var F=a({name:`ConsoleApplicationList`,components:{Pagination:y,CopyToClipboard:P,ElTable:h,ElRow:v,ElButton:p,ElCol:_,ElTag:O,ElSkeleton:b,ElSwitch:x,ElTableColumn:m,ElCard:g,FontAwesomeIcon:N},data(){return{credentialType:A,serviceType:M,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},showPayment(){return!D()}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,t){!e||!e.id||T.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{w.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{w.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:S,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:E,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=j.INDIVIDUAL){return new Promise((t,n)=>{T.getAll({limit:this.limit,...e===j.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:k.USAGE,scope:e}).then(({data:n})=>{e===j.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{w.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(j.INDIVIDUAL),this.onFetchApplications(j.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){T.create({type:k.USAGE,scope:j.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(j.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`}}}),I={class:`title`},L={key:1,class:`summary-card`},R={class:`icon-wrapper`},z={class:`label`},B={class:`value`},V={class:`description`},H={key:1,class:`flex flex-row justify-between align-center`},U={class:`summary-card`},W={class:`flex justify-start items-center gap-2 mb-2 w-full`},G={class:`icon-wrapper !mb-0`},K={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},q={class:`label`},J={class:`value`},Y={class:`description`},X={class:`flex flex-col items-end gap-2`},Z={class:`copy`},Q={key:0,class:`expired-at`},$={class:`flex flex-wrap items-center justify-end gap-1`},ee={class:`pagination`};function te(a,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`copy-to-clipboard`),w=c(`el-button`),T=c(`el-table-column`),E=c(`el-tag`),D=c(`el-switch`),O=c(`el-table`),k=c(`pagination`),A=d(`loading`);return s(),e(y,{class:`application-list`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,I,o(a.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(y,{gutter:15,class:`mb-3`},{default:u(()=>[r(v,{md:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[a.loading?(s(),e(b,{key:0})):(s(),l(`div`,L,[t(`div`,R,[r(x,{icon:`fa-solid fa-cubes-stacked`})]),t(`p`,z,o(a.$t(`application.title.count`)),1),t(`p`,B,o(a.individualApplicationsTotal),1),t(`p`,V,o(a.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),a.showPayment&&a.globalApplications?.length>0?(s(),e(v,{key:0,md:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[a.loading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[t(`div`,W,[t(`div`,G,[r(x,{icon:`fa-solid fa-wallet`})]),t(`span`,K,[n(o(a.$t(`application.field.id`))+`: `+o(a.globalApplications?.[0]?.id)+` `,1),a.globalApplications?.[0]?.id?(s(),e(C,{key:0,content:a.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),t(`p`,q,o(a.$t(`application.title.globalBalance`)),1),t(`p`,J,o(a.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+o(a.$t(`service.unit.credits`)),1),t(`p`,Y,o(a.$t(`application.message.globalBalanceDescription`)),1)]),t(`div`,X,[r(w,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:p[0]||=e=>a.onGoUsage(a.globalApplications?.[0])},{default:u(()=>[r(x,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.usage`)),1)]),_:1}),a.showPayment?(s(),e(w,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:p[1]||=e=>a.onBuyMore(a.globalApplications?.[0])},{default:u(()=>[r(x,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`,class:`applications-table-card`},{default:u(()=>[f((s(),e(O,{data:a.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`)},{default:u(()=>[r(T,{prop:`id`,label:a.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:u(e=>[t(`span`,null,o(e.row.id),1),t(`span`,Z,[r(C,{content:e?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[t.row?.type===`Period`?(s(),e(E,{key:0,type:`success`,effect:`dark`,round:``},{default:u(()=>[n(o(a.$t(`application.type.period`)),1)]),_:1})):t.row?.type===`Usage`?(s(),e(E,{key:1,effect:`dark`,round:``},{default:u(()=>[n(o(a.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.name`),width:`180px`},{default:u(r=>[t(`span`,null,o(r.row?.service?.title),1),r.row?.role===`grantee`?(s(),e(E,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:u(()=>[n(o(a.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(T,{prop:`remaining_amount`,label:a.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:u(e=>[t(`span`,null,o(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(T,{prop:`used_amount`,label:a.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,null,o(a.getUsedAmount(e.row)),1)]),_:1},8,[`label`]),r(T,{prop:`allow_consume_global`,label:a.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[t.row.service?.type===a.serviceType.API?(s(),e(D,{key:0,modelValue:t.row.allow_consume_global,"onUpdate:modelValue":e=>t.row.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>a.updateAllowConsumeGlobal(t.row,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(T,{label:a.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.expired_at?(s(),l(`span`,Q,o(a.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(T,{fixed:`right`,width:`200px`},{default:u(c=>[t(`div`,$,[r(w,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>a.onGoUsage(c?.row)},{default:u(()=>[r(x,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),a.showPayment?(s(),e(w,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>a.onBuyMore(c?.row)},{default:u(()=>[r(x,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),n(` `+o(a.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[A,a.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`div`,ee,[r(k,{"current-page":a.page,"page-size":a.limit,total:a.individualApplicationsTotal,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var ne=C(F,[[`render`,te],[`__scopeId`,`data-v-7182b838`]]);export{ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,_ as l,a as u,c as ee,et as d,i as f,k as p,lt as m,n as h,o as g,r as _,s as v,t as y,tt as b,ut as x,x as S}from"./vendor-chart-Df3WBvr0.js";import{t as C}from"./button-Diu_mJ2H.js";import{r as w,t as T}from"./select-DNo1mzje.js";import{n as E,t as D}from"./table-DUtCNJwN.js";import{n as O,t as k}from"./tabs-BgD2h_Ay.js";import{t as A}from"./date-picker-BOFO6DE8.js";import{t as j}from"./card-ctDPo7It.js";import{n as M,r as N}from"./radio-ClH7NqRe.js";import{n as P,t as F}from"./row-Dlb5yb6c.js";import{t as I}from"./Pagination-DrY09vju.js";import{n as L,t as R}from"./skeleton-Cc4nM_v1.js";import{Cn as z,E as B,On as V,Sn as H,jr as U,kr as W,mr as G,or as K,sr as q,wn as J}from"./index-CSTCoQPG.js";import{t as Y}from"./index.es-aoB3lpRt.js";import{t as X}from"./CopyToClipboard-Bs47GtOf.js";f.register(_,u,h,v,ee,g);var Z=a({name:`ConsoleUsageList`,components:{Pagination:I,ElTag:U,ElDatePicker:A,ElTable:D,ElSelect:w,ElOption:T,CopyToClipboard:X,ElRow:F,ElCol:P,ElTableColumn:E,ElCard:j,ElRadioButton:M,ElRadioGroup:N,ElSkeleton:R,ElSkeletonItem:L,ElDialog:W,ElTabs:O,ElTabPane:k,ElButton:C,FontAwesomeIcon:Y,BarChart:y},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(`,`):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(`,`):[],applications:[],apis:[],apisLoading:!1,credentialType:K,serviceType:q,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||q.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:`top`,onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.update()}},title:{display:!0,text:this.$t(`usage.title.usageTrend`)}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},methods:{async onFetchUsages(){this.type===q.API?this.onFetchApiUsages():this.type===q.Proxy&&this.onFetchProxyUsages()},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){console.log(`onTimeRangeChanged`,this.createdAtRange),await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``,created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``}}),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await z.getStatusCodes({user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&z.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){V.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:G.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,H.getAll({limit:100,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(){console.log(`onFetchApiUsages`,this.createdAtRange),this.loading=!0,z.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{this.apiUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,J.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:e})=>{this.proxyUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onExport(){this.exporting=!0,z.exportCsv({user_id:this.$store.getters.user.id,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`usages.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API)return;let e={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{let{data:t}=await z.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r=Array.from(new Set((t.items||[]).map(e=>e.api_id))),i=e=>`hsl(${e*57%360}, 70%, 60%)`,a=r.map((e,r)=>{let a=t.apis?.[e]?.title||e,o={};return(t.items||[]).filter(t=>t.api_id===e).forEach(e=>{o[e.date]=e.amount||0}),{key:e,label:a,data:n.map(e=>o[e]||0),color:i(r)}});this.barChartLabels=n,this.barChartSeries=a}finally{this.aggLoading=!1}}}}),Q={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},$={class:`inline-block w-9`},te={class:`inline-block`},ne={key:1,class:`summary-card`},re={class:`icon-wrapper`},ie={class:`text-left`},ae={class:`description`},oe={class:`value`},se={class:`chart-wrapper`},ce={key:0},le={key:1},ue={class:`flex flex-wrap gap-2`},de={class:`key`},fe={key:0,class:`cursor-pointer`},pe={class:`created-at`},me={class:`created-at`},he={key:1,class:`detail-json`},ge={key:2,class:`text-gray-400`},_e={key:1,class:`detail-json`},ve={key:2,class:`text-gray-400`},ye={class:`float-right`};function be(a,u,ee,f,h,g){let _=d(`el-col`),v=d(`el-row`),y=d(`el-radio-button`),C=d(`el-radio-group`),w=d(`el-option`),T=d(`el-select`),E=d(`el-skeleton-item`),D=d(`el-skeleton`),O=d(`el-date-picker`),k=d(`font-awesome-icon`),A=d(`el-button`),j=d(`el-card`),M=d(`bar-chart`),N=d(`el-table-column`),P=d(`el-tag`),F=d(`copy-to-clipboard`),I=d(`el-table`),L=d(`el-tab-pane`),R=d(`el-tabs`),z=d(`el-dialog`),B=d(`pagination`),V=b(`loading`);return c(),e(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[t(`h2`,Q,s(a.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),r(v,null,{default:m(()=>[r(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,null,s(a.$t(`application.field.type`)),1),r(C,{modelValue:a.type,"onUpdate:modelValue":u[0]||=e=>a.type=e},{default:m(()=>[r(y,{value:a.serviceType.API,label:a.$t(`application.field.api`)},null,8,[`value`,`label`]),r(y,{value:a.serviceType.Proxy,label:a.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),x(r(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,$,s(a.$t(`usage.field.application`)),1),r(T,{modelValue:a.applicationIds,"onUpdate:modelValue":u[1]||=e=>a.applicationIds=e,placeholder:a.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApplicationsChange},{default:m(()=>[(c(!0),p(S,null,o(a.applications,t=>(c(),e(w,{key:t.id,label:t.service?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[l,!1]]),a.type===a.serviceType.API?(c(),e(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,te,s(a.$t(`usage.field.api`)),1),a.apisLoading?(c(),e(D,{key:0,animated:``,class:`w-full`},{template:m(()=>[r(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(c(),e(T,{key:1,modelValue:a.apiIds,"onUpdate:modelValue":u[2]||=e=>a.apiIds=e,placeholder:a.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApisChange},{default:m(()=>[(c(!0),p(S,null,o(a.apis,t=>(c(),e(w,{key:t?.id,label:t?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(O,{modelValue:a.createdAtRange,"onUpdate:modelValue":u[3]||=e=>a.createdAtRange=e,type:`datetimerange`,class:`w-full`,shortcuts:a.shortcuts,"range-separator":a.$t(`usage.placeholder.to`),"start-placeholder":a.$t(`usage.placeholder.startDate`),"end-placeholder":a.$t(`usage.placeholder.endDate`),onChange:a.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(T,{modelValue:a.statusCodeFilter,"onUpdate:modelValue":u[4]||=e=>a.statusCodeFilter=e,placeholder:a.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:a.statusCodeOptionsLoading,onChange:a.onStatusCodeChange},{default:m(()=>[(c(!0),p(S,null,o(a.statusCodeOptions,t=>(c(),e(w,{key:t,label:String(t),value:String(t)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:m(()=>[r(A,{type:`primary`,plain:``,loading:a.exporting,class:`w-full whitespace-nowrap`,onClick:a.onExport},{default:m(()=>[r(k,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+s(a.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):i(``,!0)]),_:1}),r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[a.type===a.serviceType.API?(c(),e(v,{key:0,gutter:24,class:`mb-5`},{default:m(()=>[r(_,{md:6,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[a.aggLoading?(c(),e(D,{key:0})):(c(),p(`div`,ne,[t(`div`,re,[r(k,{icon:`fa-solid fa-cubes`,class:`icon`})]),t(`div`,ie,[t(`p`,ae,s(a.$t(`usage.title.totalUsed`)),1),t(`p`,oe,s(a.totalUsedString),1)])]))]),_:1})]),_:1}),r(_,{md:18,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[t(`div`,se,[a.aggLoading?(c(),e(D,{key:0,class:`w-full`})):(c(),e(M,{key:1,data:a.barChartData,options:a.barChartOptions,class:`chart`},null,8,[`data`,`options`]))])]),_:1})]),_:1})]),_:1})):i(``,!0),r(j,{shadow:`hover`},{default:m(()=>[a.type===a.serviceType.API?x((c(),e(I,{key:0,data:a.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.api?.title),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.statusCode`),width:`120px`},{default:m(e=>[t(`span`,null,s(e.row.status_code),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.elapsed`),width:`120px`},{default:m(e=>[t(`span`,null,s(a.formatElapsed(e.row.elapsed)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[a.getDeductedAmount(e.row)===a.getOriginalAmount(e.row)?(c(),p(`div`,ce,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)])):(c(),p(`div`,le,[u[7]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),t(`p`,null,[t(`del`,null,s(a.getOriginalAmount(e.row)),1)])]))]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:m(r=>[t(`div`,ue,[r.row.original_amount>r.row.deducted_amount&&r.row.original_amount>0?(c(),e(P,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(((r.row.original_amount-r.row.deducted_amount)*100/r.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):i(``,!0),(c(!0),p(S,null,o(a.getSimpleMetadata(r.row.metadata),(t,r)=>(c(),e(P,{key:r,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:m(t=>[t.row.id?(c(),e(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:e=>a.onShowDetail(t.row)},{default:m(()=>[n(s(a.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):i(``,!0)]),_:1},8,[`label`]),r(N,{prop:`trace_id`,label:a.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:m(e=>[t(`span`,de,s(e.row.trace_id),1),e.row.trace_id?(c(),p(`span`,fe,[r(F,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):i(``,!0)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,pe,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0),a.type===a.serviceType.Proxy?x((c(),e(I,{key:1,data:a.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.service?.title),1)]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1),t(`span`,null,s(a.getOriginalAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:m(t=>[(c(!0),p(S,null,o(t.row.metadata,(t,r)=>(c(),e(P,{key:r,class:`mb-2`},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,me,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0)]),_:1})]),_:1})]),_:1}),r(z,{modelValue:a.detailDialogVisible,"onUpdate:modelValue":u[6]||=e=>a.detailDialogVisible=e,title:a.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:m(()=>[r(R,{modelValue:a.detailActiveTab,"onUpdate:modelValue":u[5]||=e=>a.detailActiveTab=e},{default:m(()=>[r(L,{label:a.$t(`usage.dialog.request`),name:`request`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.request?(c(),p(`pre`,he,s(a.formatJson(a.detailRow.metadata.request)),1)):(c(),p(`p`,ge,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),r(L,{label:a.$t(`usage.dialog.response`),name:`response`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.response?(c(),p(`pre`,_e,s(a.formatJson(a.detailRow.metadata.response)),1)):(c(),p(`p`,ve,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),r(v,null,{default:m(()=>[r(_,{span:10,offset:14},{default:m(()=>[t(`div`,ye,[r(B,{"current-page":a.page,"page-size":a.limit,total:a.total,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var xe=B(Z,[[`render`,be],[`__scopeId`,`data-v-38f1845c`]]);export{xe as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,Q as o,Ut as s,X as c,_ as l,a as u,c as ee,et as d,i as f,k as p,lt as m,n as h,o as g,r as _,s as v,t as y,tt as b,ut as x,x as S}from"./vendor-chart-Df3WBvr0.js";import{t as C}from"./button-Diu_mJ2H.js";import{r as w,t as T}from"./select-CCWm08v4.js";import{n as E,t as D}from"./table-DUtCNJwN.js";import{n as O,t as k}from"./tabs-D_soGpxM.js";import{t as A}from"./date-picker-nfqwx8wz.js";import{t as j}from"./card-ctDPo7It.js";import{n as M,r as N}from"./radio-ClH7NqRe.js";import{n as P,t as F}from"./row-CcN8nbao.js";import{t as I}from"./Pagination-hf1uCNH1.js";import{n as L,t as R}from"./skeleton-Cc4nM_v1.js";import{Cn as z,E as B,On as V,Sn as H,jr as U,kr as W,mr as G,or as K,sr as q,wn as J}from"./index-B0D_GXuA.js";import{t as Y}from"./index.es-CyW7EvoI.js";import{t as X}from"./CopyToClipboard-D0L4lc6w.js";f.register(_,u,h,v,ee,g);var Z=a({name:`ConsoleUsageList`,components:{Pagination:I,ElTag:U,ElDatePicker:A,ElTable:D,ElSelect:w,ElOption:T,CopyToClipboard:X,ElRow:F,ElCol:P,ElTableColumn:E,ElCard:j,ElRadioButton:M,ElRadioGroup:N,ElSkeleton:R,ElSkeletonItem:L,ElDialog:W,ElTabs:O,ElTabPane:k,ElButton:C,FontAwesomeIcon:Y,BarChart:y},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(`,`):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(`,`):[],applications:[],apis:[],apisLoading:!1,credentialType:K,serviceType:q,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||q.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:`top`,onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.update()}},title:{display:!0,text:this.$t(`usage.title.usageTrend`)}},scales:{x:{stacked:!0},y:{stacked:!0,beginAtZero:!0}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},methods:{async onFetchUsages(){this.type===q.API?this.onFetchApiUsages():this.type===q.Proxy&&this.onFetchProxyUsages()},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){console.log(`onTimeRangeChanged`,this.createdAtRange),await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``,created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``}}),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await z.getStatusCodes({user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&z.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){V.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:G.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,H.getAll({limit:100,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(){console.log(`onFetchApiUsages`,this.createdAtRange),this.loading=!0,z.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{this.apiUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,J.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:e})=>{this.proxyUsages=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})},onExport(){this.exporting=!0,z.exportCsv({user_id:this.$store.getters.user.id,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}}).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`usages.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API)return;let e={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}};try{let{data:t}=await z.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r=Array.from(new Set((t.items||[]).map(e=>e.api_id))),i=e=>`hsl(${e*57%360}, 70%, 60%)`,a=r.map((e,r)=>{let a=t.apis?.[e]?.title||e,o={};return(t.items||[]).filter(t=>t.api_id===e).forEach(e=>{o[e.date]=e.amount||0}),{key:e,label:a,data:n.map(e=>o[e]||0),color:i(r)}});this.barChartLabels=n,this.barChartSeries=a}finally{this.aggLoading=!1}}}}),Q={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},$={class:`inline-block w-9`},te={class:`inline-block`},ne={key:1,class:`summary-card`},re={class:`icon-wrapper`},ie={class:`text-left`},ae={class:`description`},oe={class:`value`},se={class:`chart-wrapper`},ce={key:0},le={key:1},ue={class:`flex flex-wrap gap-2`},de={class:`key`},fe={key:0,class:`cursor-pointer`},pe={class:`created-at`},me={class:`created-at`},he={key:1,class:`detail-json`},ge={key:2,class:`text-gray-400`},_e={key:1,class:`detail-json`},ve={key:2,class:`text-gray-400`},ye={class:`float-right`};function be(a,u,ee,f,h,g){let _=d(`el-col`),v=d(`el-row`),y=d(`el-radio-button`),C=d(`el-radio-group`),w=d(`el-option`),T=d(`el-select`),E=d(`el-skeleton-item`),D=d(`el-skeleton`),O=d(`el-date-picker`),k=d(`font-awesome-icon`),A=d(`el-button`),j=d(`el-card`),M=d(`bar-chart`),N=d(`el-table-column`),P=d(`el-tag`),F=d(`copy-to-clipboard`),I=d(`el-table`),L=d(`el-tab-pane`),R=d(`el-tabs`),z=d(`el-dialog`),B=d(`pagination`),V=b(`loading`);return c(),e(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[t(`h2`,Q,s(a.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),r(v,null,{default:m(()=>[r(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,null,s(a.$t(`application.field.type`)),1),r(C,{modelValue:a.type,"onUpdate:modelValue":u[0]||=e=>a.type=e},{default:m(()=>[r(y,{value:a.serviceType.API,label:a.$t(`application.field.api`)},null,8,[`value`,`label`]),r(y,{value:a.serviceType.Proxy,label:a.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),x(r(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,$,s(a.$t(`usage.field.application`)),1),r(T,{modelValue:a.applicationIds,"onUpdate:modelValue":u[1]||=e=>a.applicationIds=e,placeholder:a.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApplicationsChange},{default:m(()=>[(c(!0),p(S,null,o(a.applications,t=>(c(),e(w,{key:t.id,label:t.service?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[l,!1]]),a.type===a.serviceType.API?(c(),e(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[t(`span`,te,s(a.$t(`usage.field.api`)),1),a.apisLoading?(c(),e(D,{key:0,animated:``,class:`w-full`},{template:m(()=>[r(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(c(),e(T,{key:1,modelValue:a.apiIds,"onUpdate:modelValue":u[2]||=e=>a.apiIds=e,placeholder:a.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:a.onApisChange},{default:m(()=>[(c(!0),p(S,null,o(a.apis,t=>(c(),e(w,{key:t?.id,label:t?.title,value:t?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(O,{modelValue:a.createdAtRange,"onUpdate:modelValue":u[3]||=e=>a.createdAtRange=e,type:`datetimerange`,class:`w-full`,shortcuts:a.shortcuts,"range-separator":a.$t(`usage.placeholder.to`),"start-placeholder":a.$t(`usage.placeholder.startDate`),"end-placeholder":a.$t(`usage.placeholder.endDate`),onChange:a.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:m(()=>[r(T,{modelValue:a.statusCodeFilter,"onUpdate:modelValue":u[4]||=e=>a.statusCodeFilter=e,placeholder:a.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:a.statusCodeOptionsLoading,onChange:a.onStatusCodeChange},{default:m(()=>[(c(!0),p(S,null,o(a.statusCodeOptions,t=>(c(),e(w,{key:t,label:String(t),value:String(t)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):i(``,!0),a.type===a.serviceType.API?(c(),e(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:m(()=>[r(A,{type:`primary`,plain:``,loading:a.exporting,class:`w-full whitespace-nowrap`,onClick:a.onExport},{default:m(()=>[r(k,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+s(a.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):i(``,!0)]),_:1}),r(v,null,{default:m(()=>[r(_,{span:24},{default:m(()=>[a.type===a.serviceType.API?(c(),e(v,{key:0,gutter:24,class:`mb-5`},{default:m(()=>[r(_,{md:6,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[a.aggLoading?(c(),e(D,{key:0})):(c(),p(`div`,ne,[t(`div`,re,[r(k,{icon:`fa-solid fa-cubes`,class:`icon`})]),t(`div`,ie,[t(`p`,ae,s(a.$t(`usage.title.totalUsed`)),1),t(`p`,oe,s(a.totalUsedString),1)])]))]),_:1})]),_:1}),r(_,{md:18,xs:24},{default:m(()=>[r(j,{shadow:`hover`,class:`h-full`},{default:m(()=>[t(`div`,se,[a.aggLoading?(c(),e(D,{key:0,class:`w-full`})):(c(),e(M,{key:1,data:a.barChartData,options:a.barChartOptions,class:`chart`},null,8,[`data`,`options`]))])]),_:1})]),_:1})]),_:1})):i(``,!0),r(j,{shadow:`hover`},{default:m(()=>[a.type===a.serviceType.API?x((c(),e(I,{key:0,data:a.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.api?.title),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.statusCode`),width:`120px`},{default:m(e=>[t(`span`,null,s(e.row.status_code),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.elapsed`),width:`120px`},{default:m(e=>[t(`span`,null,s(a.formatElapsed(e.row.elapsed)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[a.getDeductedAmount(e.row)===a.getOriginalAmount(e.row)?(c(),p(`div`,ce,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)])):(c(),p(`div`,le,[u[7]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),t(`p`,null,[t(`del`,null,s(a.getOriginalAmount(e.row)),1)])]))]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:m(r=>[t(`div`,ue,[r.row.original_amount>r.row.deducted_amount&&r.row.original_amount>0?(c(),e(P,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(((r.row.original_amount-r.row.deducted_amount)*100/r.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):i(``,!0),(c(!0),p(S,null,o(a.getSimpleMetadata(r.row.metadata),(t,r)=>(c(),e(P,{key:r,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:m(t=>[t.row.id?(c(),e(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:e=>a.onShowDetail(t.row)},{default:m(()=>[n(s(a.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):i(``,!0)]),_:1},8,[`label`]),r(N,{prop:`trace_id`,label:a.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:m(e=>[t(`span`,de,s(e.row.trace_id),1),e.row.trace_id?(c(),p(`span`,fe,[r(F,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):i(``,!0)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,pe,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0),a.type===a.serviceType.Proxy?x((c(),e(I,{key:1,data:a.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":a.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:m(()=>[r(N,{label:a.$t(`application.field.name`),width:`160px`},{default:m(e=>[t(`span`,null,s(e.row?.service?.title),1)]),_:1},8,[`label`]),r(N,{prop:`remaining_amount`,label:a.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1),t(`span`,null,s(a.getOriginalAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`deducted_amount`,label:a.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getDeductedAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:m(e=>[t(`span`,null,s(a.getRemainingAmount(e.row)),1)]),_:1},8,[`label`]),r(N,{prop:`metadata`,label:a.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:m(t=>[(c(!0),p(S,null,o(t.row.metadata,(t,r)=>(c(),e(P,{key:r,class:`mb-2`},{default:m(()=>[n(s(r)+`: `+s(t),1)]),_:2},1024))),128))]),_:1},8,[`label`]),r(N,{label:a.$t(`usage.field.createdAt`),width:`200px`},{default:m(e=>[t(`span`,me,s(a.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[V,a.loading]]):i(``,!0)]),_:1})]),_:1})]),_:1}),r(z,{modelValue:a.detailDialogVisible,"onUpdate:modelValue":u[6]||=e=>a.detailDialogVisible=e,title:a.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:m(()=>[r(R,{modelValue:a.detailActiveTab,"onUpdate:modelValue":u[5]||=e=>a.detailActiveTab=e},{default:m(()=>[r(L,{label:a.$t(`usage.dialog.request`),name:`request`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.request?(c(),p(`pre`,he,s(a.formatJson(a.detailRow.metadata.request)),1)):(c(),p(`p`,ge,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),r(L,{label:a.$t(`usage.dialog.response`),name:`response`},{default:m(()=>[a.detailLoading?(c(),e(D,{key:0,rows:6,animated:``})):a.detailRow?.metadata?.response?(c(),p(`pre`,_e,s(a.formatJson(a.detailRow.metadata.response)),1)):(c(),p(`p`,ve,s(a.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),r(v,null,{default:m(()=>[r(_,{span:10,offset:14},{default:m(()=>[t(`div`,ye,[r(B,{"current-page":a.page,"page-size":a.limit,total:a.total,onChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var xe=B(Z,[[`render`,be],[`__scopeId`,`data-v-38f1845c`]]);export{xe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,P as i,Q as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as ee,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{r as m,t as h}from"./select-DNo1mzje.js";import{n as g,t as _}from"./table-DUtCNJwN.js";import{t as v}from"./date-picker-BOFO6DE8.js";import{t as y}from"./card-ctDPo7It.js";import{n as b,t as x}from"./row-Dlb5yb6c.js";import{t as S}from"./Pagination-DrY09vju.js";import{t as C}from"./skeleton-Cc4nM_v1.js";import{E as w,Nt as T,cr as E,jr as D,xn as O}from"./index-CSTCoQPG.js";import{t as k}from"./index.es-aoB3lpRt.js";import{t as A}from"./CopyToClipboard-Bs47GtOf.js";var j={total_count:0,total_spent:0,state_counts:{}},M=i({name:`ConsoleOrderList`,components:{Pagination:S,CopyToClipboard:A,ElRow:x,ElCol:b,ElTable:_,ElTableColumn:g,ElButton:p,ElTag:D,ElCard:y,ElSelect:m,ElOption:h,ElDatePicker:v,ElSkeleton:C,FontAwesomeIcon:k},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...j},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:E.PENDING,label:this.$t(`order.state.pending`)},{value:E.FINISHED,label:this.$t(`order.state.finished`)},{value:E.PAID,label:this.$t(`order.state.paid`)},{value:E.EXPIRED,label:this.$t(`order.state.expired`)},{value:E.FAILED,label:this.$t(`order.state.failed`)},{value:E.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:T,stateTagType(e){return e===E.FINISHED||e===E.PAID?`success`:e===E.EXPIRED||e===E.FAILED?`danger`:e===E.REFUNDED?`warning`:`info`},stateLabel(e){return{[E.PENDING]:this.$t(`order.state.pending`),[E.PAID]:this.$t(`order.state.paid`),[E.FINISHED]:this.$t(`order.state.finished`),[E.EXPIRED]:this.$t(`order.state.expired`),[E.FAILED]:this.$t(`order.state.failed`),[E.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==E.PAID&&e!==E.FINISHED&&e!==E.EXPIRED&&e!==E.FAILED&&e!==E.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,O.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,O.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...j}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,O.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),N={class:`title`},P={key:1,class:`card-content`},F={class:`icon-wrapper`},I={class:`description`},L={class:`value`},R={key:1,class:`card-content`},z={class:`icon-wrapper`},B={class:`description`},V={class:`value`},H={key:1,class:`card-content`},U={class:`icon-wrapper`},te={class:`description`},W={class:`value`},G={key:1,class:`card-content`},K={class:`icon-wrapper`},q={class:`description`},J={class:`value`},Y={class:`filter-row mb-3`},X={class:`key`},Z={class:`cursor-pointer`},Q={class:`price`},ne={class:`description`},re={class:`text-gray-500`},$={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(i,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`el-option`),w=c(`el-select`),T=c(`el-date-picker`),E=c(`el-button`),D=c(`copy-to-clipboard`),O=c(`el-table-column`),k=c(`el-tag`),A=c(`el-table`),j=c(`pagination`),M=d(`loading`);return s(),e(y,{class:`panel`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,N,o(i.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(y,{gutter:16},{default:u(()=>[r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,P,[t(`div`,F,[r(x,{icon:`fa-solid fa-receipt`,class:`icon`})]),t(`p`,I,o(i.$t(`order.title.totalOrders`)),1),t(`p`,L,o(i.summary.total_count),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,R,[t(`div`,z,[r(x,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),t(`p`,B,o(i.$t(`order.title.totalSpent`)),1),t(`p`,V,o(i.getPriceString({value:i.summary.total_spent})),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[r(x,{icon:`fa-solid fa-check-circle`,class:`icon`})]),t(`p`,te,o(i.$t(`order.title.finishedOrders`)),1),t(`p`,W,o(i.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,G,[t(`div`,K,[r(x,{icon:`fa-solid fa-clock`,class:`icon`})]),t(`p`,q,o(i.$t(`order.title.pendingOrders`)),1),t(`p`,J,o(i.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),t(`div`,Y,[r(w,{modelValue:i.filterState,"onUpdate:modelValue":p[0]||=e=>i.filterState=e,clearable:``,placeholder:i.$t(`order.field.allStates`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.stateOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(w,{modelValue:i.filterPayWay,"onUpdate:modelValue":p[1]||=e=>i.filterPayWay=e,clearable:``,placeholder:i.$t(`order.field.allPayWays`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.payWayOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(T,{modelValue:i.createdAtRange,"onUpdate:modelValue":p[2]||=e=>i.createdAtRange=e,type:`datetimerange`,shortcuts:i.shortcuts,"range-separator":i.$t(`usage.placeholder.to`),"start-placeholder":i.$t(`usage.placeholder.startDate`),"end-placeholder":i.$t(`usage.placeholder.endDate`),onChange:i.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(E,{type:`primary`,plain:``,loading:i.exporting,onClick:i.onExport},{default:u(()=>[r(x,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+o(i.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`},{default:u(()=>[ee((s(),e(A,{data:i.orders,stripe:``,"empty-text":i.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:u(()=>[r(O,{prop:`id`,label:i.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:u(e=>[t(`span`,X,o(e.row.id),1),t(`span`,Z,[r(D,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.price`),width:`110px`,align:`center`},{default:u(e=>[t(`span`,Q,o(i.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,ne,o(e.row.description),1)]),_:1},8,[`label`]),r(O,{prop:`state`,label:i.$t(`order.field.state`),width:`130px`,align:`center`},{default:u(e=>[r(k,{type:i.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(o(i.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,re,o(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,$,o(i.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),r(O,{"min-width":`130px`,fixed:`right`},{default:u(r=>[t(`div`,ie,[i.isPendingAction(r.row.state)?(s(),e(E,{key:0,type:`primary`,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(s(),e(E,{key:1,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,i.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:10,offset:14},{default:u(()=>[t(`div`,ae,[r(j,{"current-page":i.page,"page-size":i.limit,total:i.total,onChange:i.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=w(M,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,P as i,Q as a,Ut as o,X as s,et as c,k as l,lt as u,tt as d,ut as ee,x as f}from"./vendor-chart-Df3WBvr0.js";import{t as p}from"./button-Diu_mJ2H.js";import{r as m,t as h}from"./select-CCWm08v4.js";import{n as g,t as _}from"./table-DUtCNJwN.js";import{t as v}from"./date-picker-nfqwx8wz.js";import{t as y}from"./card-ctDPo7It.js";import{n as b,t as x}from"./row-CcN8nbao.js";import{t as S}from"./Pagination-hf1uCNH1.js";import{t as C}from"./skeleton-Cc4nM_v1.js";import{E as w,Nt as T,cr as E,jr as D,xn as O}from"./index-B0D_GXuA.js";import{t as k}from"./index.es-CyW7EvoI.js";import{t as A}from"./CopyToClipboard-D0L4lc6w.js";var j={total_count:0,total_spent:0,state_counts:{}},M=i({name:`ConsoleOrderList`,components:{Pagination:S,CopyToClipboard:A,ElRow:x,ElCol:b,ElTable:_,ElTableColumn:g,ElButton:p,ElTag:D,ElCard:y,ElSelect:m,ElOption:h,ElDatePicker:v,ElSkeleton:C,FontAwesomeIcon:k},data(){return{OrderState:E,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...j},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:E.PENDING,label:this.$t(`order.state.pending`)},{value:E.FINISHED,label:this.$t(`order.state.finished`)},{value:E.PAID,label:this.$t(`order.state.paid`)},{value:E.EXPIRED,label:this.$t(`order.state.expired`)},{value:E.FAILED,label:this.$t(`order.state.failed`)},{value:E.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:T,stateTagType(e){return e===E.FINISHED||e===E.PAID?`success`:e===E.EXPIRED||e===E.FAILED?`danger`:e===E.REFUNDED?`warning`:`info`},stateLabel(e){return{[E.PENDING]:this.$t(`order.state.pending`),[E.PAID]:this.$t(`order.state.paid`),[E.FINISHED]:this.$t(`order.state.finished`),[E.EXPIRED]:this.$t(`order.state.expired`),[E.FAILED]:this.$t(`order.state.failed`),[E.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==E.PAID&&e!==E.FINISHED&&e!==E.EXPIRED&&e!==E.FAILED&&e!==E.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,O.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,O.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...j}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,O.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),N={class:`title`},P={key:1,class:`card-content`},F={class:`icon-wrapper`},I={class:`description`},L={class:`value`},R={key:1,class:`card-content`},z={class:`icon-wrapper`},B={class:`description`},V={class:`value`},H={key:1,class:`card-content`},U={class:`icon-wrapper`},te={class:`description`},W={class:`value`},G={key:1,class:`card-content`},K={class:`icon-wrapper`},q={class:`description`},J={class:`value`},Y={class:`filter-row mb-3`},X={class:`key`},Z={class:`cursor-pointer`},Q={class:`price`},ne={class:`description`},re={class:`text-gray-500`},$={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(i,p,m,h,g,_){let v=c(`el-col`),y=c(`el-row`),b=c(`el-skeleton`),x=c(`font-awesome-icon`),S=c(`el-card`),C=c(`el-option`),w=c(`el-select`),T=c(`el-date-picker`),E=c(`el-button`),D=c(`copy-to-clipboard`),O=c(`el-table-column`),k=c(`el-tag`),A=c(`el-table`),j=c(`pagination`),M=d(`loading`);return s(),e(y,{class:`panel`},{default:u(()=>[r(v,{span:24},{default:u(()=>[r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[t(`h2`,N,o(i.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(y,{gutter:16},{default:u(()=>[r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,P,[t(`div`,F,[r(x,{icon:`fa-solid fa-receipt`,class:`icon`})]),t(`p`,I,o(i.$t(`order.title.totalOrders`)),1),t(`p`,L,o(i.summary.total_count),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,R,[t(`div`,z,[r(x,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),t(`p`,B,o(i.$t(`order.title.totalSpent`)),1),t(`p`,V,o(i.getPriceString({value:i.summary.total_spent})),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,H,[t(`div`,U,[r(x,{icon:`fa-solid fa-check-circle`,class:`icon`})]),t(`p`,te,o(i.$t(`order.title.finishedOrders`)),1),t(`p`,W,o(i.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(v,{md:6,sm:12,xs:24},{default:u(()=>[r(S,{shadow:`hover`,class:`item-mini mb-3`},{default:u(()=>[i.summaryLoading?(s(),e(b,{key:0})):(s(),l(`div`,G,[t(`div`,K,[r(x,{icon:`fa-solid fa-clock`,class:`icon`})]),t(`p`,q,o(i.$t(`order.title.pendingOrders`)),1),t(`p`,J,o(i.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),t(`div`,Y,[r(w,{modelValue:i.filterState,"onUpdate:modelValue":p[0]||=e=>i.filterState=e,clearable:``,placeholder:i.$t(`order.field.allStates`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.stateOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(w,{modelValue:i.filterPayWay,"onUpdate:modelValue":p[1]||=e=>i.filterPayWay=e,clearable:``,placeholder:i.$t(`order.field.allPayWays`),class:`filter-select`,onChange:i.onFilterChange},{default:u(()=>[(s(!0),l(f,null,a(i.payWayOptions,t=>(s(),e(C,{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(T,{modelValue:i.createdAtRange,"onUpdate:modelValue":p[2]||=e=>i.createdAtRange=e,type:`datetimerange`,shortcuts:i.shortcuts,"range-separator":i.$t(`usage.placeholder.to`),"start-placeholder":i.$t(`usage.placeholder.startDate`),"end-placeholder":i.$t(`usage.placeholder.endDate`),onChange:i.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(E,{type:`primary`,plain:``,loading:i.exporting,onClick:i.onExport},{default:u(()=>[r(x,{icon:`fa-solid fa-file-export`,class:`mr-1`}),n(` `+o(i.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(y,null,{default:u(()=>[r(v,{span:24},{default:u(()=>[r(S,{shadow:`hover`},{default:u(()=>[ee((s(),e(A,{data:i.orders,stripe:``,"empty-text":i.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:u(()=>[r(O,{prop:`id`,label:i.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:u(e=>[t(`span`,X,o(e.row.id),1),t(`span`,Z,[r(D,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.price`),width:`110px`,align:`center`},{default:u(e=>[t(`span`,Q,o(i.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,ne,o(e.row.description),1)]),_:1},8,[`label`]),r(O,{prop:`state`,label:i.$t(`order.field.state`),width:`130px`,align:`center`},{default:u(e=>[r(k,{type:i.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(o(i.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:u(e=>[t(`span`,re,o(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(O,{label:i.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[t(`span`,$,o(i.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),r(O,{"min-width":`130px`,fixed:`right`},{default:u(r=>[t(`div`,ie,[i.isPendingAction(r.row.state)?(s(),e(E,{key:0,type:`primary`,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(s(),e(E,{key:1,size:`small`,onClick:e=>i.goToDetail(r.row.id)},{default:u(()=>[n(o(i.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,i.loading]])]),_:1})]),_:1})]),_:1}),r(y,null,{default:u(()=>[r(v,{span:10,offset:14},{default:u(()=>[t(`div`,ae,[r(j,{"current-page":i.page,"page-size":i.limit,total:i.total,onChange:i.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=w(M,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,T as o,Ut as s,X as c,et as l,k as u,lt as d}from"./vendor-chart-Df3WBvr0.js";import{t as f}from"./button-Diu_mJ2H.js";import{t as p}from"./Navigator-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{D as e,E as t,M as n,N as r,O as i,P as a,T as o,Ut as s,X as c,et as l,k as u,lt as d}from"./vendor-chart-Df3WBvr0.js";import{t as f}from"./button-Diu_mJ2H.js";import{t as p}from"./Navigator-D2zK-c2T.js";import{t as m}from"./checkbox-WcW9DEt0.js";import{t as h}from"./divider-DpYRdXgs.js";import"./constants-BH6GgBVD.js";import{E as g,Er as _,On as v,gr as y,jt as b,kr as x,mr as S,pr as C,yr as w}from"./index-B0D_GXuA.js";import{t as T}from"./Status-O5IGe9zL.js";var E=a({name:`ApplicationConfirm`,components:{ElDialog:x,ElDivider:h,ElCheckbox:m,ElButton:f},props:{visible:{type:Boolean,required:!1,default:!1}},emits:[`update:visible`,`apply`],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:w,onApply(){if(!this.checked){_.error(this.$t(`application.message.notAgreePolicy`));return}this.$emit(`apply`)}}}),D={class:`content py-[10px] px-[40px]`},O={class:`my-4`},k={class:`policy mb-[10px]`},A={class:`policy-title text-[12px] relative -bottom-[3px]`},j=[`href`];function M(i,a,o,u,f,p){let m=l(`el-divider`),h=l(`el-checkbox`),g=l(`el-button`),_=l(`el-dialog`);return c(),e(_,{"model-value":i.visible,width:`500px`,title:i.$t(`application.message.welcome`),center:``,onClose:a[1]||=e=>i.$emit(`update:visible`,!1)},{default:d(()=>[t(`div`,D,[t(`p`,O,s(i.$t(`application.message.notApplied`)),1),r(m,{class:`my-2`}),t(`div`,k,[r(h,{modelValue:i.checked,"onUpdate:modelValue":a[0]||=e=>i.checked=e,size:`large`,class:`policy-checkbox mr-[10px]`},null,8,[`modelValue`]),t(`span`,A,s(i.$t(`application.message.readPolicy`)),1),t(`a`,{class:`policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline`,target:`_blank`,href:i.getBaseUrlPlatform()+`/terms`},` \xA0`+s(i.$t(`application.message.policy`)),9,j)]),r(g,{round:``,type:`primary`,onClick:i.onApply},{default:d(()=>[n(s(i.$t(`common.button.start`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`model-value`,`title`])}var N=a({name:`LayoutMain`,components:{Navigator:p,ApplicationStatus:T,ApplicationConfirm:g(E,[[`render`,M]])},provide(){return{initialized:o(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768,initializeRunId:0}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){let e=this.$store.state[this.appName]?.applications??[];console.debug(`individualApplications`,e);let t=this.$store.state.applications??[];return console.debug(`globalApplications`,t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===y.Request},service(){return this.$store.state[this.appName]?.service},userId(){return this.$store.state.user?.id}},watch:{appName(){this.initialize()},userId(e,t){e&&e!==t&&this.initialize()}},mounted(){this.initialize(),window.addEventListener(`resize`,this.onResize)},beforeUnmount(){window.removeEventListener(`resize`,this.onResize)},methods:{onResize(){this.mobile=window.innerWidth<768},async initialize(){let e=++this.initializeRunId;if(this.initialized=!1,console.debug(`Fetching all individual and global applications for`,this.appName),await Promise.allSettled([this.$store.dispatch(`getApplications`),this.$store.dispatch(`${this.appName}/getApplications`)]),e!==this.initializeRunId)return;console.debug(`Fetched all applications`,this.applications),this.$store.state.applications?.length===0&&await this.onAutoApply();let t=this.$store.state[this.appName]?.application;console.debug(`current application`,t);let n=b(this.applications,t);console.debug(`final application`,n),n&&(console.debug(`set final application`,n,n?.type),await this.$store.dispatch(`${this.appName}/setApplication`,n)),console.debug(`finished initialization`),this.initialized=!0},onApply(){this.onAutoApply()},async onAutoApply(){try{await v.create({type:S.USAGE,scope:C.GLOBAL,user_id:this.$store.getters.user.id}),this.applying=!1,await this.$store.dispatch(`getApplications`),this.showWelcomeToast()}catch(e){e?.response?.data?.code===`duplication`?await this.$store.dispatch(`getApplications`):_.error(this.$t(`application.message.applyFailed`))}},showWelcomeToast(){let e=this.$store.state.applications?.[0],t=Math.floor(e?.remaining_amount??0);_({message:t>0?this.$t(`application.message.welcomeWithCredits`,{credits:t}):this.$t(`application.message.welcomeNoCredits`),type:`success`,duration:6e3,showClose:!0})}}}),P={class:`wrapper`};function F(t,n,a,o,s,d){let f=l(`router-view`),p=l(`navigator`),m=l(`application-status`),h=l(`application-confirm`);return c(),u(`div`,P,[r(f,{class:`main`}),r(p,{class:`navigator`,direction:t.mobile?`row`:`column`},null,8,[`direction`]),t.application?(c(),e(m,{key:0,class:`status-floating fixed right-2 z-[200]`,application:t.application,applications:t.applications,"show-price":!1,authenticated:!!t.$store.state.token.access,service:t.service,onSelect:n[0]||=e=>t.$store.dispatch(`${t.appName}/setApplication`,e)},null,8,[`application`,`applications`,`authenticated`,`service`])):i(``,!0),r(h,{modelValue:t.applying,"onUpdate:modelValue":n[1]||=e=>t.applying=e,modelModifiers:{visible:!0},onApply:t.onApply},null,8,[`modelValue`,`onApply`])])}var I=g(N,[[`render`,F],[`__scopeId`,`data-v-319483e1`]]);export{I as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as ee,Ut as s,X as c,et as l,k as u,lt as d,x as f,y as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-Diu_mJ2H.js";import{t as h}from"./upload-C5oGDMOb.js";import{t as g}from"./image-BNF3_A0F.js";import{t as _}from"./alert-Cs6WDxgv.js";import{n as v,r as y}from"./radio-ClH7NqRe.js";import{t as b}from"./switch-Drk-LSNf.js";import{t as x}from"./vendor-axios-Ck2ffRoh.js";import"./constants-TawJIXae.js";import{E as S,Er as C,J as w,Kt as T,Nr as E,Ot as te,yr as D}from"./index-CSTCoQPG.js";import{t as O}from"./index.es-aoB3lpRt.js";import{t as k}from"./CopyToClipboard-Bs47GtOf.js";import{t as A}from"./Hailuo-DdjpargW.js";import{t as j}from"./BotPlaceholder-sRZxYWRx.js";import{t as M}from"./TabSwitcher-lJxnfw37.js";var N=4,P=90,F=o({name:`FishRecorder`,components:{ElButton:m,FontAwesomeIcon:O},emits:[`done`,`cancel`,`update:script`],data(){return{state:`idle`,scriptIndex:0,seconds:0,timerId:0,maxTimerId:0,mediaRecorder:null,stream:null,chunks:[],recordedBlob:null,recordedUrl:``,uploading:!1}},computed:{formattedTime(){let e=Math.floor(this.seconds/60),t=this.seconds%60;return`${e.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},currentScript(){let e=`fish.script.passage${this.scriptIndex%N+1}`;return this.$t(e)}},beforeUnmount(){this.cleanup()},mounted(){this.$emit(`update:script`,this.currentScript)},methods:{nextScript(){this.scriptIndex=(this.scriptIndex+1)%N,this.$emit(`update:script`,this.currentScript)},async startRecord(){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){C.error(this.$t(`fish.message.recorderUnsupported`));return}try{this.stream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`;C.error(this.$t(t?`fish.message.micDenied`:`fish.message.micError`));return}this.chunks=[];let e=this.pickMimeType();try{this.mediaRecorder=e?new MediaRecorder(this.stream,{mimeType:e}):new MediaRecorder(this.stream)}catch{this.mediaRecorder=new MediaRecorder(this.stream)}this.mediaRecorder.ondataavailable=e=>{e.data&&e.data.size>0&&this.chunks.push(e.data)},this.mediaRecorder.onstop=()=>{let e=new Blob(this.chunks,{type:this.mediaRecorder?.mimeType||`audio/webm`});this.recordedBlob=e,this.recordedUrl=URL.createObjectURL(e),this.state=`recorded`,this.releaseStream()},this.mediaRecorder.start(),this.state=`recording`,this.seconds=0,this.timerId=window.setInterval(()=>{this.seconds++},1e3),this.maxTimerId=window.setTimeout(()=>{this.state===`recording`&&this.stopRecord()},P*1e3)},stopRecord(){this.mediaRecorder&&this.mediaRecorder.state!==`inactive`&&this.mediaRecorder.stop(),window.clearInterval(this.timerId),window.clearTimeout(this.maxTimerId)},reset(){this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl),this.recordedUrl=``,this.recordedBlob=null,this.state=`idle`,this.seconds=0},onCancel(){this.cleanup(),this.$emit(`cancel`)},cleanup(){this.stopRecord(),this.releaseStream(),this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl)},releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=null},pickMimeType(){for(let e of[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`])if(typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported?.(e))return e},extensionForMime(e){return e.includes(`webm`)?`webm`:e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`mp3`},async useRecording(){if(this.recordedBlob){if(this.seconds<3){C.warning(this.$t(`fish.message.recordingTooShort`));return}this.uploading=!0;try{let e=this.$store.state.token?.access,t=this.extensionForMime(this.recordedBlob.type||``),n=new File([this.recordedBlob],`recording-${Date.now()}.${t}`,{type:this.recordedBlob.type||`audio/webm`}),r=new FormData;r.append(`file`,n);let{data:i}=await x.post(`${D()}/api/v1/files/`,r,{headers:{Authorization:`Bearer ${e}`}}),a=i?.file_url;if(!a){C.error(this.$t(`fish.message.uploadError`));return}this.$emit(`done`,{url:a,text:this.currentScript})}catch(e){C.error(this.$t(`fish.message.uploadError`)),console.error(`recorder upload failed`,e)}finally{this.uploading=!1}}}}}),I={class:`recorder`},L={key:0,class:`script`},R={class:`script-header`},z={class:`label`},B={class:`script-text`},V={class:`controls`},H={class:`status`},U={class:`hint`},W={key:1,class:`preview`},G=[`src`],K={class:`preview-actions`},q={class:`footer`};function J(o,ee,f,p,m,h){let g=l(`font-awesome-icon`),_=l(`el-button`);return c(),u(`div`,I,[o.state===`recorded`?a(``,!0):(c(),u(`div`,L,[n(`div`,R,[i(g,{icon:`fa-solid fa-book-open`,class:`icon mr-1`}),n(`span`,z,s(o.$t(`fish.description.readScript`)),1),i(_,{link:``,size:`small`,class:`ml-auto`,disabled:o.state===`recording`,onClick:o.nextScript},{default:d(()=>[i(g,{icon:`fa-solid fa-shuffle`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.nextScript`)),1)]),_:1},8,[`disabled`,`onClick`])]),n(`p`,B,s(o.currentScript),1)])),n(`div`,V,[o.state===`idle`?(c(),t(_,{key:0,type:`danger`,circle:``,size:`large`,title:o.$t(`fish.button.startRecord`),onClick:o.startRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-microphone`})]),_:1},8,[`title`,`onClick`])):o.state===`recording`?(c(),t(_,{key:1,type:`warning`,circle:``,size:`large`,title:o.$t(`fish.button.stopRecord`),onClick:o.stopRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-stop`})]),_:1},8,[`title`,`onClick`])):a(``,!0),n(`div`,H,[n(`span`,{class:e([`timer`,o.state===`recording`?`live`:``])},s(o.formattedTime),3),n(`span`,U,s(o.state===`idle`?o.$t(`fish.description.recorderIdle`):o.state===`recording`?o.$t(`fish.description.recorderRecording`):o.$t(`fish.description.recorderRecorded`)),1)])]),o.state===`recorded`&&o.recordedUrl?(c(),u(`div`,W,[n(`audio`,{src:o.recordedUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,G),n(`div`,K,[i(_,{size:`small`,disabled:o.uploading,onClick:o.reset},{default:d(()=>[i(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.reRecord`)),1)]),_:1},8,[`disabled`,`onClick`]),i(_,{size:`small`,type:`primary`,loading:o.uploading,onClick:o.useRecording},{default:d(()=>[i(g,{icon:`fa-solid fa-check`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.useRecording`)),1)]),_:1},8,[`loading`,`onClick`])])])):a(``,!0),n(`div`,q,[i(_,{link:``,size:`small`,disabled:o.uploading||o.state===`recording`,onClick:o.onCancel},{default:d(()=>[r(s(o.$t(`fish.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Y=S(F,[[`render`,J],[`__scopeId`,`data-v-1958e4a1`]]),X=50*1024*1024,Z=()=>({title:``,description:``,texts:``,voicesUrl:``,visibility:`unlist`,trainMode:`fast`,enhanceAudio:!0,generateSample:!1}),Q=o({name:`FishModelConfigPanel`,components:{ElButton:m,ElInput:E,ElRadioButton:v,ElRadioGroup:y,ElSwitch:b,ElUpload:h,FontAwesomeIcon:O,Recorder:Y},mixins:[te],emits:[`create`],data(){return{form:Z(),fileList:[],uploading:!1,creating:!1,recording:!1,textsAuto:!0}},computed:{uploadUrl(){return D()+`/api/v1/files/`},uploadHeaders(){return{Authorization:`Bearer ${this.$store.state.token?.access}`}},canCreate(){return!!this.form.title.trim()&&!!this.form.voicesUrl&&!this.uploading&&!this.creating},supportsRecorder(){return!!(typeof navigator<`u`?navigator.mediaDevices:void 0)?.getUserMedia&&typeof MediaRecorder<`u`}},methods:{onBeforeUpload(e){return e.size>X?(C.warning(this.$t(`fish.message.audioSizeExceed`)),!1):(this.uploading=!0,!0)},onExceed(){C.warning(this.$t(`fish.message.audioOnlyOne`))},onUploadError(){this.uploading=!1,C.error(this.$t(`fish.message.uploadError`))},onUploadSuccess(e,t,n){this.uploading=!1;let r=e?.file_url;if(!r){C.error(this.$t(`fish.message.uploadError`)),this.fileList=[];return}this.form.voicesUrl=r,this.fileList=n},onRecorded(e){this.form.voicesUrl=e.url,this.recording=!1,e.text&&this.textsAuto&&(this.form.texts=e.text)},onStartRecord(){this.recording=!0,this.textsAuto=!this.form.texts.trim()},onScriptChange(e){this.textsAuto&&this.recording&&(this.form.texts=e)},onTextsInput(){this.textsAuto=!1},clearAudio(){this.form.voicesUrl=``,this.fileList=[]},onCreate(){let e=this.form.title.trim();if(!e){C.warning(this.$t(`fish.message.titleRequired`));return}if(!this.form.voicesUrl){C.warning(this.$t(`fish.message.audioRequired`));return}let t={title:e,voices:this.form.voicesUrl,visibility:this.form.visibility,train_mode:this.form.trainMode,enhance_audio_quality:this.form.enhanceAudio,generate_sample:this.form.generateSample};this.form.description.trim()&&(t.description=this.form.description.trim()),this.form.texts.trim()&&(t.texts=[this.form.texts.trim()]),this.creating=!0,this.$emit(`create`,t),setTimeout(()=>{this.creating=!1,this.form=Z(),this.fileList=[]},600)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field-block mb-4`},ae={class:`title font-bold`},oe={class:`field-block mb-4`},se={class:`flex items-baseline justify-between mb-1`},ce={class:`title font-bold`},le={key:0,class:`muted`},ue={class:`hint`},de={key:0,class:`audio-actions`},fe={key:1,class:`hint warn`},pe={key:3,class:`mt-2`},me=[`src`],he={class:`ready-actions`},ge={class:`field-block mb-4`},_e={class:`title font-bold`},ve={class:`hint`},ye={class:`field-block mb-4`},be={class:`title font-bold`},xe={class:`field-block mb-4`},Se={class:`title font-bold`},Ce={class:`field-block mb-4`},we={class:`title font-bold`},Te={class:`field-block mb-3`},Ee={class:`field-row`},De={class:`title font-bold`},Oe={class:`hint mt-0 mb-0`},ke={class:`field-block mb-2`},Ae={class:`field-row`},je={class:`title font-bold`},Me={class:`hint mt-0 mb-0`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,o,ee,f,p,m){let h=l(`el-input`),g=l(`font-awesome-icon`),_=l(`el-button`),v=l(`el-upload`),y=l(`recorder`),b=l(`el-radio-button`),x=l(`el-radio-group`),S=l(`el-switch`);return c(),u(`div`,ne,[n(`div`,re,[n(`div`,ie,[n(`h2`,ae,[r(s(e.$t(`fish.name.voiceTitle`))+` `,1),o[9]||=n(`span`,{class:`required`},`*`,-1)]),i(h,{modelValue:e.form.title,"onUpdate:modelValue":o[0]||=t=>e.form.title=t,placeholder:e.$t(`fish.placeholder.voiceTitle`),maxlength:`60`},null,8,[`modelValue`,`placeholder`])]),n(`div`,oe,[n(`div`,se,[n(`h2`,ce,[r(s(e.$t(`fish.name.referenceAudio`))+` `,1),o[10]||=n(`span`,{class:`required`},`*`,-1)]),!e.form.voicesUrl&&!e.recording?(c(),u(`span`,le,s(e.$t(`fish.description.audioRequired`)),1)):a(``,!0)]),n(`p`,ue,s(e.$t(`fish.description.uploadAudio`)),1),!e.form.voicesUrl&&!e.recording?(c(),u(`div`,de,[i(v,{"file-list":e.fileList,"onUpdate:fileList":o[1]||=t=>e.fileList=t,name:`file`,limit:1,class:`upload-wrapper`,action:e.uploadUrl,accept:`.mp3,.wav,.m4a,.ogg,.webm,audio/*`,"show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onUploadError,"on-success":e.onUploadSuccess,"before-upload":e.onBeforeUpload,headers:e.uploadHeaders},{default:d(()=>[i(_,{type:`primary`,plain:``,round:``,loading:e.uploading},{default:d(()=>[i(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+s(e.$t(`fish.button.uploadAudio`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`before-upload`,`headers`]),i(_,{type:`primary`,round:``,disabled:!e.supportsRecorder,onClick:e.onStartRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-microphone`,class:`icon mr-1`}),r(` `+s(e.$t(`fish.button.recordAudio`)),1)]),_:1},8,[`disabled`,`onClick`])])):a(``,!0),!e.supportsRecorder&&!e.form.voicesUrl&&!e.recording?(c(),u(`p`,fe,s(e.$t(`fish.message.recorderUnsupported`)),1)):a(``,!0),e.recording?(c(),t(y,{key:2,class:`mt-2`,onDone:e.onRecorded,onCancel:o[2]||=t=>e.recording=!1,"onUpdate:script":e.onScriptChange},null,8,[`onDone`,`onUpdate:script`])):a(``,!0),e.form.voicesUrl&&!e.recording?(c(),u(`div`,pe,[n(`audio`,{src:e.form.voicesUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,me),n(`div`,he,[i(_,{link:``,size:`small`,onClick:e.clearAudio},{default:d(()=>[i(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),r(` `+s(e.$t(`fish.button.replaceAudio`)),1)]),_:1},8,[`onClick`])])])):a(``,!0)]),n(`div`,ge,[n(`h2`,_e,s(e.$t(`fish.name.audioTexts`)),1),n(`p`,ve,s(e.$t(`fish.description.audioTexts`)),1),i(h,{modelValue:e.form.texts,"onUpdate:modelValue":o[3]||=t=>e.form.texts=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.audioTexts`),maxlength:`500`,onInput:e.onTextsInput},null,8,[`modelValue`,`placeholder`,`onInput`])]),n(`div`,ye,[n(`h2`,be,s(e.$t(`fish.name.voiceDescription`)),1),i(h,{modelValue:e.form.description,"onUpdate:modelValue":o[4]||=t=>e.form.description=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.voiceDescription`),maxlength:`500`},null,8,[`modelValue`,`placeholder`])]),n(`div`,xe,[n(`h2`,Se,s(e.$t(`fish.name.visibility`)),1),i(x,{modelValue:e.form.visibility,"onUpdate:modelValue":o[5]||=t=>e.form.visibility=t,size:`small`},{default:d(()=>[i(b,{label:`private`,value:`private`},{default:d(()=>[r(s(e.$t(`fish.value.private`)),1)]),_:1}),i(b,{label:`unlist`,value:`unlist`},{default:d(()=>[r(s(e.$t(`fish.value.unlist`)),1)]),_:1}),i(b,{label:`public`,value:`public`},{default:d(()=>[r(s(e.$t(`fish.value.public`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,Ce,[n(`h2`,we,s(e.$t(`fish.name.trainMode`)),1),i(x,{modelValue:e.form.trainMode,"onUpdate:modelValue":o[6]||=t=>e.form.trainMode=t,size:`small`},{default:d(()=>[i(b,{label:`fast`,value:`fast`},{default:d(()=>[r(s(e.$t(`fish.value.trainModeFast`)),1)]),_:1}),i(b,{label:`precise`,value:`precise`},{default:d(()=>[r(s(e.$t(`fish.value.trainModePrecise`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,Te,[n(`div`,Ee,[n(`h2`,De,s(e.$t(`fish.name.enhanceAudio`)),1),i(S,{modelValue:e.form.enhanceAudio,"onUpdate:modelValue":o[7]||=t=>e.form.enhanceAudio=t},null,8,[`modelValue`])]),n(`p`,Oe,s(e.$t(`fish.description.enhanceAudio`)),1)]),n(`div`,ke,[n(`div`,Ae,[n(`h2`,je,s(e.$t(`fish.name.generateSample`)),1),i(S,{modelValue:e.form.generateSample,"onUpdate:modelValue":o[8]||=t=>e.form.generateSample=t},null,8,[`modelValue`])]),n(`p`,Me,s(e.$t(`fish.description.generateSample`)),1)])]),n(`div`,Ne,[i(_,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canCreate||e.creating,loading:e.creating,onClick:e.onCreate},{default:d(()=>[i(g,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+s(e.$t(`fish.button.createModel`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])])])}var Fe=S(Q,[[`render`,Pe],[`__scopeId`,`data-v-d8fc0e55`]]),Ie=o({name:`FishVoiceCard`,components:{ElAlert:_,ElButton:m,ElImage:g,CopyToClipboard:k,FontAwesomeIcon:O},props:{modelValue:{type:Object,required:!0}},computed:{sampleAudioUrl(){let e=this.modelValue?.samples;if(e?.length)return e[0]?.audio},voiceId(){let e=this.modelValue;return(e?.id||e?._id||e?.reference_id||``).toString()},coverSrc(){let e=this.modelValue?.cover_image;return e&&typeof e==`string`?e:void 0},createdAtLabel(){let e=this.modelValue?.created_at;if(e==null||e===``)return null;let t=typeof e==`number`?e:parseFloat(String(e));return!Number.isFinite(t)||t<=0?null:this.$dayjs.format(``+new Date(t*1e3))}},methods:{onUseVoice(){let e=this.voiceId;e&&(this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e}),this.$router.push({name:w}))}}}),Le={class:`card`},Re={class:`left`},ze={class:`main`},Be={class:`header`},Ve={class:`title`},He={key:0,class:`datetime`},Ue={key:0,class:`description`},We={key:1,class:`sample mt-2`},Ge=[`src`],Ke={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qe={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Je={class:`operations mt-2`};function Ye(e,o,ee,f,m,h){let g=l(`el-image`),_=l(`font-awesome-icon`),v=l(`copy-to-clipboard`),y=l(`el-alert`),b=l(`el-button`);return c(),u(`div`,Le,[n(`div`,Re,[e.coverSrc?(c(),t(g,{key:0,src:e.coverSrc,class:`cover`,fit:`cover`},{error:d(()=>[i(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`})]),placeholder:d(()=>[...o[0]||=[n(`div`,{class:`cover placeholder`},null,-1)]]),_:1},8,[`src`])):(c(),t(g,{key:1,src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`}))]),n(`div`,ze,[n(`div`,Be,[n(`span`,Ve,s(e.modelValue?.title||e.$t(`fish.name.untitledVoice`)),1),e.createdAtLabel?(c(),u(`span`,He,s(e.createdAtLabel),1)):a(``,!0)]),e.modelValue?.description?(c(),u(`p`,Ue,s(e.modelValue?.description),1)):a(``,!0),e.sampleAudioUrl?(c(),u(`div`,We,[n(`audio`,{src:e.sampleAudioUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,Ge)])):a(``,!0),i(y,{closable:!1,class:`mt-2 success`},{default:d(()=>[e.voiceId?(c(),u(`p`,Ke,[i(_,{icon:`fa-solid fa-microphone`,class:`mr-1`}),r(` `+s(e.$t(`fish.name.referenceId`))+`: `+s(e.voiceId)+` `,1),i(v,{content:e.voiceId},null,8,[`content`])])):a(``,!0),e.modelValue?.visibility?(c(),u(`p`,qe,[i(_,{icon:`fa-solid fa-eye`,class:`mr-1`}),r(` `+s(e.$t(`fish.name.visibility`))+`: `+s(e.modelValue?.visibility),1)])):a(``,!0)]),_:1}),n(`div`,Je,[i(b,{type:`primary`,size:`small`,plain:``,disabled:!e.voiceId,onClick:p(e.onUseVoice,[`stop`])},{default:d(()=>[i(_,{icon:`fa-solid fa-volume-high`,class:`mr-1`}),r(` `+s(e.$t(`fish.button.useVoice`)),1)]),_:1},8,[`disabled`,`onClick`])])])])}var Xe=o({name:`FishModelListPanel`,components:{VoiceCard:S(Ie,[[`render`,Ye],[`__scopeId`,`data-v-629e2d04`]]),BotPlaceholder:j,FontAwesomeIcon:O},props:{loading:{type:Boolean,default:!1}},computed:{voices(){return this.$store.state.fish?.voices}}}),Ze={class:`model-list-panel flex flex-col h-full`},Qe={class:`header`},$e={class:`title`},et={key:0,class:`count`},tt={class:`body flex-1 min-h-0`},$={key:0,class:`h-full`},nt={key:1,class:`w-full h-full flex flex-col items-center justify-center text-center px-6`},rt={class:`empty-title`},it={class:`empty-hint`},at={key:2,class:`w-full h-full overflow-y-auto pr-1`};function ot(e,r,o,d,p,m){let h=l(`bot-placeholder`),g=l(`font-awesome-icon`),_=l(`voice-card`);return c(),u(`div`,Ze,[n(`header`,Qe,[n(`h2`,$e,s(e.$t(`fish.title.myVoices`)),1),e.voices?.length?(c(),u(`span`,et,s(e.voices?.length),1)):a(``,!0)]),n(`div`,tt,[e.voices===void 0?(c(),u(`div`,$,[i(h)])):e.voices.length===0?(c(),u(`div`,nt,[i(g,{icon:`fa-solid fa-microphone-lines`,class:`empty-icon`}),n(`p`,rt,s(e.$t(`fish.title.noVoicesYet`)),1),n(`p`,it,s(e.$t(`fish.description.noVoicesYet`)),1)])):(c(),u(`div`,at,[(c(!0),u(f,null,ee(e.voices,e=>(c(),t(_,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]))])])}var st=o({name:`FishModelIndex`,components:{ModelConfigPanel:Fe,Layout:A,ModelListPanel:S(Xe,[[`render`,ot],[`__scopeId`,`data-v-4aab2294`]]),TabSwitcher:M},inject:[`initialized`],data(){return{loading:!1}},computed:{credential(){return this.$store.state.fish?.credential}},watch:{initialized:{async handler(e){e&&await this.onGetVoices()},immediate:!0}},async mounted(){await this.onGetService()},methods:{async onGetService(){await this.$store.dispatch(`fish/getService`)},async onGetVoices(){await this.$store.dispatch(`fish/getVoices`)},async onCreate(e){let t=this.credential?.token;if(!t){console.error(`no token specified`);return}this.loading=!0,C.info(this.$t(`fish.message.creatingModel`));try{await T.createModel(e,{token:t}),C.success(this.$t(`fish.message.createModelSuccess`)),await this.onGetVoices()}catch(e){let t=e?.response?.data;t?.error?.code===`used_up`?C.error(this.$t(`fish.message.usedUp`)):C.error(t?.error?.message||this.$t(`fish.message.createModelFailed`))}finally{this.loading=!1}}}}),ct={class:`flex flex-col h-full`},lt={class:`flex-1 min-h-0`};function ut(e,r,a,o,ee,s){let u=l(`tab-switcher`),f=l(`model-config-panel`),p=l(`model-list-panel`),m=l(`layout`);return c(),t(m,null,{config:d(()=>[n(`div`,ct,[i(u),n(`div`,lt,[i(f,{onCreate:e.onCreate},null,8,[`onCreate`])])])]),result:d(()=>[i(p,{loading:e.loading},null,8,[`loading`])]),_:1})}var dt=S(st,[[`render`,ut]]);export{dt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as ee,Ut as s,X as c,et as l,k as u,lt as d,x as f,y as p}from"./vendor-chart-Df3WBvr0.js";import{t as m}from"./button-Diu_mJ2H.js";import{t as h}from"./upload-DL6R-BcD.js";import{t as g}from"./image-D6w_R6Gb.js";import{t as _}from"./alert-Cs6WDxgv.js";import{n as v,r as y}from"./radio-ClH7NqRe.js";import{t as b}from"./switch-Cd_GVBye.js";import{t as x}from"./vendor-axios-Ck2ffRoh.js";import"./constants-BH6GgBVD.js";import{E as S,Er as C,J as w,Kt as T,Nr as E,Ot as te,yr as D}from"./index-B0D_GXuA.js";import{t as O}from"./index.es-CyW7EvoI.js";import{t as k}from"./CopyToClipboard-D0L4lc6w.js";import{t as A}from"./Hailuo-ta7lzxug.js";import{t as j}from"./BotPlaceholder-Ca3n8DbE.js";import{t as M}from"./TabSwitcher-C1q_IkDv.js";var N=4,P=90,F=o({name:`FishRecorder`,components:{ElButton:m,FontAwesomeIcon:O},emits:[`done`,`cancel`,`update:script`],data(){return{state:`idle`,scriptIndex:0,seconds:0,timerId:0,maxTimerId:0,mediaRecorder:null,stream:null,chunks:[],recordedBlob:null,recordedUrl:``,uploading:!1}},computed:{formattedTime(){let e=Math.floor(this.seconds/60),t=this.seconds%60;return`${e.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},currentScript(){let e=`fish.script.passage${this.scriptIndex%N+1}`;return this.$t(e)}},beforeUnmount(){this.cleanup()},mounted(){this.$emit(`update:script`,this.currentScript)},methods:{nextScript(){this.scriptIndex=(this.scriptIndex+1)%N,this.$emit(`update:script`,this.currentScript)},async startRecord(){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){C.error(this.$t(`fish.message.recorderUnsupported`));return}try{this.stream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`;C.error(this.$t(t?`fish.message.micDenied`:`fish.message.micError`));return}this.chunks=[];let e=this.pickMimeType();try{this.mediaRecorder=e?new MediaRecorder(this.stream,{mimeType:e}):new MediaRecorder(this.stream)}catch{this.mediaRecorder=new MediaRecorder(this.stream)}this.mediaRecorder.ondataavailable=e=>{e.data&&e.data.size>0&&this.chunks.push(e.data)},this.mediaRecorder.onstop=()=>{let e=new Blob(this.chunks,{type:this.mediaRecorder?.mimeType||`audio/webm`});this.recordedBlob=e,this.recordedUrl=URL.createObjectURL(e),this.state=`recorded`,this.releaseStream()},this.mediaRecorder.start(),this.state=`recording`,this.seconds=0,this.timerId=window.setInterval(()=>{this.seconds++},1e3),this.maxTimerId=window.setTimeout(()=>{this.state===`recording`&&this.stopRecord()},P*1e3)},stopRecord(){this.mediaRecorder&&this.mediaRecorder.state!==`inactive`&&this.mediaRecorder.stop(),window.clearInterval(this.timerId),window.clearTimeout(this.maxTimerId)},reset(){this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl),this.recordedUrl=``,this.recordedBlob=null,this.state=`idle`,this.seconds=0},onCancel(){this.cleanup(),this.$emit(`cancel`)},cleanup(){this.stopRecord(),this.releaseStream(),this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl)},releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=null},pickMimeType(){for(let e of[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`])if(typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported?.(e))return e},extensionForMime(e){return e.includes(`webm`)?`webm`:e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`mp3`},async useRecording(){if(this.recordedBlob){if(this.seconds<3){C.warning(this.$t(`fish.message.recordingTooShort`));return}this.uploading=!0;try{let e=this.$store.state.token?.access,t=this.extensionForMime(this.recordedBlob.type||``),n=new File([this.recordedBlob],`recording-${Date.now()}.${t}`,{type:this.recordedBlob.type||`audio/webm`}),r=new FormData;r.append(`file`,n);let{data:i}=await x.post(`${D()}/api/v1/files/`,r,{headers:{Authorization:`Bearer ${e}`}}),a=i?.file_url;if(!a){C.error(this.$t(`fish.message.uploadError`));return}this.$emit(`done`,{url:a,text:this.currentScript})}catch(e){C.error(this.$t(`fish.message.uploadError`)),console.error(`recorder upload failed`,e)}finally{this.uploading=!1}}}}}),I={class:`recorder`},L={key:0,class:`script`},R={class:`script-header`},z={class:`label`},B={class:`script-text`},V={class:`controls`},H={class:`status`},U={class:`hint`},W={key:1,class:`preview`},G=[`src`],K={class:`preview-actions`},q={class:`footer`};function J(o,ee,f,p,m,h){let g=l(`font-awesome-icon`),_=l(`el-button`);return c(),u(`div`,I,[o.state===`recorded`?a(``,!0):(c(),u(`div`,L,[n(`div`,R,[i(g,{icon:`fa-solid fa-book-open`,class:`icon mr-1`}),n(`span`,z,s(o.$t(`fish.description.readScript`)),1),i(_,{link:``,size:`small`,class:`ml-auto`,disabled:o.state===`recording`,onClick:o.nextScript},{default:d(()=>[i(g,{icon:`fa-solid fa-shuffle`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.nextScript`)),1)]),_:1},8,[`disabled`,`onClick`])]),n(`p`,B,s(o.currentScript),1)])),n(`div`,V,[o.state===`idle`?(c(),t(_,{key:0,type:`danger`,circle:``,size:`large`,title:o.$t(`fish.button.startRecord`),onClick:o.startRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-microphone`})]),_:1},8,[`title`,`onClick`])):o.state===`recording`?(c(),t(_,{key:1,type:`warning`,circle:``,size:`large`,title:o.$t(`fish.button.stopRecord`),onClick:o.stopRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-stop`})]),_:1},8,[`title`,`onClick`])):a(``,!0),n(`div`,H,[n(`span`,{class:e([`timer`,o.state===`recording`?`live`:``])},s(o.formattedTime),3),n(`span`,U,s(o.state===`idle`?o.$t(`fish.description.recorderIdle`):o.state===`recording`?o.$t(`fish.description.recorderRecording`):o.$t(`fish.description.recorderRecorded`)),1)])]),o.state===`recorded`&&o.recordedUrl?(c(),u(`div`,W,[n(`audio`,{src:o.recordedUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,G),n(`div`,K,[i(_,{size:`small`,disabled:o.uploading,onClick:o.reset},{default:d(()=>[i(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.reRecord`)),1)]),_:1},8,[`disabled`,`onClick`]),i(_,{size:`small`,type:`primary`,loading:o.uploading,onClick:o.useRecording},{default:d(()=>[i(g,{icon:`fa-solid fa-check`,class:`mr-1`}),r(` `+s(o.$t(`fish.button.useRecording`)),1)]),_:1},8,[`loading`,`onClick`])])])):a(``,!0),n(`div`,q,[i(_,{link:``,size:`small`,disabled:o.uploading||o.state===`recording`,onClick:o.onCancel},{default:d(()=>[r(s(o.$t(`fish.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Y=S(F,[[`render`,J],[`__scopeId`,`data-v-1958e4a1`]]),X=50*1024*1024,Z=()=>({title:``,description:``,texts:``,voicesUrl:``,visibility:`unlist`,trainMode:`fast`,enhanceAudio:!0,generateSample:!1}),Q=o({name:`FishModelConfigPanel`,components:{ElButton:m,ElInput:E,ElRadioButton:v,ElRadioGroup:y,ElSwitch:b,ElUpload:h,FontAwesomeIcon:O,Recorder:Y},mixins:[te],emits:[`create`],data(){return{form:Z(),fileList:[],uploading:!1,creating:!1,recording:!1,textsAuto:!0}},computed:{uploadUrl(){return D()+`/api/v1/files/`},uploadHeaders(){return{Authorization:`Bearer ${this.$store.state.token?.access}`}},canCreate(){return!!this.form.title.trim()&&!!this.form.voicesUrl&&!this.uploading&&!this.creating},supportsRecorder(){return!!(typeof navigator<`u`?navigator.mediaDevices:void 0)?.getUserMedia&&typeof MediaRecorder<`u`}},methods:{onBeforeUpload(e){return e.size>X?(C.warning(this.$t(`fish.message.audioSizeExceed`)),!1):(this.uploading=!0,!0)},onExceed(){C.warning(this.$t(`fish.message.audioOnlyOne`))},onUploadError(){this.uploading=!1,C.error(this.$t(`fish.message.uploadError`))},onUploadSuccess(e,t,n){this.uploading=!1;let r=e?.file_url;if(!r){C.error(this.$t(`fish.message.uploadError`)),this.fileList=[];return}this.form.voicesUrl=r,this.fileList=n},onRecorded(e){this.form.voicesUrl=e.url,this.recording=!1,e.text&&this.textsAuto&&(this.form.texts=e.text)},onStartRecord(){this.recording=!0,this.textsAuto=!this.form.texts.trim()},onScriptChange(e){this.textsAuto&&this.recording&&(this.form.texts=e)},onTextsInput(){this.textsAuto=!1},clearAudio(){this.form.voicesUrl=``,this.fileList=[]},onCreate(){let e=this.form.title.trim();if(!e){C.warning(this.$t(`fish.message.titleRequired`));return}if(!this.form.voicesUrl){C.warning(this.$t(`fish.message.audioRequired`));return}let t={title:e,voices:this.form.voicesUrl,visibility:this.form.visibility,train_mode:this.form.trainMode,enhance_audio_quality:this.form.enhanceAudio,generate_sample:this.form.generateSample};this.form.description.trim()&&(t.description=this.form.description.trim()),this.form.texts.trim()&&(t.texts=[this.form.texts.trim()]),this.creating=!0,this.$emit(`create`,t),setTimeout(()=>{this.creating=!1,this.form=Z(),this.fileList=[]},600)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field-block mb-4`},ae={class:`title font-bold`},oe={class:`field-block mb-4`},se={class:`flex items-baseline justify-between mb-1`},ce={class:`title font-bold`},le={key:0,class:`muted`},ue={class:`hint`},de={key:0,class:`audio-actions`},fe={key:1,class:`hint warn`},pe={key:3,class:`mt-2`},me=[`src`],he={class:`ready-actions`},ge={class:`field-block mb-4`},_e={class:`title font-bold`},ve={class:`hint`},ye={class:`field-block mb-4`},be={class:`title font-bold`},xe={class:`field-block mb-4`},Se={class:`title font-bold`},Ce={class:`field-block mb-4`},we={class:`title font-bold`},Te={class:`field-block mb-3`},Ee={class:`field-row`},De={class:`title font-bold`},Oe={class:`hint mt-0 mb-0`},ke={class:`field-block mb-2`},Ae={class:`field-row`},je={class:`title font-bold`},Me={class:`hint mt-0 mb-0`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,o,ee,f,p,m){let h=l(`el-input`),g=l(`font-awesome-icon`),_=l(`el-button`),v=l(`el-upload`),y=l(`recorder`),b=l(`el-radio-button`),x=l(`el-radio-group`),S=l(`el-switch`);return c(),u(`div`,ne,[n(`div`,re,[n(`div`,ie,[n(`h2`,ae,[r(s(e.$t(`fish.name.voiceTitle`))+` `,1),o[9]||=n(`span`,{class:`required`},`*`,-1)]),i(h,{modelValue:e.form.title,"onUpdate:modelValue":o[0]||=t=>e.form.title=t,placeholder:e.$t(`fish.placeholder.voiceTitle`),maxlength:`60`},null,8,[`modelValue`,`placeholder`])]),n(`div`,oe,[n(`div`,se,[n(`h2`,ce,[r(s(e.$t(`fish.name.referenceAudio`))+` `,1),o[10]||=n(`span`,{class:`required`},`*`,-1)]),!e.form.voicesUrl&&!e.recording?(c(),u(`span`,le,s(e.$t(`fish.description.audioRequired`)),1)):a(``,!0)]),n(`p`,ue,s(e.$t(`fish.description.uploadAudio`)),1),!e.form.voicesUrl&&!e.recording?(c(),u(`div`,de,[i(v,{"file-list":e.fileList,"onUpdate:fileList":o[1]||=t=>e.fileList=t,name:`file`,limit:1,class:`upload-wrapper`,action:e.uploadUrl,accept:`.mp3,.wav,.m4a,.ogg,.webm,audio/*`,"show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onUploadError,"on-success":e.onUploadSuccess,"before-upload":e.onBeforeUpload,headers:e.uploadHeaders},{default:d(()=>[i(_,{type:`primary`,plain:``,round:``,loading:e.uploading},{default:d(()=>[i(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+s(e.$t(`fish.button.uploadAudio`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`before-upload`,`headers`]),i(_,{type:`primary`,round:``,disabled:!e.supportsRecorder,onClick:e.onStartRecord},{default:d(()=>[i(g,{icon:`fa-solid fa-microphone`,class:`icon mr-1`}),r(` `+s(e.$t(`fish.button.recordAudio`)),1)]),_:1},8,[`disabled`,`onClick`])])):a(``,!0),!e.supportsRecorder&&!e.form.voicesUrl&&!e.recording?(c(),u(`p`,fe,s(e.$t(`fish.message.recorderUnsupported`)),1)):a(``,!0),e.recording?(c(),t(y,{key:2,class:`mt-2`,onDone:e.onRecorded,onCancel:o[2]||=t=>e.recording=!1,"onUpdate:script":e.onScriptChange},null,8,[`onDone`,`onUpdate:script`])):a(``,!0),e.form.voicesUrl&&!e.recording?(c(),u(`div`,pe,[n(`audio`,{src:e.form.voicesUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,me),n(`div`,he,[i(_,{link:``,size:`small`,onClick:e.clearAudio},{default:d(()=>[i(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),r(` `+s(e.$t(`fish.button.replaceAudio`)),1)]),_:1},8,[`onClick`])])])):a(``,!0)]),n(`div`,ge,[n(`h2`,_e,s(e.$t(`fish.name.audioTexts`)),1),n(`p`,ve,s(e.$t(`fish.description.audioTexts`)),1),i(h,{modelValue:e.form.texts,"onUpdate:modelValue":o[3]||=t=>e.form.texts=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.audioTexts`),maxlength:`500`,onInput:e.onTextsInput},null,8,[`modelValue`,`placeholder`,`onInput`])]),n(`div`,ye,[n(`h2`,be,s(e.$t(`fish.name.voiceDescription`)),1),i(h,{modelValue:e.form.description,"onUpdate:modelValue":o[4]||=t=>e.form.description=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.voiceDescription`),maxlength:`500`},null,8,[`modelValue`,`placeholder`])]),n(`div`,xe,[n(`h2`,Se,s(e.$t(`fish.name.visibility`)),1),i(x,{modelValue:e.form.visibility,"onUpdate:modelValue":o[5]||=t=>e.form.visibility=t,size:`small`},{default:d(()=>[i(b,{label:`private`,value:`private`},{default:d(()=>[r(s(e.$t(`fish.value.private`)),1)]),_:1}),i(b,{label:`unlist`,value:`unlist`},{default:d(()=>[r(s(e.$t(`fish.value.unlist`)),1)]),_:1}),i(b,{label:`public`,value:`public`},{default:d(()=>[r(s(e.$t(`fish.value.public`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,Ce,[n(`h2`,we,s(e.$t(`fish.name.trainMode`)),1),i(x,{modelValue:e.form.trainMode,"onUpdate:modelValue":o[6]||=t=>e.form.trainMode=t,size:`small`},{default:d(()=>[i(b,{label:`fast`,value:`fast`},{default:d(()=>[r(s(e.$t(`fish.value.trainModeFast`)),1)]),_:1}),i(b,{label:`precise`,value:`precise`},{default:d(()=>[r(s(e.$t(`fish.value.trainModePrecise`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,Te,[n(`div`,Ee,[n(`h2`,De,s(e.$t(`fish.name.enhanceAudio`)),1),i(S,{modelValue:e.form.enhanceAudio,"onUpdate:modelValue":o[7]||=t=>e.form.enhanceAudio=t},null,8,[`modelValue`])]),n(`p`,Oe,s(e.$t(`fish.description.enhanceAudio`)),1)]),n(`div`,ke,[n(`div`,Ae,[n(`h2`,je,s(e.$t(`fish.name.generateSample`)),1),i(S,{modelValue:e.form.generateSample,"onUpdate:modelValue":o[8]||=t=>e.form.generateSample=t},null,8,[`modelValue`])]),n(`p`,Me,s(e.$t(`fish.description.generateSample`)),1)])]),n(`div`,Ne,[i(_,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canCreate||e.creating,loading:e.creating,onClick:e.onCreate},{default:d(()=>[i(g,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+s(e.$t(`fish.button.createModel`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])])])}var Fe=S(Q,[[`render`,Pe],[`__scopeId`,`data-v-d8fc0e55`]]),Ie=o({name:`FishVoiceCard`,components:{ElAlert:_,ElButton:m,ElImage:g,CopyToClipboard:k,FontAwesomeIcon:O},props:{modelValue:{type:Object,required:!0}},computed:{sampleAudioUrl(){let e=this.modelValue?.samples;if(e?.length)return e[0]?.audio},voiceId(){let e=this.modelValue;return(e?.id||e?._id||e?.reference_id||``).toString()},coverSrc(){let e=this.modelValue?.cover_image;return e&&typeof e==`string`?e:void 0},createdAtLabel(){let e=this.modelValue?.created_at;if(e==null||e===``)return null;let t=typeof e==`number`?e:parseFloat(String(e));return!Number.isFinite(t)||t<=0?null:this.$dayjs.format(``+new Date(t*1e3))}},methods:{onUseVoice(){let e=this.voiceId;e&&(this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e}),this.$router.push({name:w}))}}}),Le={class:`card`},Re={class:`left`},ze={class:`main`},Be={class:`header`},Ve={class:`title`},He={key:0,class:`datetime`},Ue={key:0,class:`description`},We={key:1,class:`sample mt-2`},Ge=[`src`],Ke={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qe={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Je={class:`operations mt-2`};function Ye(e,o,ee,f,m,h){let g=l(`el-image`),_=l(`font-awesome-icon`),v=l(`copy-to-clipboard`),y=l(`el-alert`),b=l(`el-button`);return c(),u(`div`,Le,[n(`div`,Re,[e.coverSrc?(c(),t(g,{key:0,src:e.coverSrc,class:`cover`,fit:`cover`},{error:d(()=>[i(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`})]),placeholder:d(()=>[...o[0]||=[n(`div`,{class:`cover placeholder`},null,-1)]]),_:1},8,[`src`])):(c(),t(g,{key:1,src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`}))]),n(`div`,ze,[n(`div`,Be,[n(`span`,Ve,s(e.modelValue?.title||e.$t(`fish.name.untitledVoice`)),1),e.createdAtLabel?(c(),u(`span`,He,s(e.createdAtLabel),1)):a(``,!0)]),e.modelValue?.description?(c(),u(`p`,Ue,s(e.modelValue?.description),1)):a(``,!0),e.sampleAudioUrl?(c(),u(`div`,We,[n(`audio`,{src:e.sampleAudioUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,Ge)])):a(``,!0),i(y,{closable:!1,class:`mt-2 success`},{default:d(()=>[e.voiceId?(c(),u(`p`,Ke,[i(_,{icon:`fa-solid fa-microphone`,class:`mr-1`}),r(` `+s(e.$t(`fish.name.referenceId`))+`: `+s(e.voiceId)+` `,1),i(v,{content:e.voiceId},null,8,[`content`])])):a(``,!0),e.modelValue?.visibility?(c(),u(`p`,qe,[i(_,{icon:`fa-solid fa-eye`,class:`mr-1`}),r(` `+s(e.$t(`fish.name.visibility`))+`: `+s(e.modelValue?.visibility),1)])):a(``,!0)]),_:1}),n(`div`,Je,[i(b,{type:`primary`,size:`small`,plain:``,disabled:!e.voiceId,onClick:p(e.onUseVoice,[`stop`])},{default:d(()=>[i(_,{icon:`fa-solid fa-volume-high`,class:`mr-1`}),r(` `+s(e.$t(`fish.button.useVoice`)),1)]),_:1},8,[`disabled`,`onClick`])])])])}var Xe=o({name:`FishModelListPanel`,components:{VoiceCard:S(Ie,[[`render`,Ye],[`__scopeId`,`data-v-629e2d04`]]),BotPlaceholder:j,FontAwesomeIcon:O},props:{loading:{type:Boolean,default:!1}},computed:{voices(){return this.$store.state.fish?.voices}}}),Ze={class:`model-list-panel flex flex-col h-full`},Qe={class:`header`},$e={class:`title`},et={key:0,class:`count`},tt={class:`body flex-1 min-h-0`},$={key:0,class:`h-full`},nt={key:1,class:`w-full h-full flex flex-col items-center justify-center text-center px-6`},rt={class:`empty-title`},it={class:`empty-hint`},at={key:2,class:`w-full h-full overflow-y-auto pr-1`};function ot(e,r,o,d,p,m){let h=l(`bot-placeholder`),g=l(`font-awesome-icon`),_=l(`voice-card`);return c(),u(`div`,Ze,[n(`header`,Qe,[n(`h2`,$e,s(e.$t(`fish.title.myVoices`)),1),e.voices?.length?(c(),u(`span`,et,s(e.voices?.length),1)):a(``,!0)]),n(`div`,tt,[e.voices===void 0?(c(),u(`div`,$,[i(h)])):e.voices.length===0?(c(),u(`div`,nt,[i(g,{icon:`fa-solid fa-microphone-lines`,class:`empty-icon`}),n(`p`,rt,s(e.$t(`fish.title.noVoicesYet`)),1),n(`p`,it,s(e.$t(`fish.description.noVoicesYet`)),1)])):(c(),u(`div`,at,[(c(!0),u(f,null,ee(e.voices,e=>(c(),t(_,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]))])])}var st=o({name:`FishModelIndex`,components:{ModelConfigPanel:Fe,Layout:A,ModelListPanel:S(Xe,[[`render`,ot],[`__scopeId`,`data-v-4aab2294`]]),TabSwitcher:M},inject:[`initialized`],data(){return{loading:!1}},computed:{credential(){return this.$store.state.fish?.credential}},watch:{initialized:{async handler(e){e&&await this.onGetVoices()},immediate:!0}},async mounted(){await this.onGetService()},methods:{async onGetService(){await this.$store.dispatch(`fish/getService`)},async onGetVoices(){await this.$store.dispatch(`fish/getVoices`)},async onCreate(e){let t=this.credential?.token;if(!t){console.error(`no token specified`);return}this.loading=!0,C.info(this.$t(`fish.message.creatingModel`));try{await T.createModel(e,{token:t}),C.success(this.$t(`fish.message.createModelSuccess`)),await this.onGetVoices()}catch(e){let t=e?.response?.data;t?.error?.code===`used_up`?C.error(this.$t(`fish.message.usedUp`)):C.error(t?.error?.message||this.$t(`fish.message.createModelFailed`))}finally{this.loading=!1}}}}),ct={class:`flex flex-col h-full`},lt={class:`flex-1 min-h-0`};function ut(e,r,a,o,ee,s){let u=l(`tab-switcher`),f=l(`model-config-panel`),p=l(`model-list-panel`),m=l(`layout`);return c(),t(m,null,{config:d(()=>[n(`div`,ct,[i(u),n(`div`,lt,[i(f,{onCreate:e.onCreate},null,8,[`onCreate`])])])]),result:d(()=>[i(p,{loading:e.loading},null,8,[`loading`])]),_:1})}var dt=S(st,[[`render`,ut]]);export{dt as default};
|