@acedatacloud/nexior 3.34.1 → 3.35.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.
Files changed (94) hide show
  1. package/dist/assets/{Auth-BR7AQdFb.js → Auth-BzXswjE4.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-CcWrwFmL.js → BotPlaceholder-BV2w6Q4w.js} +1 -1
  3. package/dist/assets/Browse-BHDvC_mG.js +1 -0
  4. package/dist/assets/Browse-oFjzU0X9.css +1 -0
  5. package/dist/assets/{Callback-xXjmMOcU.js → Callback-CQ8ko7C9.js} +1 -1
  6. package/dist/assets/{Console-nj_hwu1u.js → Console-UbGToFD6.js} +1 -1
  7. package/dist/assets/{Consumption-DB4jsCIw.js → Consumption-DEB600BC.js} +1 -1
  8. package/dist/assets/Conversation-B30jTIbD.js +23 -0
  9. package/dist/assets/{Conversation-BhCBL3G3.css → Conversation-T2K_c37M.css} +1 -1
  10. package/dist/assets/{CopyToClipboard-DY-UF17o.js → CopyToClipboard-cTbsayFn.js} +1 -1
  11. package/dist/assets/{Detail-Ja14bXDU.js → Detail-BQ0XJdOr.js} +2 -2
  12. package/dist/assets/{EditArray-BFLjz-wW.js → EditArray-DzSfUZdI.js} +1 -1
  13. package/dist/assets/{Extra-Clq8boad.js → Extra-BGXzckZL.js} +1 -1
  14. package/dist/assets/{FilePreview-xVo0BsJp.js → FilePreview-B3Gtn-Tg.js} +1 -1
  15. package/dist/assets/{History-Do3SJVGQ.js → History-BeUw1IaF.js} +1 -1
  16. package/dist/assets/{ImagePreview-eVaabJZn.js → ImagePreview-B5F24-Vs.js} +1 -1
  17. package/dist/assets/{ImageWrapper-BPES620_.js → ImageWrapper-hN1Hdu08.js} +1 -1
  18. package/dist/assets/Index-1KNMLovE.js +1 -0
  19. package/dist/assets/{Index-Bv3aPtGw.js → Index-3ZiNs4kq.js} +1 -1
  20. package/dist/assets/{Index-DPCPO7cj.js → Index-BAn75ep1.js} +1 -1
  21. package/dist/assets/{Index-DyFEHsky.js → Index-BJdy1_Z6.js} +1 -1
  22. package/dist/assets/{Index-D27OMdID.js → Index-BRov3UHm.js} +1 -1
  23. package/dist/assets/{Index-C7lBym9k.js → Index-BUjIH0UD.js} +1 -1
  24. package/dist/assets/{Index-Dq4ojYPG.js → Index-BacfL0a5.js} +1 -1
  25. package/dist/assets/{Index-mq2BOvvk.js → Index-Bc2v2omV.js} +1 -1
  26. package/dist/assets/{Index-B_SMVoYZ.js → Index-BfnWocKp.js} +1 -1
  27. package/dist/assets/{Index-Be0Zf-VK.js → Index-BjX115MB.js} +1 -1
  28. package/dist/assets/{Index-BGwx8RuY.js → Index-Bnh_m2KM.js} +1 -1
  29. package/dist/assets/{Index-CwPif7U2.js → Index-C6QkxZY6.js} +1 -1
  30. package/dist/assets/{Index-BU9oZ6JY.js → Index-CBMnYQ1o.js} +1 -1
  31. package/dist/assets/Index-CBgAolPo.css +1 -0
  32. package/dist/assets/{Index-JUELlnZe.css → Index-CGa5D6En.css} +1 -1
  33. package/dist/assets/{Index-DqZLjJG6.js → Index-CLPm-Y4w.js} +1 -1
  34. package/dist/assets/{Index-DWgoBNcF.js → Index-CqyShhjI.js} +1 -1
  35. package/dist/assets/{Index-BipMjUVy.js → Index-CylCKIXE.js} +1 -1
  36. package/dist/assets/{Index-edVjS9Fq.js → Index-D7ez9jbr.js} +1 -1
  37. package/dist/assets/Index-DgEoij9q.js +1 -0
  38. package/dist/assets/{Index-DT-Iu1eV.js → Index-DlN6WUHV.js} +1 -1
  39. package/dist/assets/{Index-DpR3wEnE.js → Index-N-iGX0tk.js} +1 -1
  40. package/dist/assets/{Index-DS9xL4zc.js → Index-UoZMsXXk.js} +1 -1
  41. package/dist/assets/{Index-B6QAUsOF.js → Index-W2feDC-T.js} +1 -1
  42. package/dist/assets/Index-fbC-lfAY.js +1 -0
  43. package/dist/assets/{Index-BoI2jXTx.js → Index-j-TXpN-y.js} +1 -1
  44. package/dist/assets/{Index-BtuiXvN8.js → Index-q9gZ0XTy.js} +1 -1
  45. package/dist/assets/{Invitees-BFkwxUqa.js → Invitees-D4zwToOW.js} +1 -1
  46. package/dist/assets/{List-C-kCE03H.js → List-8Caks5m2.js} +1 -1
  47. package/dist/assets/{List-Br3Pd6pi.js → List-CnZ4wBge.js} +1 -1
  48. package/dist/assets/{List-BGUJQ1_j.js → List-Cogewp0B.js} +1 -1
  49. package/dist/assets/{Main-BYUMd6qO.js → Main-COqAQDqW.js} +1 -1
  50. package/dist/assets/McpManager-B62KLQ2Z.js +1 -0
  51. package/dist/assets/McpManager-Be2fvTdO.css +1 -0
  52. package/dist/assets/Navigator-semGmQ89.js +1 -0
  53. package/dist/assets/{NoTasks-Dk7Wt2AG.js → NoTasks-ZsLHgPuo.js} +1 -1
  54. package/dist/assets/{OAuthCallback-8_rUp3M5.js → OAuthCallback-CGTHAbtF.js} +1 -1
  55. package/dist/assets/OAuthCallback-CbG9_OQj.js +1 -0
  56. package/dist/assets/OAuthCallback-CeJPNVj3.css +1 -0
  57. package/dist/assets/{Pagination-CfUAmnFo.js → Pagination-BihGJLjm.js} +1 -1
  58. package/dist/assets/{ScrollList-ZiMJkMBw.js → ScrollList-OteSDitY.js} +1 -1
  59. package/dist/assets/Status-De0L9Wnu.js +1 -0
  60. package/dist/assets/Subscribe-DoFhvrGJ.js +1 -0
  61. package/dist/assets/{TransportWebHID-CdbyD8Nb.js → TransportWebHID-D9wUjmBD.js} +1 -1
  62. package/dist/assets/{VideoPlayer-DCxEj90A.js → VideoPlayer-DcumvLkR.js} +1 -1
  63. package/dist/assets/{avatar-DhwSCd0o.js → avatar-B2oLnm2w.js} +1 -1
  64. package/dist/assets/{bignumber-qGuqSDbJ.js → bignumber-geB-LwaY.js} +1 -1
  65. package/dist/assets/connector-DYad3Crz.js +1 -0
  66. package/dist/assets/connector-P8ccoph7.js +1 -0
  67. package/dist/assets/{distribution-ClKMo0TJ.js → distribution-Dmd3XvVp.js} +1 -1
  68. package/dist/assets/{index-BK4USX41.js → index-BKVUDuw-.js} +1 -1
  69. package/dist/assets/{index-0JZkSLcy.js → index-BmwlFP6v.js} +1 -1
  70. package/dist/assets/{index-DzuxpefT.js → index-CLJileDK.js} +1 -1
  71. package/dist/assets/{index-MSQW00oH.js → index-CXXU863B.js} +1 -1
  72. package/dist/assets/{index-ssOK1z8u.js → index-CZR89jLL.js} +1 -1
  73. package/dist/assets/{index-Bw6POElb.js → index-CbXbnDya.js} +1 -1
  74. package/dist/assets/{index-muIEJvsu.js → index-CtkD2JaX.js} +14 -14
  75. package/dist/assets/{index-D3HoJv4E.js → index-DrABKNoZ.js} +1 -1
  76. package/dist/assets/{index.es-Bqj83sQx.js → index.es-DMehEjXB.js} +1 -1
  77. package/dist/assets/{order-D4zdmHv8.js → order-Bw8DFW1R.js} +1 -1
  78. package/dist/assets/{price-Bva0CFLK.js → price-lQeFOa8Q.js} +1 -1
  79. package/dist/assets/{solana-wallets-nnfzRTGt.js → solana-wallets-CKHfeojs.js} +2 -2
  80. package/dist/assets/{solanaEmbed.esm-MqSs0vxC.js → solanaEmbed.esm-CbqLlFds.js} +1 -1
  81. package/dist/assets/{string_decoder-BUnST7cI.js → string_decoder-CEgnOzHn.js} +1 -1
  82. package/dist/assets/types-BnylCDhI.js +1 -0
  83. package/dist/assets/{vendor-element-plus-DN048TGi.js → vendor-element-plus-CmP9-3lX.js} +1 -1
  84. package/dist/assets/{vendor-web3-CIJ0oOq5.js → vendor-web3-C5RrfhAy.js} +4 -4
  85. package/dist/assets/{web-wXYMF4s3.js → web-Bokrd0eW.js} +1 -1
  86. package/dist/assets/{web-COanpFvz.js → web-CV8nB6ef.js} +1 -1
  87. package/dist/index.html +3 -3
  88. package/package.json +12 -1
  89. package/dist/assets/Conversation-CiAYoNDT.js +0 -23
  90. package/dist/assets/Index-BA5k_6bJ.js +0 -1
  91. package/dist/assets/Index-Bnsr9aoW.js +0 -1
  92. package/dist/assets/Navigator-qudQv6Ew.js +0 -1
  93. package/dist/assets/Status-KsOIucfx.js +0 -1
  94. package/dist/assets/Subscribe-De8de3Zo.js +0 -1
@@ -1 +1 @@
1
- import{F as R}from"./index.es-Bqj83sQx.js";import{m as S,Y as O,O as C,P as G,u as M,w as V,t as j,q as B,H as N,j as F}from"./vendor-element-plus-DN048TGi.js";import{d as w,C as i,G as r,T as t,E as U,K as d,ai as o,D as a,R as l,S as I,ag as E,J as $,Q as _,O as m,M as L,X as q}from"./vendor-vue-BhXato7y.js";import{_ as v,d2 as z,au as W,ao as H,d3 as J,aN as K,aJ as D}from"./index-muIEJvsu.js";import{p as Q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as X}from"./ScrollList-ZiMJkMBw.js";import{I as Y}from"./ImagePreview-eVaabJZn.js";import{C as Z}from"./Consumption-DB4jsCIw.js";import{a as x}from"./price-Bva0CFLK.js";import{C as ee}from"./CopyToClipboard-DY-UF17o.js";import{V as te}from"./VideoPlayer-DCxEj90A.js";import{B as oe}from"./BotPlaceholder-CcWrwFmL.js";import{N as se}from"./NoTasks-Dk7Wt2AG.js";import{l as ne}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ae=w({name:"LayoutWan",components:{ElDrawer:O,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),le={class:"main flex flex-row flex-1"},re={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ie={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,s,f,h,b,k){const u=o("font-awesome-icon"),p=o("el-button"),n=o("el-drawer");return a(),i("div",le,[r("div",re,[U(e.$slots,"config",{},void 0,!0)]),r("div",ie,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=g=>e.drawer=!0)},{default:d(()=>[t(u,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=v(ae,[["render",ce],["__scopeId","data-v-98681d9b"]]),ue=w({name:"ModelSelector",components:{ElSelect:G,ElOption:C},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=z)}}),pe={class:"field"},me={class:"title font-bold"},fe={class:"float-left"};function he(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",pe,[r("h2",me,l(e.$t("wan.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",fe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=v(ue,[["render",he],["__scopeId","data-v-eb090beb"]]),ge="720p",$e=w({name:"ResolutionSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ge)}}),we={class:"field"},ve={class:"title font-bold"},be={class:"float-left"};function ke(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",we,[r("h2",ve,l(e.$t("wan.name.resolution")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",be,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=v($e,[["render",ke],["__scopeId","data-v-3e39f44e"]]),Ve=5,Te=w({name:"DurationSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ve)}}),Ie={class:"field"},Se={class:"title font-bold"},Ee={class:"float-left"};function Le(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("wan.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",Ee,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=v(Te,[["render",Le],["__scopeId","data-v-5f35a2cf"]]),Re=w({name:"ImageUrlInput",components:{ElUpload:M,ElButton:S,InfoIcon:P,ImagePreview:Y},mixins:[Q],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t("wan.message.uploadImageExceed"))},onError(){V.error(this.$t("wan.message.uploadImageError"))},async onRemove(){V.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Ce={class:"relative"},Ge={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Pe(e,s,f,h,b,k){const u=o("info-icon"),p=o("image-preview"),n=o("el-button"),g=o("el-upload");return a(),i("div",Ce,[r("div",Ge,[r("div",Ae,[r("span",De,l(e.$t("wan.name.imageUrl")),1),t(u,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:c})=>[c.url&&c.percentage!==void 0?(a(),$(p,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(n,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[_(l(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const Oe=v(Re,[["render",Pe],["__scopeId","data-v-c9ebe1b1"]]),Me="",je=w({name:"PromptInput",components:{ElInput:j,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Me)}}),Be={class:"field"},Ne={class:"box"},Fe={class:"title font-bold"};function qe(e,s,f,h,b,k){const u=o("info-icon"),p=o("el-input");return a(),i("div",Be,[r("div",Ne,[r("h2",Fe,l(e.$t("wan.name.prompt")),1),t(u,{content:e.$t("wan.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=v(je,[["render",qe],["__scopeId","data-v-45557a2d"]]),We=w({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:Oe,ModelSelector:_e,ResolutionSelector:ye,DurationSelector:Ue,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),He={class:"flex flex-col h-full"},Je={class:"flex-1 overflow-y-auto p-5"},Ke={class:"flex flex-col items-center justify-center px-5 pb-5"};function Qe(e,s,f,h,b,k){const u=o("prompt-input"),p=o("model-selector"),n=o("resolution-selector"),g=o("duration-selector"),c=o("image-url-input"),y=o("consumption"),T=o("font-awesome-icon"),A=o("el-button");return a(),i("div",He,[r("div",Je,[t(u,{class:"mb-4"}),t(p,{class:"mb-4"}),e.supportsResolution?(a(),$(n,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(a(),$(g,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(a(),$(c,{key:2,class:"mb-2"})):m("",!0)]),r("div",Ke,[t(y,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Xe=v(We,[["render",Qe]]),Ye=w({name:"TaskPreview",components:{ElImage:F,CopyToClipboard:ee,FontAwesomeIcon:R,ElAlert:N,VideoPlayer:te,ElTooltip:B,ElButton:S},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:H}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:L({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:2,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function $t(e,s,f,h,b,k){const u=o("el-image"),p=o("video-player"),n=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),y=o("copy-to-clipboard"),T=o("el-alert");return a(),i("div",Ze,[r("div",xe,[t(u,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),r("div",et,[r("div",tt,[_(l(e.$t("wan.name.wanBot"))+" ",1),r("span",ot,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",st,[e.modelValue?.request?.prompt?(a(),i("p",nt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(a(),i("span",at," - ("+l(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(a(),i("span",lt," - ("+l(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[e.modelValue?.response?.video_url?(a(),i("div",it,[t(p,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(a(),i("div",ct,[t(g,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:d(()=>[t(n,{type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=q(A=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:d(()=>[_(l(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"])])):m("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.model"))+": "+l(e.modelValue?.request?.model)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",ut,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(T,{closable:!1,class:"failure"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",mt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),r("p",ft,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("wan.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",ht,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(a(),i("div",_t,[t(T,{closable:!1,class:"info"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",gt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const wt=v(Ye,[["render",$t],["__scopeId","data-v-5cbc37f1"]]),vt=w({name:"RecentPanel",components:{TaskPreview:wt,BotPlaceholder:oe,NoTasks:se,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),bt={key:0},kt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,s,f,h,b,k){const u=o("bot-placeholder"),p=o("task-preview"),n=o("scroll-list"),g=o("no-tasks");return a(),i(I,null,[e.tasks?.items===void 0?(a(),i("div",bt,[t(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(n,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=c=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),i(I,null,E(e.tasks?.items,c=>(a(),$(p,{key:c.id,"model-value":c},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(a(),i("div",kt,[t(g)])):m("",!0)],64)}const Vt=v(vt,[["render",yt]]),Tt="https://webhook.acedata.cloud/wan",It=w({name:"WanIndex",components:{ConfigPanel:Xe,Layout:de,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.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 ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:f,createdAtMax:h}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:s,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Tt},s=this.credential?.token;if(!s){console.error("no token specified");return}V.info(this.$t("wan.message.startingTask")),J.generate(e,{token:s}).then(()=>{V.success(this.$t("wan.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?V.error(this.$t("wan.message.usedUp")):V.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function St(e,s,f,h,b,k){const u=o("config-panel"),p=o("recent-panel"),n=o("layout");return a(),$(n,null,{config:d(()=>[t(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Jt=v(It,[["render",St]]);export{Jt as default};
1
+ import{F as R}from"./index.es-DMehEjXB.js";import{m as S,X as O,O as C,P as G,u as M,w as V,t as j,q as B,H as N,j as F}from"./vendor-element-plus-CmP9-3lX.js";import{d as v,C as i,G as r,T as t,E as U,K as d,ai as o,D as a,R as l,S as I,ag as E,J as $,Q as _,O as m,M as L,X as q}from"./vendor-vue-BhXato7y.js";import{_ as w,d3 as z,av as W,ap as K,d4 as H,aO as X,aK as D}from"./index-CtkD2JaX.js";import{p as J}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as Q}from"./ScrollList-OteSDitY.js";import{I as Y}from"./ImagePreview-B5F24-Vs.js";import{C as Z}from"./Consumption-DEB600BC.js";import{a as x}from"./price-lQeFOa8Q.js";import{C as ee}from"./CopyToClipboard-cTbsayFn.js";import{V as te}from"./VideoPlayer-DcumvLkR.js";import{B as oe}from"./BotPlaceholder-BV2w6Q4w.js";import{N as se}from"./NoTasks-ZsLHgPuo.js";import{l as ne}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";import"./vue-plyr-QZFBikSk.js";const ae=v({name:"LayoutWan",components:{ElDrawer:O,ElButton:S,FontAwesomeIcon:R},data(){return{drawer:!1}}}),le={class:"main flex flex-row flex-1"},re={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ie={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ce(e,s,f,h,b,k){const u=o("font-awesome-icon"),p=o("el-button"),n=o("el-drawer");return a(),i("div",le,[r("div",re,[U(e.$slots,"config",{},void 0,!0)]),r("div",ie,[U(e.$slots,"result",{},void 0,!0)]),t(p,{circle:"",class:"menu",onClick:s[0]||(s[0]=g=>e.drawer=!0)},{default:d(()=>[t(u,{icon:"fa-solid fa-magic"})]),_:1}),t(n,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px"},{default:d(()=>[U(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const de=w(ae,[["render",ce],["__scopeId","data-v-98681d9b"]]),ue=v({name:"ModelSelector",components:{ElSelect:G,ElOption:C},data(){return{}},computed:{options(){return[{value:"wan2.6-t2v",label:this.$t("wan.button.modelT2v")},{value:"wan2.6-i2v",label:this.$t("wan.button.modelI2v")},{value:"wan2.6-i2v-flash",label:this.$t("wan.button.modelI2vFlash")},{value:"wan2.6-r2v",label:this.$t("wan.button.modelR2v")}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||(this.value=z)}}),pe={class:"field"},me={class:"title font-bold"},fe={class:"float-left"};function he(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",pe,[r("h2",me,l(e.$t("wan.name.model")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",fe,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const _e=w(ue,[["render",he],["__scopeId","data-v-eb090beb"]]),ge="720p",$e=v({name:"ResolutionSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:"480p",label:this.$t("wan.name.resolution480p")},{value:"720p",label:this.$t("wan.name.resolution720p")},{value:"1080p",label:this.$t("wan.name.resolution1080p")}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||(this.value=ge)}}),ve={class:"field"},we={class:"title font-bold"},be={class:"float-left"};function ke(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",ve,[r("h2",we,l(e.$t("wan.name.resolution")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",be,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ye=w($e,[["render",ke],["__scopeId","data-v-3e39f44e"]]),Ve=5,Te=v({name:"DurationSelector",components:{ElSelect:G,ElOption:C},computed:{options(){return[{value:5,label:this.$t("wan.name.duration5s")},{value:10,label:this.$t("wan.name.duration10s")},{value:15,label:this.$t("wan.name.duration15s")}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||(this.value=Ve)}}),Ie={class:"field"},Se={class:"title font-bold"},Ee={class:"float-left"};function Le(e,s,f,h,b,k){const u=o("el-option"),p=o("el-select");return a(),i("div",Ie,[r("h2",Se,l(e.$t("wan.name.duration")),1),t(p,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=n=>e.value=n),class:"value",placeholder:e.$t("wan.placeholder.select"),clearable:""},{default:d(()=>[(a(!0),i(I,null,E(e.options,n=>(a(),$(u,{key:n.value,label:n.label,value:n.value},{default:d(()=>[r("span",Ee,l(n.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ue=w(Te,[["render",Le],["__scopeId","data-v-5f35a2cf"]]),Re=v({name:"ImageUrlInput",components:{ElUpload:M,ElButton:S,InfoIcon:P,ImagePreview:Y},mixins:[J],data(){return{fileList:[],uploadUrl:W()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetImageUrl()},methods:{onExceed(){V.warning(this.$t("wan.message.uploadImageExceed"))},onError(){V.error(this.$t("wan.message.uploadImageError"))},async onRemove(){V.error(this.$t("wan.message.uploadImageError"))},onSetImageUrl(){const e=this.urls?.[0];this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Ce={class:"relative"},Ge={class:"flex justify-between"},Ae={class:"flex justify-start items-center"},De={class:"text-sm font-bold"};function Pe(e,s,f,h,b,k){const u=o("info-icon"),p=o("image-preview"),n=o("el-button"),g=o("el-upload");return a(),i("div",Ce,[r("div",Ge,[r("div",Ae,[r("span",De,l(e.$t("wan.name.imageUrl")),1),t(u,{content:e.$t("wan.description.imageUrl"),class:"info"},null,8,["content"])])]),t(g,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=c=>e.fileList=c),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:d(({file:c})=>[c.url&&c.percentage!==void 0?(a(),$(p,{key:0,url:c.url,name:c.name,percentage:c.percentage,onRemove:y=>e.fileList.splice(e.fileList.indexOf(c),1)},null,8,["url","name","percentage","onRemove"])):m("",!0)]),default:d(()=>[t(n,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:d(()=>[_(l(e.$t("wan.button.uploadImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const Oe=w(Re,[["render",Pe],["__scopeId","data-v-c9ebe1b1"]]),Me="",je=v({name:"PromptInput",components:{ElInput:j,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("wan/setConfig",{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=Me)}}),Be={class:"field"},Ne={class:"box"},Fe={class:"title font-bold"};function qe(e,s,f,h,b,k){const u=o("info-icon"),p=o("el-input");return a(),i("div",Be,[r("div",Ne,[r("h2",Fe,l(e.$t("wan.name.prompt")),1),t(u,{content:e.$t("wan.description.prompt"),class:"info"},null,8,["content"])]),t(p,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=n=>e.prompt=n),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("wan.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const ze=w(je,[["render",qe],["__scopeId","data-v-45557a2d"]]),We=v({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:R,PromptInput:ze,ImageUrlInput:Oe,ModelSelector:_e,ResolutionSelector:ye,DurationSelector:Ue,Consumption:Z},emits:["generate"],computed:{config(){return this.$store.state.wan?.config},consumption(){return x(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){const e=this.config?.model;return e==="wan2.6-t2v"||e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"},supportsDuration(){return this.config?.model==="wan2.6-t2v"},supportsImageUrl(){const e=this.config?.model;return e==="wan2.6-i2v"||e==="wan2.6-i2v-flash"}},methods:{onGenerate(){this.$emit("generate")}}}),Ke={class:"flex flex-col h-full"},He={class:"flex-1 overflow-y-auto p-5"},Xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Je(e,s,f,h,b,k){const u=o("prompt-input"),p=o("model-selector"),n=o("resolution-selector"),g=o("duration-selector"),c=o("image-url-input"),y=o("consumption"),T=o("font-awesome-icon"),A=o("el-button");return a(),i("div",Ke,[r("div",He,[t(u,{class:"mb-4"}),t(p,{class:"mb-4"}),e.supportsResolution?(a(),$(n,{key:0,class:"mb-4"})):m("",!0),e.supportsDuration?(a(),$(g,{key:1,class:"mb-4"})):m("",!0),e.supportsImageUrl?(a(),$(c,{key:2,class:"mb-2"})):m("",!0)]),r("div",Xe,[t(y,{value:e.consumption,service:e.service},null,8,["value","service"]),t(A,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:d(()=>[t(T,{icon:"fa-solid fa-magic",class:"mr-2"}),_(" "+l(e.$t("wan.button.generate")),1)]),_:1},8,["onClick"])])])}const Qe=w(We,[["render",Je]]),Ye=v({name:"TaskPreview",components:{ElImage:F,CopyToClipboard:ee,FontAwesomeIcon:R,ElAlert:N,VideoPlayer:te,ElTooltip:B,ElButton:S},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:K}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug("on download wan video",e),window.open(e,"_blank")}}}),Ze={class:"preview"},xe={class:"left"},et={class:"main"},tt={class:"bot"},ot={class:"datetime"},st={class:"info"},nt={key:0,class:"prompt mt-2"},at={key:0},lt={key:1},rt={key:0,class:L({content:!0,failed:!0})},it={key:0,class:"mb-4"},ct={key:1,class:L({operations:!0,"mt-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ut={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},pt={key:1,class:L({content:!0})},mt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},_t={key:2,class:L({content:!0})},gt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function $t(e,s,f,h,b,k){const u=o("el-image"),p=o("video-player"),n=o("el-button"),g=o("el-tooltip"),c=o("font-awesome-icon"),y=o("copy-to-clipboard"),T=o("el-alert");return a(),i("div",Ze,[r("div",xe,[t(u,{src:e.WAN_LOGO,class:"avatar"},null,8,["src"])]),r("div",et,[r("div",tt,[_(l(e.$t("wan.name.wanBot"))+" ",1),r("span",ot,l(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),r("div",st,[e.modelValue?.request?.prompt?(a(),i("p",nt,[_(l(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?m("",!0):(a(),i("span",at," - ("+l(e.$t("wan.status.pending"))+") ",1)),e.modelValue?.response?.state==="processing"||e.modelValue?.response?.state==="pending"||e.modelValue?.response?.state==="running"?(a(),i("span",lt," - ("+l(e.$t("wan.status.processing"))+") ",1)):m("",!0)])):m("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",rt,[e.modelValue?.response?.video_url?(a(),i("div",it,[t(p,{src:e.modelValue?.response?.video_url},null,8,["src"])])):m("",!0),e.modelValue?.response?.video_url?(a(),i("div",ct,[t(g,{class:"box-item",effect:"dark",content:e.$t("wan.message.downloadVideo"),placement:"top-start"},{default:d(()=>[t(n,{type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=q(A=>e.onDownload(e.modelValue?.response?.video_url),["stop"]))},{default:d(()=>[_(l(e.$t("wan.button.download")),1)]),_:1})]),_:1},8,["content"])])):m("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:d(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.model"))+": "+l(e.modelValue?.request?.model)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])):m("",!0),r("p",ut,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===!1?(a(),i("div",pt,[t(T,{closable:!1,class:"failure"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",mt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])]),r("p",ft,[t(c,{icon:"fa-solid fa-circle-info",class:"mr-1"}),_(" "+l(e.$t("wan.name.failureReason"))+": "+l(e.modelValue?.response?.error?.message)+" ",1),t(y,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),r("p",ht,[t(c,{icon:"fa-solid fa-hashtag",class:"mr-1"}),_(" "+l(e.$t("wan.name.traceId"))+": "+l(e.modelValue?.response?.trace_id)+" ",1),t(y,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):m("",!0),e.modelValue?.response?.success===void 0?(a(),i("div",_t,[t(T,{closable:!1,class:"info"},{template:d(()=>[t(c,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),_(" "+l(e.$t("wan.name.failure")),1)]),default:d(()=>[r("p",gt,[t(c,{icon:"fa-solid fa-magic",class:"mr-1"}),_(" "+l(e.$t("wan.name.taskId"))+": "+l(e.modelValue?.id)+" ",1),t(y,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):m("",!0)])])}const vt=w(Ye,[["render",$t],["__scopeId","data-v-5cbc37f1"]]),wt=v({name:"RecentPanel",components:{TaskPreview:vt,BotPlaceholder:oe,NoTasks:se,ScrollList:Q},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),bt={key:0},kt={key:2,class:"w-full h-full flex items-center justify-center"};function yt(e,s,f,h,b,k){const u=o("bot-placeholder"),p=o("task-preview"),n=o("scroll-list"),g=o("no-tasks");return a(),i(I,null,[e.tasks?.items===void 0?(a(),i("div",bt,[t(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),$(n,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=c=>e.$emit("reach-top"))},{default:d(()=>[(a(!0),i(I,null,E(e.tasks?.items,c=>(a(),$(p,{key:c.id,"model-value":c},null,8,["model-value"]))),128))]),_:1},8,["loading"])):m("",!0),e.tasks?.items?.length===0?(a(),i("div",kt,[t(g)])):m("",!0)],64)}const Vt=w(wt,[["render",yt]]),Tt="https://webhook.acedata.cloud/wan",It=v({name:"WanIndex",components:{ConfigPanel:Qe,Layout:de,RecentPanel:Vt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.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 ne({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("wan/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("wan/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:f,createdAtMax:h}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",h),this.fetchingTasks=!0;try{await this.$store.dispatch("wan/getTasks",{limit:s,createdAtMin:f,createdAtMax:h})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:Tt},s=this.credential?.token;if(!s){console.error("no token specified");return}V.info(this.$t("wan.message.startingTask")),H.generate(e,{token:s}).then(()=>{V.success(this.$t("wan.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===X?V.error(this.$t("wan.message.usedUp")):V.error(this.$t("wan.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function St(e,s,f,h,b,k){const u=o("config-panel"),p=o("recent-panel"),n=o("layout");return a(),$(n,null,{config:d(()=>[t(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:d(()=>[t(p,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Ht=w(It,[["render",St]]);export{Ht as default};
@@ -1 +1 @@
1
- import{P as g}from"./Pagination-CfUAmnFo.js";import{C as b}from"./CopyToClipboard-DY-UF17o.js";import{bi as v,_ as w}from"./index-muIEJvsu.js";import{x as $,y as C,z as y,A as D,B as I}from"./vendor-element-plus-DN048TGi.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-BhXato7y.js";import"./index.es-Bqj83sQx.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},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(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},B={class:"key"},T={class:"copy"},z={class:"description"},S={class:"description"},j={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",B,i(o.row.id),1),n("span",T,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",z,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",S,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",j,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
1
+ import{P as g}from"./Pagination-BihGJLjm.js";import{C as b}from"./CopyToClipboard-cTbsayFn.js";import{bj as v,_ as w}from"./index-CtkD2JaX.js";import{x as $,y as C,z as y,A as D,B as I}from"./vendor-element-plus-CmP9-3lX.js";import{d as k,J as c,K as t,T as a,ai as s,G as n,R as i,L as E,aq as F,D as p}from"./vendor-vue-BhXato7y.js";import"./index.es-DMehEjXB.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const P=k({name:"ConsoleDistributionInvitees",components:{Pagination:g,CopyToClipboard:b,ElRow:I,ElCol:D,ElTable:y,ElTableColumn:C,ElCard:$},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(){const{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:"-created_at"});this.invitees=e.items,this.total=e.count}}}),q={class:"title"},B={class:"key"},T={class:"copy"},j={class:"description"},z={class:"description"},S={class:"description"},J={class:"created-at"},N={class:"pagination m-v-lg"};function R(e,V,A,G,K,L){const r=s("el-col"),d=s("el-row"),_=s("copy-to-clipboard"),l=s("el-table-column"),m=s("el-table"),u=s("el-card"),h=s("pagination"),f=F("loading");return p(),c(d,{class:"panel"},{default:t(()=>[a(r,{span:24},{default:t(()=>[a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[n("h2",q,i(e.$t("common.title.invitee")),1)]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:24},{default:t(()=>[a(u,{shadow:"hover"},{default:t(()=>[E((p(),c(m,{data:e.invitees,stripe:""},{default:t(()=>[a(l,{prop:"id",label:e.$t("user.field.id"),"class-name":"text-center",width:"350px"},{default:t(o=>[n("span",B,i(o.row.id),1),n("span",T,[a(_,{content:o.row.id},null,8,["content"])])]),_:1},8,["label"]),a(l,{label:e.$t("user.field.username"),width:"300px"},{default:t(o=>[n("span",j,i(o.row?.username),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.email"),width:"300px"},{default:t(o=>[n("span",z,i(o.row?.email),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.nickname"),width:"200px"},{default:t(o=>[n("span",S,i(o.row.nickname),1)]),_:1},8,["label"]),a(l,{label:e.$t("user.field.dateJoined")},{default:t(o=>[n("span",J,i(e.$dayjs.format(o.row.date_joined)),1)]),_:1},8,["label"])]),_:1},8,["data"])),[[f,e.loading]])]),_:1})]),_:1})]),_:1}),a(d,null,{default:t(()=>[a(r,{span:10,offset:14},{default:t(()=>[n("div",N,[a(h,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const ee=w(P,[["render",R],["__scopeId","data-v-4556864d"]]);export{ee as default};
@@ -1 +1 @@
1
- import{aB as u,aC as A,aD as E,aE as x,c as G,_ as B}from"./index-muIEJvsu.js";import{I as F,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-CfUAmnFo.js";import{C as N}from"./CopyToClipboard-DY-UF17o.js";import{F as P}from"./index.es-Bqj83sQx.js";import{x as z,y as R,k as q,L as M,a as j,A as J,m as K,B as Q,z as X,w}from"./vendor-element-plus-DN048TGi.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-BhXato7y.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:K,ElCol:J,ElTag:j,ElSkeleton:M,ElSwitch:q,ElTableColumn:R,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:F,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")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=B(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
1
+ import{aC as u,aD as A,aE as E,aF as x,c as G,_ as F}from"./index-CtkD2JaX.js";import{I as B,a as O}from"./credential-CEfFFZzi.js";import{P as V}from"./Pagination-BihGJLjm.js";import{C as N}from"./CopyToClipboard-cTbsayFn.js";import{F as P}from"./index.es-DMehEjXB.js";import{x as z,y as R,k as q,L as M,a as j,A as J,m as K,B as Q,z as X,w}from"./vendor-element-plus-CmP9-3lX.js";import{d as H,J as r,K as a,T as t,ai as s,G as i,R as l,O as b,C as $,Q as m,L as W,aq as Y,D as p}from"./vendor-vue-BhXato7y.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const Z=H({name:"ConsoleApplicationList",components:{Pagination:V,CopyToClipboard:N,ElTable:X,ElRow:Q,ElButton:K,ElCol:J,ElTag:j,ElSkeleton:M,ElSwitch:q,ElTableColumn:R,ElCard:z,FontAwesomeIcon:P},data(){return{credentialType:O,serviceType:B,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")}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{updateAllowConsumeGlobal(e,n){!e||!e.id||A.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!n}).then(()=>{w.success(this.$t("application.message.updateSuccessfully").toString())}).catch(()=>{w.error(this.$t("application.message.updateFailed").toString())})},onGoUsage(e){this.$router.push({name:G,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:x,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=u.INDIVIDUAL){return new Promise((n,C)=>{A.getAll({limit:this.limit,...e===u.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:"-created_at",type:E.USAGE,scope:e}).then(({data:d})=>{e===u.INDIVIDUAL?(this.individualApplications=d.items,this.individualApplicationsTotal=d.count):(this.globalApplications=d.items,this.globalApplicationsTotal=d.count),n(d)}).catch(d=>{w.error(this.$t("application.message.fetchFailed").toString()),C(d)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(u.INDIVIDUAL),this.onFetchApplications(u.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){A.create({type:E.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(u.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.remaining_amount?.toFixed(6)} ${n}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return"";const n=this.$t(`service.unit.${e?.service?.unit||"credit"}s`);return`${e.used_amount?.toFixed(6)} ${n}`}}}),ee={class:"title"},te={key:1,class:"summary-card"},ae={class:"icon-wrapper"},oe={class:"label"},le={class:"value"},ie={class:"description"},ne={key:1,class:"flex flex-row justify-between align-center"},se={class:"summary-card"},pe={class:"flex justify-start items-center gap-2 mb-2 w-full"},re={class:"icon-wrapper !mb-0"},de={class:"text-[var(--el-text-color-regular)] text-[14px] truncate"},ce={class:"label"},ue={class:"value"},me={class:"description"},he={class:"flex flex-col items-end gap-2"},fe={class:"copy"},ge={key:0,class:"expired-at"},_e={class:"flex flex-wrap items-center justify-end gap-1"},be={class:"pagination"};function ye(e,n,C,d,ve,Ae){const h=s("el-col"),g=s("el-row"),k=s("el-skeleton"),f=s("font-awesome-icon"),v=s("el-card"),I=s("copy-to-clipboard"),y=s("el-button"),c=s("el-table-column"),T=s("el-tag"),D=s("el-switch"),L=s("el-table"),S=s("pagination"),U=Y("loading");return p(),r(g,{class:"panel p-[30px]"},{default:a(()=>[t(h,{span:24},{default:a(()=>[t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("h2",ee,l(e.$t("common.title.allApplications")),1)]),_:1})]),_:1}),t(g,{gutter:15,class:"mb-3"},{default:a(()=>[t(h,{md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",te,[i("div",ae,[t(f,{icon:"fa-solid fa-cubes-stacked"})]),i("p",oe,l(e.$t("application.title.count")),1),i("p",le,l(e.individualApplicationsTotal),1),i("p",ie,l(e.$t("application.message.countDescription")),1)]))]),_:1})]),_:1}),e.globalApplications?.length>0?(p(),r(h,{key:0,md:12,xs:24},{default:a(()=>[t(v,{shadow:"hover",class:"relative min-h-[180px] mb-2","body-style":{padding:"18px 20px"}},{default:a(()=>[e.loading?(p(),r(k,{key:0})):(p(),$("div",ne,[i("div",se,[i("div",pe,[i("div",re,[t(f,{icon:"fa-solid fa-wallet"})]),i("span",de,[m(l(e.$t("application.field.id"))+": "+l(e.globalApplications?.[0]?.id)+" ",1),e.globalApplications?.[0]?.id?(p(),r(I,{key:0,content:e.globalApplications?.[0]?.id,class:"inline-block"},null,8,["content"])):b("",!0)])]),i("p",ce,l(e.$t("application.title.globalBalance")),1),i("p",ue,l(e.globalApplications?.[0]?.remaining_amount?.toFixed(6)||"0.000000")+" "+l(e.$t("service.unit.credits")),1),i("p",me,l(e.$t("application.message.globalBalanceDescription")),1)]),i("div",he,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:n[0]||(n[0]=o=>e.onGoUsage(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:1}),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:n[1]||(n[1]=o=>e.onBuyMore(e.globalApplications?.[0]))},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:1})])]))]),_:1})]),_:1})):b("",!0)]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[t(v,{shadow:"hover"},{default:a(()=>[W((p(),r(L,{data:e.individualApplications,stripe:"",class:"!min-h-[calc(100vh-420px)]","table-layout":"fixed","empty-text":e.$t("common.message.noData")},{default:a(()=>[t(c,{prop:"id",label:e.$t("application.field.id"),width:"200px","class-name":"text-center"},{default:a(o=>[i("span",null,l(o.row.id),1),i("span",fe,[t(I,{content:o?.row?.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),t(c,{label:e.$t("application.field.type"),width:"90px"},{default:a(o=>[o.row?.type==="Period"?(p(),r(T,{key:0,type:"success",effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.period")),1)]),_:1})):o.row?.type==="Usage"?(p(),r(T,{key:1,effect:"dark",round:""},{default:a(()=>[m(l(e.$t("application.type.usage")),1)]),_:1})):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.name"),width:"180px"},{default:a(o=>[i("span",null,l(o.row?.service?.title),1)]),_:1},8,["label"]),t(c,{prop:"remaining_amount",label:e.$t("application.field.remainingAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getRemainingAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"used_amount",label:e.$t("application.field.usedAmount"),width:"150px","class-name":"text-center"},{default:a(o=>[i("span",null,l(e.getUsedAmount(o.row)),1)]),_:1},8,["label"]),t(c,{prop:"allow_consume_global",label:e.$t("application.field.allowConsumeGlobal"),width:"120px","class-name":"text-center"},{default:a(o=>[o.row.service?.type===e.serviceType.API?(p(),r(D,{key:0,modelValue:o.row.allow_consume_global,"onUpdate:modelValue":_=>o.row.allow_consume_global=_,"active-value":!0,"inactive-value":!1,onChange:_=>e.updateAllowConsumeGlobal(o.row,_)},null,8,["modelValue","onUpdate:modelValue","onChange"])):b("",!0)]),_:1},8,["label"]),t(c,{label:e.$t("application.field.expiredAt"),width:"180px"},{default:a(o=>[o.row.expired_at?(p(),$("span",ge,l(e.$dayjs.format(o.row.expired_at)),1)):b("",!0)]),_:1},8,["label"]),t(c,{fixed:"right",width:"200px"},{default:a(o=>[i("div",_e,[t(y,{class:"!m-0 !px-2",size:"small",round:"",onClick:_=>e.onGoUsage(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.usage")),1)]),_:2},1032,["onClick"]),t(y,{class:"!m-0 !px-2",type:"primary",round:"",size:"small",onClick:_=>e.onBuyMore(o?.row)},{default:a(()=>[t(f,{icon:"fa-solid fa-coins",class:"mr-1 text-[12px]"}),m(" "+l(e.$t("application.button.buyMore")),1)]),_:2},1032,["onClick"])])]),_:1})]),_:1},8,["data","empty-text"])),[[U,e.loading]])]),_:1})]),_:1})]),_:1}),t(g,null,{default:a(()=>[t(h,{span:24},{default:a(()=>[i("div",be,[t(S,{"current-page":e.page,"page-size":e.limit,total:e.individualApplicationsTotal,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const xe=F(Z,[["render",ye],["__scopeId","data-v-8a5d3554"]]);export{xe as default};
@@ -1 +1 @@
1
- import{o as k}from"./order-D4zdmHv8.js";import{P as C}from"./Pagination-CfUAmnFo.js";import{C as D}from"./CopyToClipboard-DY-UF17o.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-muIEJvsu.js";import{g as O}from"./price-Bva0CFLK.js";import{x as v,a as I,m as P,y as N,z as A,A as F,B}from"./vendor-element-plus-DN048TGi.js";import{d as T,J as f,K as t,T as o,ai as r,G as n,R as s,L as z,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-BhXato7y.js";import"./index.es-Bqj83sQx.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const R=T({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:B,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],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:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[z((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
1
+ import{o as k}from"./order-Bw8DFW1R.js";import{P as C}from"./Pagination-BihGJLjm.js";import{C as D}from"./CopyToClipboard-cTbsayFn.js";import{O as E}from"./order-CB3uOPHS.js";import{_ as S}from"./index-CtkD2JaX.js";import{g as O}from"./price-lQeFOa8Q.js";import{x as v,a as I,m as P,y as N,z as A,A as F,B}from"./vendor-element-plus-CmP9-3lX.js";import{d as T,J as f,K as t,T as o,ai as r,G as n,R as s,L as z,aq as L,C as p,O as q,Q as i,D as l}from"./vendor-vue-BhXato7y.js";import"./index.es-DMehEjXB.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const R=T({name:"ConsoleOrderList",components:{Pagination:C,CopyToClipboard:D,ElRow:B,ElCol:F,ElTable:A,ElTableColumn:N,ElButton:P,ElTag:I,ElCard:v},data(){return{OrderState:E,orders:[],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:{getPriceString:O,onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,k.getAll({ordering:"-created_at",limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id}).then(({data:e})=>{this.orders=e.items,this.loading=!1,this.total=e.count}).catch(()=>{this.loading=!1})}}}),V={class:"title"},j={class:"key"},G={class:"cursor-pointer"},H={class:"price"},X={class:"description"},J={key:0},K={key:1,class:"state state-paid"},Q={key:2,class:"state state-finished"},M={key:3,class:"state state-expired"},U={key:4,class:"state state-failed"},W={class:"created-at"},Y={class:"flex items-center justify-center flex-wrap"},Z={class:"float-right"};function x(e,ee,te,ae,oe,se){const m=r("el-col"),u=r("el-row"),_=r("copy-to-clipboard"),d=r("el-table-column"),c=r("el-tag"),h=r("el-button"),g=r("el-table"),w=r("el-card"),b=r("pagination"),y=L("loading");return l(),f(u,{class:"panel"},{default:t(()=>[o(m,{span:24},{default:t(()=>[o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[n("h2",V,s(e.$t("common.title.allOrders")),1)]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:24},{default:t(()=>[o(w,{shadow:"hover"},{default:t(()=>[z((l(),f(g,{data:e.orders,stripe:"","empty-text":e.$t("common.message.noData"),class:"min-h-[calc(100vh-300px)] mb-[50px]"},{default:t(()=>[o(d,{prop:"id",label:e.$t("order.field.id"),"class-name":"text-center",width:"200px"},{default:t(a=>[n("span",j,s(a.row.id),1),n("span",G,[o(_,{content:a.row.id,class:"inline-block"},null,8,["content"])])]),_:1},8,["label"]),o(d,{label:e.$t("order.field.price"),width:"100px"},{default:t(a=>[n("span",H,s(e.getPriceString({value:a.row?.price})),1)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.description"),width:"270px","class-name":"hidden md:table-cell","label-class-name":"hidden md:table-cell"},{default:t(a=>[n("span",X,s(a.row.description),1)]),_:1},8,["label"]),o(d,{prop:"state",label:e.$t("order.field.state"),"class-name":"text-center",width:"160px"},{default:t(a=>[a.row.state===e.OrderState?.PENDING?(l(),p("span",J,[o(c,{type:"info",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.pending")),1)]),_:1})])):a.row.state===e.OrderState?.PAID?(l(),p("span",K,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.paid")),1)]),_:1})])):a.row.state===e.OrderState?.FINISHED?(l(),p("span",Q,[o(c,{type:"success",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.finished")),1)]),_:1})])):a.row.state===e.OrderState?.EXPIRED?(l(),p("span",M,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.expired")),1)]),_:1})])):a.row.state===e.OrderState?.FAILED?(l(),p("span",U,[o(c,{type:"danger",class:"mx-1",effect:"dark",round:""},{default:t(()=>[i(s(e.$t("order.state.failed")),1)]),_:1})])):q("",!0)]),_:1},8,["label"]),o(d,{label:e.$t("order.field.createdAt"),width:"250px"},{default:t(a=>[n("span",W,s(e.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"]),o(d,{"min-width":"130px",fixed:"right"},{default:t(a=>[n("div",Y,[a.row.state!==e.OrderState.PAID&&a.row.state!==e.OrderState.FINISHED&&a.row.state!==e.OrderState.EXPIRED&&a.row.state!==e.OrderState.FAILED?(l(),f(h,{key:0,type:"primary",size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.continuePay")),1)]),_:2},1032,["onClick"])):(l(),f(h,{key:1,size:"small",onClick:$=>e.$router.push({name:"console-order-detail",params:{id:a.row.id}})},{default:t(()=>[i(s(e.$t("order.button.checkDetail")),1)]),_:2},1032,["onClick"]))])]),_:1})]),_:1},8,["data","empty-text"])),[[y,e.loading]])]),_:1})]),_:1})]),_:1}),o(u,null,{default:t(()=>[o(m,{span:10,offset:14},{default:t(()=>[n("div",Z,[o(b,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const we=S(R,[["render",x]]);export{we as default};
@@ -1 +1 @@
1
- import{av as S,aC as M,aD as j,_ as G}from"./index-muIEJvsu.js";import{I as v,a as N}from"./credential-CEfFFZzi.js";import{P as z}from"./Pagination-CfUAmnFo.js";import{C as Z}from"./CopyToClipboard-DY-UF17o.js";import{F as Q}from"./index.es-Bqj83sQx.js";import{B as W,C as J,a as K,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CdHmgBC5.js";import{L as it,G as nt,F as ot,x as lt,y as rt,A as dt,B as pt,O as ut,P as ct,z as ht,Q as gt,a as mt}from"./vendor-element-plus-DN048TGi.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-BhXato7y.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(K,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:z,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:Q,BarChart:W},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:[],credentialType:N,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.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.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){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()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.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}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.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:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={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{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},Ut={class:"text-left"},kt={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),U=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),k=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(U,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",Ut,[n("p",kt,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(U,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(U,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(k,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(k,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(k,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=G(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
1
+ import{aw as S,aD as M,aE as j,_ as G}from"./index-CtkD2JaX.js";import{I as v,a as N}from"./credential-CEfFFZzi.js";import{P as z}from"./Pagination-BihGJLjm.js";import{C as Z}from"./CopyToClipboard-cTbsayFn.js";import{F as Q}from"./index.es-DMehEjXB.js";import{B as W,C as J,a as K,L as X,b as tt,p as et,c as at,d as st}from"./vendor-chart-CdHmgBC5.js";import{L as it,G as nt,F as ot,x as lt,y as rt,A as dt,B as pt,O as ut,P as ct,z as ht,Q as gt,a as mt}from"./vendor-element-plus-CmP9-3lX.js";import{d as ft,J as u,K as s,T as i,ai as r,G as n,R as o,L as R,O as _,C as f,ag as C,S as D,aq as yt,Q as T,D as l,U as _t}from"./vendor-vue-BhXato7y.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";class $t{key="usage/apis";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}async getAggregate(e){return await S.get(`/${this.key}/aggregate/`,{params:e})}async get(e){return await S.get(`/${this.key}/${e}`)}}const L=new $t;class bt{key="usage/proxies";async getAll(e){return await S.get(`/${this.key}/`,{params:e})}}const wt=new bt;J.register(K,X,tt,et,at,st);const At=ft({name:"ConsoleUsageList",components:{Pagination:z,ElTag:mt,ElDatePicker:gt,ElTable:ht,ElSelect:ct,ElOption:ut,CopyToClipboard:Z,ElRow:pt,ElCol:dt,ElTableColumn:rt,ElCard:lt,ElRadioButton:ot,ElRadioGroup:nt,ElSkeleton:it,FontAwesomeIcon:Q,BarChart:W},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:[],credentialType:N,serviceType:v,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{const t=this.$route.query.created_at_to?.toString(),e=this.$route.query.created_at_from?.toString();if(e&&t)return[new Date(e),new Date(t)];const y=new Date,c=new Date;return c.setDate(c.getDate()-30),[c,y]})(),shortcuts:[{text:this.$t("usage.shortcuts.today"),value:()=>{const t=new Date,e=new Date;return e.setHours(0,0,0,0),[e,t]}},{text:this.$t("usage.shortcuts.last1Day"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-1),[e,t]}},{text:this.$t("usage.shortcuts.last3Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-3),[e,t]}},{text:this.$t("usage.shortcuts.last7Days"),value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-7),[e,t]}},{text:this.$t("usage.shortcuts.last1Month"),value:()=>{const t=new Date,e=new Date;return e.setMonth(e.getMonth()-1),[e,t]}}],type:this.$route.query.type?.toString()||v.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],aggLoading:!1}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||"1")},apis(){return this.applications.filter(t=>this.applicationIds&&this.applicationIds.length?this.applicationIds.includes(t.id):!0).map(t=>t.service?.apis).flat()},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(t=>({label:t.label,data:t.data,backgroundColor:t.color}))}},barChartOptions(){return{responsive:!0,plugins:{legend:{position:"top",onClick:(t,e,y)=>{const c=y?.chart;if(!c||e?.datasetIndex===void 0)return;const b=e.datasetIndex,$=c.data?.datasets||[];$.some((p,d)=>d!==b&&c.isDatasetVisible(d))?$.forEach((p,d)=>c.setDatasetVisibility(d,d===b)):$.forEach((p,d)=>c.setDatasetVisibility(d,!0)),c.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.onFetchUsages(),this.onFetchAggregate()}}},mounted(){this.onFetchApplications(),this.onFetchUsages(),this.onFetchAggregate()},methods:{async onFetchUsages(){this.type===v.API?this.onFetchApiUsages():this.type===v.Proxy&&this.onFetchProxyUsages()},async onApiChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:t&&t.length?t.join(","):""}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){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()},async onApplicationChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(t){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:t&&t.length?t.join(","):""}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(t){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:t}})},getRemainingAmount(t){if(t.remaining_amount===void 0||t.remaining_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.remaining_amount?.toFixed(6)} ${e}`},getUsedAmount(t){if(t.used_amount===void 0||t.used_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.used_amount?.toFixed(6)} ${e}`},getDeductedAmount(t){if(t?.deducted_amount===void 0||t?.deducted_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.deducted_amount?.toFixed(6)} ${e}`},getOriginalAmount(t){if(t?.original_amount===void 0||t?.original_amount===null)return"";const e=this.$t(`service.unit.${t?.service?.unit||"credit"}s`);return`${t.original_amount?.toFixed(6)} ${e}`},onFetchApplications(){M.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",type:j.USAGE}).then(({data:t})=>{this.applications=t.items.filter(e=>e?.service?.type?e.service.type===this.type:!0)}).catch(()=>{})},onFetchApiUsages(){this.loading=!0,L.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}:{}}).then(({data:t})=>{this.apiUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},onFetchProxyUsages(){this.loading=!0,wt.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:t})=>{this.proxyUsages=t.items,this.loading=!1,this.total=t.count}).catch(()=>{this.loading=!1})},async onFetchAggregate(){if(this.aggLoading=!0,this.type!==this.serviceType.API){this.aggLoading=!1;return}const t={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{const{data:e}=await L.getAggregate(t);this.totalUsed=e.total||0;const y=Array.from(new Set((e.items||[]).map(h=>h.date))).sort(),c=Array.from(new Set((e.items||[]).map(h=>h.api_id))),b=h=>`hsl(${h*57%360}, 70%, 60%)`,$=c.map((h,p)=>{const d=e.apis?.[h]?.title||h,w={};(e.items||[]).filter(m=>m.api_id===h).forEach(m=>{w[m.date]=m.amount||0});const I=y.map(m=>w[m]||0);return{key:h,label:d,data:I,color:b(p)}});this.barChartLabels=y,this.barChartSeries=$}finally{this.aggLoading=!1}}}}),vt={class:"title"},Ct={class:"inline-block w-9"},Dt={class:"inline-block"},St={key:1,class:"summary-card"},It={class:"icon-wrapper"},Ut={class:"text-left"},kt={class:"description"},Ft={class:"value"},Rt={class:"chart-wrapper"},Tt={key:0},qt={key:1},Vt={class:"flex flex-wrap gap-2"},Pt={class:"key"},Et={key:0,class:"cursor-pointer"},Lt={class:"created-at"},Ot={class:"created-at"},xt={class:"float-right"};function Bt(t,e,y,c,b,$){const h=r("help-entry"),p=r("el-col"),d=r("el-row"),w=r("el-radio-button"),I=r("el-radio-group"),m=r("el-option"),q=r("el-select"),O=r("el-date-picker"),V=r("el-skeleton"),x=r("font-awesome-icon"),U=r("el-card"),B=r("bar-chart"),g=r("el-table-column"),k=r("el-tag"),Y=r("copy-to-clipboard"),P=r("el-table"),H=r("pagination"),E=yt("loading");return l(),u(d,{class:"panel"},{default:s(()=>[i(h,{class:"help"}),i(p,{span:24},{default:s(()=>[i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[n("h2",vt,o(t.$t("common.title.allUsages")),1)]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{md:4,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",null,o(t.$t("application.field.type")),1),i(I,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=a=>t.type=a)},{default:s(()=>[i(w,{value:t.serviceType.API,label:t.$t("application.field.api")},null,8,["value","label"]),i(w,{value:t.serviceType.Proxy,label:t.$t("application.field.proxy")},null,8,["value","label"])]),_:1},8,["modelValue"])]),_:1}),R(i(p,{md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Ct,o(t.$t("usage.field.application")),1),i(q,{modelValue:t.applicationIds,"onUpdate:modelValue":e[1]||(e[1]=a=>t.applicationIds=a),placeholder:t.$t("usage.field.application"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApplicationsChange},{default:s(()=>[(l(!0),f(D,null,C(t.applications,a=>(l(),u(m,{key:a.id,label:a.service?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1},512),[[_t,!1]]),t.type===t.serviceType.API?(l(),u(p,{key:0,md:6,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[n("span",Dt,o(t.$t("usage.field.api")),1),i(q,{modelValue:t.apiIds,"onUpdate:modelValue":e[2]||(e[2]=a=>t.apiIds=a),placeholder:t.$t("usage.field.api"),clearable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",class:"w-full",onChange:t.onApisChange},{default:s(()=>[(l(!0),f(D,null,C(t.apis,a=>(l(),u(m,{key:a?.id,label:a?.title,value:a?.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),_:1})):_("",!0),t.type===t.serviceType.API?(l(),u(p,{key:1,md:8,xs:24,class:"mb-4 flex px-2 gap-2 items-center"},{default:s(()=>[i(O,{modelValue:t.createdAtRange,"onUpdate:modelValue":e[3]||(e[3]=a=>t.createdAtRange=a),type:"datetimerange",class:"w-full",shortcuts:t.shortcuts,"range-separator":t.$t("usage.placeholder.to"),"start-placeholder":t.$t("usage.placeholder.startDate"),"end-placeholder":t.$t("usage.placeholder.endDate"),onChange:t.onTimeRangeChanged},null,8,["modelValue","shortcuts","range-separator","start-placeholder","end-placeholder","onChange"])]),_:1})):_("",!0)]),_:1}),i(d,null,{default:s(()=>[i(p,{span:24},{default:s(()=>[t.type===t.serviceType.API?(l(),u(d,{key:0,gutter:15,class:"mb-4"},{default:s(()=>[i(p,{md:6,xs:24},{default:s(()=>[i(U,{shadow:"hover",class:"h-full"},{default:s(()=>[t.aggLoading?(l(),u(V,{key:0})):(l(),f("div",St,[n("div",It,[i(x,{icon:"fa-solid fa-cubes",class:"icon"})]),n("div",Ut,[n("p",kt,o(t.$t("usage.title.totalUsed")),1),n("p",Ft,o(t.totalUsedString),1)])]))]),_:1})]),_:1}),i(p,{md:18,xs:24},{default:s(()=>[i(U,{shadow:"hover",class:"h-full"},{default:s(()=>[n("div",Rt,[t.aggLoading?(l(),u(V,{key:0,class:"w-full"})):(l(),u(B,{key:1,data:t.barChartData,options:t.barChartOptions,class:"chart"},null,8,["data","options"]))])]),_:1})]),_:1})]),_:1})):_("",!0),i(U,{shadow:"hover"},{default:s(()=>[t.type===t.serviceType.API?R((l(),u(P,{key:0,data:t.apiUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.api?.title),1)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.statusCode"),width:"120px"},{default:s(a=>[n("span",null,o(a.row.status_code),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[t.getDeductedAmount(a.row)===t.getOriginalAmount(a.row)?(l(),f("div",Tt,[n("span",null,o(t.getDeductedAmount(a.row)),1)])):(l(),f("div",qt,[e[4]||(e[4]=n("p",null,null,-1)),n("p",null,[n("span",null,o(t.getDeductedAmount(a.row)),1)]),n("p",null,[n("del",null,o(t.getOriginalAmount(a.row)),1)])]))]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"260px","class-name":"text-center"},{default:s(a=>[n("div",Vt,[a.row.original_amount>a.row.deducted_amount&&a.row.original_amount>0?(l(),u(k,{key:0,type:"success",style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(((a.row.original_amount-a.row.deducted_amount)*100/a.row.original_amount).toFixed(0)+"% OFF"),1)]),_:2},1024)):_("",!0),(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(k,{key:A,style:{textWrap:"wrap",height:"fit-content",lineHeight:"20px",borderRadius:"10px"}},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))])]),_:1},8,["label"]),i(g,{prop:"trace_id",label:t.$t("application.field.traceId"),width:"200px","class-name":"text-center"},{default:s(a=>[n("span",Pt,o(a.row.trace_id),1),a.row.trace_id?(l(),f("span",Et,[i(Y,{content:a.row.trace_id,class:"inline-block"},null,8,["content"])])):_("",!0)]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Lt,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0),t.type===t.serviceType.Proxy?R((l(),u(P,{key:1,data:t.proxyUsages,stripe:"","table-layout":"fixed","empty-text":t.$t("common.message.noData"),class:"min-h-[calc(100vh-350px)] mb-[50px]"},{default:s(()=>[i(g,{label:t.$t("application.field.name"),width:"160px"},{default:s(a=>[n("span",null,o(a.row?.service?.title),1)]),_:1},8,["label"]),i(g,{prop:"remaining_amount",label:t.$t("usage.field.remainingAmount"),width:"160px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getRemainingAmount(a.row)),1),n("span",null,o(t.getOriginalAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"deducted_amount",label:t.$t("usage.field.deductedAmount"),width:"150px","class-name":"text-center"},{default:s(a=>[n("span",null,o(t.getDeductedAmount(a.row)),1)]),_:1},8,["label"]),i(g,{prop:"metadata",label:t.$t("usage.field.metadata"),width:"200px","class-name":"text-center"},{default:s(a=>[(l(!0),f(D,null,C(a.row.metadata,(F,A)=>(l(),u(k,{key:A,class:"mb-2"},{default:s(()=>[T(o(A)+": "+o(F),1)]),_:2},1024))),128))]),_:1},8,["label"]),i(g,{label:t.$t("usage.field.createdAt"),width:"200px"},{default:s(a=>[n("span",Ot,o(t.$dayjs.format(a.row.created_at)),1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"])),[[E,t.loading]]):_("",!0)]),_:1})]),_:1})]),_:1}),i(d,null,{default:s(()=>[i(p,{span:10,offset:14},{default:s(()=>[n("div",xt,[i(H,{"current-page":t.page,"page-size":t.limit,total:t.total,onChange:t.onPageChange},null,8,["current-page","page-size","total","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})}const Xt=G(At,[["render",Bt],["__scopeId","data-v-468b1d4d"]]);export{Xt as default};
@@ -1 +1 @@
1
- import{N}from"./Navigator-qudQv6Ew.js";import{A as E}from"./Status-KsOIucfx.js";import{aB as u,aD as m,au as k,_ as v,aC as D,aI as C,aJ as I}from"./index-muIEJvsu.js";import{m as x,R as z,p as U,E as B,w as y}from"./vendor-element-plus-DN048TGi.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as V,D as $,c as L,C as O,O as P}from"./vendor-vue-BhXato7y.js";import"./avatar-DhwSCd0o.js";import"./index.es-Bqj83sQx.js";import"./EditArray-BFLjz-wW.js";import"./CopyToClipboard-DY-UF17o.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function R(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=R(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function G(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:B,ElDivider:U,ElCheckbox:z,ElButton:x},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},J={class:"policy-title text-[12px] relative -bottom-[3px]"},W=["href"];function K(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",J,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,W)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[V(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const Q=v(F,[["render",K]]),j=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:Q},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===I.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=G(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){D.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===C&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2 z-[200]",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(j,[["render",X],["__scopeId","data-v-242c14d7"]]);export{de as default};
1
+ import{N}from"./Navigator-semGmQ89.js";import{A as E}from"./Status-De0L9Wnu.js";import{aC as u,aE as m,av as k,_ as v,aD as D,aJ as C,aK as x}from"./index-CtkD2JaX.js";import{m as z,R as I,p as U,E as V,w as y}from"./vendor-element-plus-CmP9-3lX.js";import{d as _,J as w,K as A,G as c,T as r,R as h,ai as o,Q as B,D as $,c as L,C as O,O as P}from"./vendor-vue-BhXato7y.js";import"./avatar-B2oLnm2w.js";import"./index.es-DMehEjXB.js";import"./EditArray-DzSfUZdI.js";import"./CopyToClipboard-cTbsayFn.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";function S(e){if(!e?.expired_at)return!1;try{return new Date(e?.expired_at)<new Date}catch{return!1}}function R(e){return console.debug("application remaining amount",e,e?.remaining_amount),e?.remaining_amount&&e?.remaining_amount<0}function d(e){if(!e)return console.debug("application is undefined, return false"),!1;const t=R(e),a=S(e);return console.debug("is application exhausted",t),console.debug("is application expired",a),!t&&!a}function G(e,t){if(console.debug("start to execute getFinalApplication",e,t),t&&d(t)&&e?.some(i=>i.id===t.id))return console.debug("current application is usable",t),t;console.debug("get final application from applications",e);const a=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.PERIOD);if(console.debug("application1",a),d(a))return console.debug("application with global scope and Period type",a),a;const s=e?.find(i=>i.scope===u.GLOBAL&&i.type===m.USAGE);if(console.debug("application2",s),d(s))return console.debug("application with global scope and Usage type",s),s;const n=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.PERIOD);if(console.debug("application3",n),d(n))return console.debug("application with Period type",n),n;const p=e?.find(i=>(i.scope===u.INDIVIDUAL&&i?.type)===m.USAGE);return console.debug("application4",p),d(p)?(console.debug("application with Usage type",p),p):a||s||n||p}const F=_({name:"ApplicationConfirm",components:{ElDialog:V,ElDivider:U,ElCheckbox:I,ElButton:z},props:{visible:{type:Boolean,required:!1,default:!1}},emits:["update:visible","apply"],data(){return{checked:!0}},watch:{},methods:{getBaseUrlPlatform:k,onApply(){if(!this.checked){y.error(this.$t("application.message.notAgreePolicy"));return}this.$emit("apply")}}}),M={class:"content py-[10px] px-[40px]"},T={class:"my-4"},q={class:"policy mb-[10px]"},J={class:"policy-title text-[12px] relative -bottom-[3px]"},K=["href"];function W(e,t,a,s,n,p){const i=o("el-divider"),g=o("el-checkbox"),f=o("el-button"),b=o("el-dialog");return $(),w(b,{"model-value":e.visible,width:"500px",title:e.$t("application.message.welcome"),center:"",onClose:t[1]||(t[1]=l=>e.$emit("update:visible",!1))},{default:A(()=>[c("div",M,[c("p",T,h(e.$t("application.message.notApplied")),1),r(i,{class:"my-2"}),c("div",q,[r(g,{modelValue:e.checked,"onUpdate:modelValue":t[0]||(t[0]=l=>e.checked=l),size:"large",class:"policy-checkbox mr-[10px]"},null,8,["modelValue"]),c("span",J,h(e.$t("application.message.readPolicy")),1),c("a",{class:"policy-title text-[12px] relative -bottom-[3px] text-[var(--el-color-primary)] cursor-pointer no-underline",target:"_blank",href:e.getBaseUrlPlatform()+"/terms"},"  "+h(e.$t("application.message.policy")),9,K)]),r(f,{round:"",type:"primary",onClick:e.onApply},{default:A(()=>[B(h(e.$t("common.button.start")),1)]),_:1},8,["onClick"])])]),_:1},8,["model-value","title"])}const Q=v(F,[["render",W]]),j=_({name:"LayoutMain",components:{Navigator:N,ApplicationStatus:E,ApplicationConfirm:Q},provide(){return{initialized:L(()=>this.initialized)}},data(){return{initialized:!1,applying:!1,mobile:window.innerWidth<768}},computed:{appName(){return this.$route.meta.appName},application(){return this.$store.state[this.appName]?.application},applications(){const e=this.$store.state[this.appName]?.applications??[];console.debug("individualApplications",e);const t=this.$store.state.applications??[];return console.debug("globalApplications",t),t.concat(e)},loading(){return this.$store.state[this.appName]?.status?.getApplications===x.Request},service(){return this.$store.state[this.appName]?.service}},watch:{appName(){this.initialize()}},mounted(){this.initialize(),window.addEventListener("resize",()=>{this.mobile=window.innerWidth<768})},methods:{async initialize(){this.initialized=!1,console.debug("Fetching all individual and global applications for",this.appName),Promise.all([this.$store.dispatch("getApplications"),this.$store.dispatch(`${this.appName}/getApplications`)]).finally(async()=>{console.debug("Fetched all applications",this.applications),this.$store.state.applications?.length===0&&(this.applying=!0);const e=this.$store.state[this.appName]?.application;console.debug("current application",e);const t=G(this.applications,e);console.debug("final application",t),t&&(console.debug("set final application",t,t?.type),await this.$store.dispatch(`${this.appName}/setApplication`,t)),console.debug("finished initialization"),this.initialized=!0})},onApply(){D.create({type:m.USAGE,scope:u.GLOBAL,user_id:this.$store.getters.user.id}).then(()=>{y.success(this.$t("application.message.applySuccessfully")),this.initialize(),this.applying=!1}).catch(e=>{e?.response?.data?.code===C&&y.error(this.$t("application.message.alreadyApplied"))})}}}),H={class:"wrapper"};function X(e,t,a,s,n,p){const i=o("router-view"),g=o("navigator"),f=o("application-status"),b=o("application-confirm");return $(),O("div",H,[r(i,{class:"main"}),r(g,{class:"navigator",direction:e.mobile?"row":"column"},null,8,["direction"]),e.application?($(),w(f,{key:0,class:"fixed right-2 top-2 z-[200]",application:e.application,applications:e.applications,"show-price":!1,authenticated:!!e.$store.state.token.access,service:e.service,onSelect:t[0]||(t[0]=l=>e.$store.dispatch(`${e.appName}/setApplication`,l))},null,8,["application","applications","authenticated","service"])):P("",!0),r(b,{modelValue:e.applying,"onUpdate:modelValue":t[1]||(t[1]=l=>e.applying=l),modelModifiers:{visible:!0},onApply:e.onApply},null,8,["modelValue","onApply"])])}const de=v(j,[["render",X],["__scopeId","data-v-242c14d7"]]);export{de as default};
@@ -0,0 +1 @@
1
+ import{a as r}from"./vendor-axios-NIGUFBhG.js";import{aL as d,_ as I}from"./index-CtkD2JaX.js";import{F as T}from"./index.es-DMehEjXB.js";import{Y as O,a as D,k as P,x as q,O as N,P as j,t as G,M as J,N as K,m as Q,E as Y,w as c,I as W}from"./vendor-element-plus-CmP9-3lX.js";import{d as X,J as v,K as i,G as f,O as u,L as Z,T as s,Q as g,ai as m,R as l,C as h,S as L,ag as E,aq as x,D as n}from"./vendor-vue-BhXato7y.js";class ee{getHeaders(t){return{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}async list(t){return await r.post("/aichat2/mcp-servers",{action:"list"},{headers:this.getHeaders(t),baseURL:d})}async create(t,o){return await r.post("/aichat2/mcp-servers",{action:"create",...t},{headers:this.getHeaders(o),baseURL:d})}async update(t,o){return await r.post("/aichat2/mcp-servers",{action:"update",...t},{headers:this.getHeaders(o),baseURL:d})}async delete(t,o){return await r.post("/aichat2/mcp-servers",{action:"delete",id:t},{headers:this.getHeaders(o),baseURL:d})}async test(t,o){return await r.post("/aichat2/mcp-servers",{action:"test",...t},{headers:this.getHeaders(o),baseURL:d})}async oauthStart(t,o){return await r.post("/aichat2/mcp-servers",{action:"oauth_start",id:t},{headers:this.getHeaders(o),baseURL:d})}async oauthCallback(t,o,p){return await r.post("/aichat2/mcp-servers",{action:"oauth_callback",id:t,code:o},{headers:this.getHeaders(p),baseURL:d})}async listBuiltin(t){return await r.post("/aichat2/mcp-servers",{action:"list_builtin"},{headers:this.getHeaders(t),baseURL:d})}async installBuiltin(t,o){return await r.post("/aichat2/mcp-servers",{action:"install_builtin",builtin_id:t},{headers:this.getHeaders(o),baseURL:d})}}const y=new ee;class te{getHeaders(t){return{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}async listProviders(t){return await r.post("/aichat2/connectors",{action:"list_providers"},{headers:this.getHeaders(t),baseURL:d})}async list(t){return await r.post("/aichat2/connectors",{action:"list"},{headers:this.getHeaders(t),baseURL:d})}async authorize(t,o){return await r.post("/aichat2/connectors",{action:"authorize",provider:t},{headers:this.getHeaders(o),baseURL:d})}async exchange(t,o,p){return await r.post("/aichat2/connectors",{action:"exchange",code:t,state:o},{headers:this.getHeaders(p),baseURL:d})}async disconnect(t,o){return await r.post("/aichat2/connectors",{action:"disconnect",provider:t},{headers:this.getHeaders(o),baseURL:d})}async toggle(t,o,p){return await r.post("/aichat2/connectors",{action:"toggle",provider:t,is_enabled:o},{headers:this.getHeaders(p),baseURL:d})}}const Le=new te,ae=X({name:"McpManager",components:{ElDialog:Y,ElButton:Q,ElForm:K,ElFormItem:J,ElInput:G,ElSelect:j,ElOption:N,ElCard:q,ElSwitch:P,ElTag:D,ElText:O,FontAwesomeIcon:T},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","change"],data(){return{servers:[],loading:!1,loadError:!1,submitting:!1,testing:!1,showAddForm:!1,editingServer:null,testResult:null,form:{name:"",url:"",description:"",auth_type:"none",auth_token:""},authorizingServerId:null,oauthMessageHandler:null}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},token(){return this.$store.state.chat?.credential?.token||""}},watch:{modelValue:{handler(e){e&&this.onLoad()},immediate:!0}},beforeUnmount(){this.oauthMessageHandler&&window.removeEventListener("message",this.oauthMessageHandler)},methods:{async onLoad(){this.loading=!0,this.loadError=!1;try{const{data:e}=await y.list(this.token);this.servers=e.items||[]}catch{this.loadError=!0}finally{this.loading=!1}},resetForm(){this.form={name:"",url:"",description:"",auth_type:"none",auth_token:""},this.testResult=null,this.showAddForm=!1,this.editingServer=null},onCancelForm(){this.resetForm()},onEdit(e){this.editingServer=e,this.showAddForm=!1,this.testResult=null,this.form={name:e.name,url:e.url,description:e.description||"",auth_type:e.auth_type||"none",auth_token:e.auth_token||""}},async onSave(){if(!this.form.name||!this.form.url){c.warning(this.$t("chat.mcp.nameUrlRequired"));return}this.submitting=!0;try{this.editingServer?(await y.update({id:this.editingServer.id,...this.form},this.token),c.success(this.$t("chat.mcp.updated"))):(await y.create(this.form,this.token),c.success(this.$t("chat.mcp.created"))),this.resetForm(),await this.onLoad(),this.$emit("change")}catch{c.error(this.$t("chat.mcp.saveFailed"))}finally{this.submitting=!1}},async onDelete(e){try{await W.confirm(this.$t("chat.mcp.deleteConfirm",{name:e.name}),this.$t("common.button.delete"),{type:"warning",confirmButtonClass:"el-button--danger"}),await y.delete(e.id,this.token),c.success(this.$t("chat.mcp.deleted")),await this.onLoad(),this.$emit("change")}catch{}},async onToggle(e,t){try{await y.update({id:e.id,is_enabled:t},this.token),e.is_enabled=t,this.$emit("change")}catch{c.error("Failed to update server")}},async onTest(){if(!this.form.url){c.warning(this.$t("chat.mcp.urlRequired"));return}this.testing=!0,this.testResult=null;try{const{data:e}=await y.test({url:this.form.url,auth_type:this.form.auth_type,auth_token:this.form.auth_token},this.token);this.testResult=e}catch(e){this.testResult={success:!1,error:e?.response?.data?.error||"Connection failed"}}finally{this.testing=!1}},async onAuthorize(e){this.authorizingServerId=e.id;try{const{data:t}=await y.oauthStart(e.id,this.token);if(t.status==="authorized"){c.success(this.$t("chat.mcp.oauthAuthorized")),await this.onLoad(),this.$emit("change");return}if(t.status==="redirect"&&t.authorization_url){const o=window.open(t.authorization_url,"mcp-oauth","width=600,height=700");if(!o){c.error(this.$t("chat.mcp.popupBlocked"));return}const p=window.setInterval(()=>{o.closed&&(window.clearInterval(p),this.oauthMessageHandler&&(window.removeEventListener("message",this.oauthMessageHandler),this.oauthMessageHandler=null),this.authorizingServerId=null)},500);this.oauthMessageHandler&&window.removeEventListener("message",this.oauthMessageHandler),this.oauthMessageHandler=async b=>{if(b.origin===window.location.origin&&b.data?.type==="oauth-callback"){window.clearInterval(p),window.removeEventListener("message",this.oauthMessageHandler),this.oauthMessageHandler=null;try{const{data:R}=await y.oauthCallback(e.id,b.data.code,this.token);R.status==="authorized"?(c.success(this.$t("chat.mcp.oauthAuthorized")),await this.onLoad(),this.$emit("change")):c.error(R.error||this.$t("chat.mcp.oauthFailed"))}catch{c.error(this.$t("chat.mcp.oauthFailed"))}finally{this.authorizingServerId=null}}},window.addEventListener("message",this.oauthMessageHandler)}}catch{c.error(this.$t("chat.mcp.oauthFailed"))}finally{this.oauthMessageHandler||(this.authorizingServerId=null)}}}}),se={class:"mcp-manager"},oe={class:"header"},ie={key:1,class:"oauth-hint"},ne={class:"form-actions"},le={key:0,class:"test-result"},re={key:0,class:"test-info"},de={key:1,class:"test-error"},he={key:2,class:"test-tools"},ce={class:"tool-name"},ue={key:0,class:"tool-desc"},me={class:"server-list"},pe={key:0,class:"empty"},fe={key:1,class:"empty"},ge={class:"server-info"},ye={class:"server-header"},we={class:"server-name"},ve={class:"server-url"},ke={key:0,class:"server-desc"},_e={class:"server-actions"};function be(e,t,o,p,b,R){const k=m("font-awesome-icon"),w=m("el-button"),$=m("el-input"),_=m("el-form-item"),C=m("el-option"),V=m("el-select"),S=m("el-text"),U=m("el-form"),H=m("el-tag"),F=m("el-card"),M=m("el-switch"),A=m("el-dialog"),B=x("loading");return n(),v(A,{modelValue:e.visible,"onUpdate:modelValue":t[6]||(t[6]=a=>e.visible=a),title:e.$t("chat.mcp.title"),width:"600px","close-on-click-modal":!1,onClose:t[7]||(t[7]=a=>e.$emit("update:modelValue",!1))},{default:i(()=>[f("div",se,[f("div",oe,[s(w,{type:"primary",size:"small",onClick:t[0]||(t[0]=a=>e.showAddForm=!0)},{default:i(()=>[s(k,{icon:"fa-solid fa-plus",class:"mr-1"}),g(" "+l(e.$t("chat.mcp.addServer")),1)]),_:1})]),e.showAddForm||e.editingServer?(n(),v(F,{key:0,shadow:"never",class:"form-card"},{default:i(()=>[s(U,{model:e.form,"label-position":"top",size:"default"},{default:i(()=>[s(_,{label:e.$t("chat.mcp.name"),required:""},{default:i(()=>[s($,{modelValue:e.form.name,"onUpdate:modelValue":t[1]||(t[1]=a=>e.form.name=a),placeholder:e.$t("chat.mcp.namePlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(_,{label:e.$t("chat.mcp.url"),required:""},{default:i(()=>[s($,{modelValue:e.form.url,"onUpdate:modelValue":t[2]||(t[2]=a=>e.form.url=a),placeholder:e.$t("chat.mcp.urlPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(_,{label:e.$t("chat.mcp.description")},{default:i(()=>[s($,{modelValue:e.form.description,"onUpdate:modelValue":t[3]||(t[3]=a=>e.form.description=a),placeholder:e.$t("chat.mcp.descriptionPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(_,{label:e.$t("chat.mcp.authType")},{default:i(()=>[s(V,{modelValue:e.form.auth_type,"onUpdate:modelValue":t[4]||(t[4]=a=>e.form.auth_type=a),style:{width:"100%"}},{default:i(()=>[s(C,{value:"none",label:e.$t("chat.mcp.authNone")},null,8,["label"]),s(C,{value:"bearer",label:e.$t("chat.mcp.authBearer")},null,8,["label"]),s(C,{value:"oauth",label:e.$t("chat.mcp.authOAuth")},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),e.form.auth_type==="bearer"?(n(),v(_,{key:0,label:e.$t("chat.mcp.authToken")},{default:i(()=>[s($,{modelValue:e.form.auth_token,"onUpdate:modelValue":t[5]||(t[5]=a=>e.form.auth_token=a),type:"password","show-password":"",placeholder:e.$t("chat.mcp.authTokenPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):u("",!0),e.form.auth_type==="oauth"?(n(),h("div",ie,[s(S,{type:"info",size:"small"},{default:i(()=>[g(l(e.$t("chat.mcp.oauthHint")),1)]),_:1})])):u("",!0),f("div",ne,[s(w,{size:"small",onClick:e.onCancelForm},{default:i(()=>[g(l(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),s(w,{size:"small",loading:e.testing,onClick:e.onTest},{default:i(()=>[s(k,{icon:"fa-solid fa-link",class:"mr-1"}),g(" "+l(e.$t("chat.mcp.test")),1)]),_:1},8,["loading","onClick"]),s(w,{type:"primary",size:"small",loading:e.submitting,onClick:e.onSave},{default:i(()=>[g(l(e.editingServer?e.$t("common.button.save"):e.$t("chat.mcp.addServer")),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["model"]),e.testResult?(n(),h("div",le,[s(H,{type:e.testResult.success?"success":"danger",size:"small",effect:"dark"},{default:i(()=>[g(l(e.testResult.success?e.$t("chat.mcp.testSuccess"):e.$t("chat.mcp.testFailed")),1)]),_:1},8,["type"]),e.testResult.success?(n(),h("span",re,l(e.$t("chat.mcp.toolsFound",{count:e.testResult.tools_count})),1)):(n(),h("span",de,l(e.testResult.error),1)),e.testResult.tools?.length?(n(),h("div",he,[(n(!0),h(L,null,E(e.testResult.tools,a=>(n(),h("div",{key:a.name,class:"test-tool"},[f("span",ce,l(a.name),1),a.description?(n(),h("span",ue,l(a.description),1)):u("",!0)]))),128))])):u("",!0)])):u("",!0)]),_:1})):u("",!0),Z((n(),h("div",me,[e.servers.length===0&&!e.loading&&!e.loadError?(n(),h("div",pe,l(e.$t("chat.mcp.empty")),1)):u("",!0),e.loadError&&!e.loading?(n(),h("div",fe,l(e.$t("chat.mcp.loadErrorHint")),1)):u("",!0),(n(!0),h(L,null,E(e.servers,a=>(n(),h("div",{key:a.id,class:"server-item"},[f("div",ge,[f("div",ye,[s(M,{"model-value":a.is_enabled,size:"small",onChange:z=>e.onToggle(a,z)},null,8,["model-value","onChange"]),f("span",we,l(a.name),1),a.tools_cache?.length?(n(),v(H,{key:0,size:"small",type:"info",effect:"plain"},{default:i(()=>[g(l(a.tools_cache.length)+" tools ",1)]),_:2},1024)):u("",!0),a.auth_type==="oauth"&&a.oauth_status==="authorized"?(n(),v(H,{key:1,size:"small",type:"success",effect:"plain"},{default:i(()=>t[8]||(t[8]=[g(" OAuth ",-1)])),_:1,__:[8]})):u("",!0),a.auth_type==="oauth"&&a.oauth_status!=="authorized"?(n(),v(w,{key:2,size:"small",type:"warning",loading:e.authorizingServerId===a.id,onClick:z=>e.onAuthorize(a)},{default:i(()=>[s(k,{icon:"fa-solid fa-key",class:"mr-1"}),g(" "+l(e.$t("chat.mcp.authorize")),1)]),_:2},1032,["loading","onClick"])):u("",!0)]),f("div",ve,l(a.url),1),a.description?(n(),h("div",ke,l(a.description),1)):u("",!0)]),f("div",_e,[s(w,{text:"",size:"small",onClick:z=>e.onEdit(a)},{default:i(()=>[s(k,{icon:"fa-solid fa-pen-to-square"})]),_:2},1032,["onClick"]),s(w,{text:"",size:"small",type:"danger",onClick:z=>e.onDelete(a)},{default:i(()=>[s(k,{icon:"fa-solid fa-trash"})]),_:2},1032,["onClick"])])]))),128))])),[[B,e.loading]])])]),_:1},8,["modelValue","title"])}const Ee=I(ae,[["render",be],["__scopeId","data-v-9b81117d"]]);export{Ee as M,Le as c,y as m};
@@ -0,0 +1 @@
1
+ .mcp-manager .header[data-v-9b81117d]{margin-bottom:12px}.mcp-manager .form-card[data-v-9b81117d]{margin-bottom:16px}.mcp-manager .form-card .form-actions[data-v-9b81117d]{display:flex;justify-content:flex-end;gap:8px}.mcp-manager .form-card .oauth-hint[data-v-9b81117d]{margin-bottom:12px}.mcp-manager .test-result[data-v-9b81117d]{margin-top:12px;padding:8px 12px;background:var(--el-fill-color-light);border-radius:6px;font-size:13px}.mcp-manager .test-result .test-info[data-v-9b81117d]{margin-left:8px;color:var(--el-text-color-secondary)}.mcp-manager .test-result .test-error[data-v-9b81117d]{margin-left:8px;color:var(--el-color-danger)}.mcp-manager .test-result .test-tools[data-v-9b81117d]{margin-top:8px}.mcp-manager .test-result .test-tools .test-tool[data-v-9b81117d]{padding:4px 0;display:flex;gap:8px;align-items:baseline}.mcp-manager .test-result .test-tools .test-tool .tool-name[data-v-9b81117d]{font-family:monospace;font-weight:500;color:var(--el-text-color-primary)}.mcp-manager .test-result .test-tools .test-tool .tool-desc[data-v-9b81117d]{font-size:12px;color:var(--el-text-color-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-manager .server-list[data-v-9b81117d]{min-height:60px}.mcp-manager .server-list .empty[data-v-9b81117d]{text-align:center;color:var(--el-text-color-secondary);padding:20px 0;font-size:14px}.mcp-manager .server-item[data-v-9b81117d]{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--el-border-color-lighter);border-radius:8px;margin-bottom:8px}.mcp-manager .server-item[data-v-9b81117d]:hover{border-color:var(--el-border-color)}.mcp-manager .server-item .server-info[data-v-9b81117d]{flex:1;min-width:0}.mcp-manager .server-item .server-info .server-header[data-v-9b81117d]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.mcp-manager .server-item .server-info .server-header .server-name[data-v-9b81117d]{font-weight:500;font-size:14px}.mcp-manager .server-item .server-info .server-url[data-v-9b81117d]{font-size:12px;color:var(--el-text-color-secondary);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-manager .server-item .server-info .server-desc[data-v-9b81117d]{font-size:12px;color:var(--el-text-color-secondary);margin-top:2px}.mcp-manager .server-item .server-actions[data-v-9b81117d]{display:flex;gap:2px;flex-shrink:0}.mr-1[data-v-9b81117d]{margin-right:4px}
@@ -0,0 +1 @@
1
+ import{_ as $,g as ve,s as re,d as de,e as fe,I as be,f as ce,h as S,j as Oe,k as Ee,l as we,m as Te,n as ke,o as ye,p as Ne,q as Ie,r as Ce,t as Se,u as Re,v as Ue,R as Ae,w as Le,x as G,C as De,y as Me,z as V,A as Ge,B as Ve,D as H,E as He,F as Xe,G as X,H as Fe,J as Pe,K as F,L as Ke,M as Be,N as P,O as Ye,P as K,Q as We,S as B,T as qe,U as Y,V as ze,W,X as je,Y as q,Z as Je,$ as z,a0 as Qe,a1 as Ze,a2 as j,a3 as xe,a4 as J,a5 as et,a6 as Q,a7 as tt,a8 as st,a9 as Z,aa as ot,ab as it,ac as x,ad as nt,ae as at,af as ee,ag as lt,ah as rt,ai as te,aj as dt,ak as ct,al as se,am as mt,an as ut,ao as oe,ap as pt,aq as ie,ar as _t,as as ne}from"./index-CtkD2JaX.js";import{d as ht,L as gt}from"./avatar-B2oLnm2w.js";import{d as v,C as d,D as l,J as w,K as c,G as t,Q as g,T as o,R as i,ai as n,ag as I,S as k,O as T,L as ae,U as le,M as N,X as $t}from"./vendor-vue-BhXato7y.js";import{F as R}from"./index.es-DMehEjXB.js";import{e as me,f as A,g as L,h as D,i as ue,j as M,k as vt,m as ft,n as bt,o as Ot,E as Et,p as wt,q as Tt,r as kt}from"./vendor-element-plus-CmP9-3lX.js";import{E as pe,a as _e,b as U}from"./EditArray-DzSfUZdI.js";const yt=v({name:"UserAvatar",data(){return{defaultAvatar:ht}},computed:{user(){return this.$store.getters?.user}}}),Nt=["src"];function It(e,s,h,f,b,O){return l(),d("img",{src:e.user?.avatar||e.defaultAvatar,class:"avatar"},null,8,Nt)}const Ct=$(yt,[["render",It],["__scopeId","data-v-b0beddd3"]]),St=v({name:"ThemeSelector",components:{ArrowDown:ue,ElDropdown:D,ElDropdownMenu:L,ElDropdownItem:A,ElIcon:me},data(){return{theme:"light"}},computed:{currentLabel(){return this.theme==="dark"?this.$t("common.theme.dark"):this.$t("common.theme.light")}},mounted(){this.theme=this.loadFromCookie(),this.applyTheme()},methods:{onSelect(e){this.theme=e,this.applyTheme()},applyTheme(){re("THEME",this.theme,{path:"/",domain:de()}),this.theme==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},loadFromCookie(){return ve("THEME")==="dark"?"dark":"light"}}}),Rt={class:"el-dropdown-link"};function Ut(e,s,h,f,b,O){const m=n("arrow-down"),u=n("el-icon"),p=n("el-dropdown-item"),_=n("el-dropdown-menu"),a=n("el-dropdown");return l(),w(a,{trigger:"click",onCommand:e.onSelect},{dropdown:c(()=>[o(_,null,{default:c(()=>[o(p,{command:"light"},{default:c(()=>[g(i(e.$t("common.theme.light")),1)]),_:1}),o(p,{command:"dark"},{default:c(()=>[g(i(e.$t("common.theme.dark")),1)]),_:1})]),_:1})]),default:c(()=>[t("span",Rt,[g(i(e.currentLabel)+" ",1),o(u,{class:"el-icon--right"},{default:c(()=>[o(m)]),_:1})])]),_:1},8,["onCommand"])}const At=$(St,[["render",Ut]]),Lt=v({name:"Locale",components:{ElDropdown:D,ElDropdownMenu:L,ElDropdownItem:A,ElIcon:me,ArrowDown:ue},data(){return{locales:be}},computed:{value(){return this.$i18n.locale},currentLabel(){const e=this.locales.find(s=>s.value===this.value);return e?e.label:this.value}},methods:{async onSelectLocale(e){this.$router.push({query:{...this.$route.query,locale:void 0}}),await fe(e),re("LOCALE",e,{path:"/",domain:de()})}}}),Dt={class:"el-dropdown-link"};function Mt(e,s,h,f,b,O){const m=n("arrow-down"),u=n("el-icon"),p=n("el-dropdown-item"),_=n("el-dropdown-menu"),a=n("el-dropdown");return l(),w(a,{trigger:"click",onCommand:e.onSelectLocale},{dropdown:c(()=>[o(_,null,{default:c(()=>[(l(!0),d(k,null,I(e.locales,(r,E)=>(l(),w(p,{key:E,command:r.value},{default:c(()=>[g(i(r.label),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:c(()=>[t("span",Dt,[g(i(e.currentLabel)+" ",1),o(u,{class:"el-icon--right"},{default:c(()=>[o(m)]),_:1})])]),_:1},8,["onCommand"])}const Gt=$(Lt,[["render",Mt]]),Vt=v({name:"GeneralSettings",components:{ThemeSwitcher:At,LocaleSwitcher:Gt,FontAwesomeIcon:R},data(){return{faGithub:ce}}}),Ht={class:"settings-list"},Xt={class:"settings-item"},Ft={class:"settings-label"},Pt={class:"settings-title"},Kt={class:"settings-content"},Bt={class:"settings-item"},Yt={class:"settings-label"},Wt={class:"settings-title"},qt={class:"settings-content"},zt={class:"settings-item"},jt={class:"settings-label"},Jt={class:"settings-title"},Qt={class:"settings-content"},Zt={href:"https://github.com/AceDataCloud/Nexior",target:"_blank",rel:"noopener noreferrer",class:"github-link"};function xt(e,s,h,f,b,O){const m=n("theme-switcher"),u=n("locale-switcher"),p=n("font-awesome-icon");return l(),d("div",Ht,[t("section",Xt,[t("div",Ft,[t("p",Pt,i(e.$t("common.settings.theme")),1)]),t("div",Kt,[o(m)])]),t("section",Bt,[t("div",Yt,[t("p",Wt,i(e.$t("common.settings.language")),1)]),t("div",qt,[o(u)])]),t("section",zt,[t("div",jt,[t("p",Jt,i(e.$t("common.settings.github")),1)]),t("div",Qt,[t("a",Zt,[o(p,{icon:e.faGithub,class:"icon"},null,8,["icon"])])])])])}const es=$(Vt,[["render",xt],["__scopeId","data-v-4ba8d533"]]),ts=v({name:"SiteSetting",components:{EditText:U,EditImage:_e,EditArray:pe,ElImage:M},computed:{site(){return this.$store.getters.site||{}}},methods:{onSave(e){const s={...this.site,...e};S.update(this.site?.id,s).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),ss={class:"settings-list"},os={class:"settings-item"},is={class:"settings-label"},ns={class:"settings-title"},as={class:"settings-tip"},ls={class:"settings-content"},rs={class:"settings-value"},ds={class:"settings-item"},cs={class:"settings-label"},ms={class:"settings-title"},us={class:"settings-tip"},ps={class:"settings-content"},_s={class:"settings-value"},hs={class:"settings-item"},gs={class:"settings-label"},$s={class:"settings-title"},vs={class:"settings-tip"},fs={class:"settings-content"},bs={class:"settings-item"},Os={class:"settings-label"},Es={class:"settings-title"},ws={class:"settings-tip"},Ts={class:"settings-content"},ks={class:"settings-item"},ys={class:"settings-label"},Ns={class:"settings-title"},Is={class:"settings-tip"},Cs={class:"settings-content"},Ss={class:"settings-value"};function Rs(e,s,h,f,b,O){const m=n("edit-text"),u=n("el-image"),p=n("edit-image"),_=n("edit-array");return l(),d("div",ss,[t("section",os,[t("div",is,[t("p",ns,i(e.$t("site.field.origin")),1),t("p",as,i(e.$t("site.message.originTip")),1)]),t("div",ls,[t("span",rs,i(e.site.origin),1)])]),t("section",ds,[t("div",cs,[t("p",ms,i(e.$t("site.field.title")),1),t("p",us,i(e.$t("site.message.titleTip")),1)]),t("div",ps,[t("span",_s,i(e.site.title),1),o(m,{"model-value":e.site.title,title:e.$t("site.title.editTitle"),placeholder:e.$t("site.placeholder.title"),onConfirm:s[0]||(s[0]=a=>e.onSave({title:a}))},null,8,["model-value","title","placeholder"])])]),t("section",hs,[t("div",gs,[t("p",$s,i(e.$t("site.field.logo")),1),t("p",vs,i(e.$t("site.message.logoTip")),1)]),t("div",fs,[o(u,{src:e.site.logo,class:"settings-media",fit:"contain"},null,8,["src"]),o(p,{"model-value":e.site.logo,title:e.$t("site.title.editLogo"),tip:e.$t("site.message.editLogoTip"),onConfirm:s[1]||(s[1]=a=>e.onSave({logo:a}))},null,8,["model-value","title","tip"])])]),t("section",bs,[t("div",Os,[t("p",Es,i(e.$t("site.field.favicon")),1),t("p",ws,i(e.$t("site.message.faviconTip")),1)]),t("div",Ts,[o(u,{src:e.site.favicon,class:"settings-media favicon",fit:"contain"},null,8,["src"]),o(p,{"model-value":e.site.favicon,title:e.$t("site.title.editFavicon"),tip:e.$t("site.message.editFaviconTip"),onConfirm:s[2]||(s[2]=a=>e.onSave({favicon:a}))},null,8,["model-value","title","tip"])])]),t("section",ks,[t("div",ys,[t("p",Ns,i(e.$t("site.field.admins")),1),t("p",Is,i(e.$t("site.message.adminsTip")),1)]),t("div",Cs,[t("span",Ss,i(e.site.admins?.join(", ")),1),o(_,{"model-value":e.site?.admins||[],title:e.$t("site.title.editAdmins"),placeholder:e.$t("site.placeholder.admins"),tip:e.$t("site.message.adminsTip2"),min:1,"min-error-message":e.$t("site.message.atLeastOneAdmin"),onConfirm:s[3]||(s[3]=a=>e.onSave({admins:a}))},null,8,["model-value","title","placeholder","tip","min-error-message"])])])])}const Us=$(ts,[["render",Rs],["__scopeId","data-v-55a5b78b"]]),As=v({name:"SettingSeo",components:{EditText:U,EditArray:pe},computed:{site(){return this.$store.getters.site||{}}},methods:{onSave(e){const s={...this.site,...e};S.update(this.site?.id,s).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),Ls={class:"settings-list"},Ds={class:"settings-item"},Ms={class:"settings-label"},Gs={class:"settings-title"},Vs={class:"settings-tip"},Hs={class:"settings-content"},Xs={class:"settings-value"},Fs={class:"settings-item"},Ps={class:"settings-label"},Ks={class:"settings-title"},Bs={class:"settings-tip"},Ys={class:"settings-content"},Ws={class:"settings-value"};function qs(e,s,h,f,b,O){const m=n("edit-text"),u=n("edit-array");return l(),d("div",Ls,[t("section",Ds,[t("div",Ms,[t("p",Gs,i(e.$t("site.field.description")),1),t("p",Vs,i(e.$t("site.message.descriptionTip")),1)]),t("div",Hs,[t("span",Xs,i(e.site.description),1),o(m,{"model-value":e.site.description,title:e.$t("site.title.editDescription"),placeholder:e.$t("site.placeholder.description"),onConfirm:s[0]||(s[0]=p=>e.onSave({description:p}))},null,8,["model-value","title","placeholder"])])]),t("section",Fs,[t("div",Ps,[t("p",Ks,i(e.$t("site.field.keywords")),1),t("p",Bs,i(e.$t("site.message.keywordsTip")),1)]),t("div",Ys,[t("span",Ws,i(e.site.keywords?.join(", ")),1),o(u,{"model-value":e.site?.keywords||[],title:e.$t("site.title.editKeywords"),placeholder:e.$t("site.placeholder.keywords"),tip:e.$t("site.message.keywordsTip2"),onConfirm:s[1]||(s[1]=p=>e.onSave({keywords:p}))},null,8,["model-value","title","placeholder","tip"])])])])}const zs=$(As,[["render",qs]]),js=v({name:"DistributionSetting",components:{EditText:U},computed:{site(){return this.$store.getters.site||{distribution:{}}}},methods:{onSave(e){const s={...this.site,...e};S.update(this.site?.id,s).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),Js={class:"settings-list"},Qs={class:"settings-item"},Zs={class:"settings-label"},xs={class:"settings-title"},eo={class:"settings-tip"},to={class:"settings-content"},so={class:"settings-value"},oo={class:"settings-item"},io={class:"settings-label"},no={class:"settings-title"},ao={class:"settings-tip"},lo={class:"settings-content"},ro={class:"settings-value"};function co(e,s,h,f,b,O){const m=n("edit-text");return l(),d("div",Js,[t("section",Qs,[t("div",Zs,[t("p",xs,i(e.$t("site.field.distributionDefaultInviterId")),1),t("p",eo,i(e.$t("site.message.distributionDefaultInviterIdTip")),1)]),t("div",to,[t("span",so,i(e.site.distribution?.default_inviter_id),1),o(m,{"model-value":e.site.distribution?.default_inviter_id,title:e.$t("site.title.editDistributionDefaultInviterId"),placeholder:e.$t("site.placeholder.editDistributionDefaultInviterId"),onConfirm:s[0]||(s[0]=u=>e.onSave({distribution:{...e.site.distribution,default_inviter_id:u}}))},null,8,["model-value","title","placeholder"])])]),t("section",oo,[t("div",io,[t("p",no,i(e.$t("site.field.distributionForceInviterId")),1),t("p",ao,i(e.$t("site.message.distributionForceInviterIdTip")),1)]),t("div",lo,[t("span",ro,i(e.site.distribution?.force_inviter_id),1),o(m,{"model-value":e.site.distribution?.force_inviter_id,title:e.$t("site.title.editDistributionForceInviterId"),placeholder:e.$t("site.placeholder.editDistributionForceInviterId"),onConfirm:s[1]||(s[1]=u=>e.onSave({distribution:{...e.site.distribution,force_inviter_id:u}}))},null,8,["model-value","title","placeholder"])])])])}const mo=$(js,[["render",co]]),uo=["chatgpt","grok","gemini","claude","deepseek","midjourney","qrart","suno","luma","pika","kling","veo","sora","pixverse","flux","hailuo","headshots","nanobanana","openaiimage","seedream","seedance","wan","producer","kimi","serp"],po=v({name:"FunctionSetting",components:{EditText:U,EditImage:_e,ElImage:M,ElSwitch:vt},computed:{site(){return this.$store.getters.site||{features:{}}},featureKeys(){return uo}},methods:{featureLabel(e){return this.$t("site.field.features"+e.charAt(0).toUpperCase()+e.slice(1))},featureTip(e){return this.$t("site.message.features"+e.charAt(0).toUpperCase()+e.slice(1))},updateFeature(e,s){this.onSave({features:{...this.site.features||{},[e]:{...this.site.features?.[e]||{},...s}}})},onToggleFeature(e,s){this.updateFeature(e,{enabled:s})},onToggleSupportChannel(e,s,h){this.updateFeature(e,{[s]:{...this.site.features?.[e]?.[s]||{},enabled:h}})},onSave(e){const s={...this.site,...e};S.update(this.site?.id,s).then(()=>{console.debug("getSite for id",this.site?.id),this.$store.dispatch("getSite")})}}}),_o={class:"settings-list"},ho={class:"settings-label"},go={class:"settings-title"},$o={class:"settings-tip"},vo={class:"settings-content"},fo={key:0,class:"settings-nested"},bo={class:"settings-subitem"},Oo={class:"settings-subitem"},Eo={class:"settings-subitem"},wo={class:"settings-subitem"},To={class:"settings-value"};function ko(e,s,h,f,b,O){const m=n("el-switch"),u=n("el-image"),p=n("edit-image"),_=n("edit-text");return l(),d("div",_o,[(l(!0),d(k,null,I(e.featureKeys,a=>(l(),d("section",{key:a,class:"settings-item"},[t("div",ho,[t("p",go,i(e.featureLabel(a)),1),t("p",$o,i(e.featureTip(a)),1)]),t("div",vo,[o(m,{"model-value":e.site.features?.[a]?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onToggleFeature(a,r)},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"]),a==="support"&&e.site.features?.[a]?.enabled?(l(),d("div",fo,[t("div",bo,[s[0]||(s[0]=t("span",{class:"settings-sub-label"},"WeChat",-1)),o(m,{"model-value":e.site.features?.[a]?.wechat?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onToggleSupportChannel(a,"wechat",r)},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),ae(t("div",Oo,[o(u,{src:e.site.features?.[a]?.wechat?.qr,class:"settings-media",fit:"contain"},null,8,["src"]),o(p,{"model-value":e.site.features?.[a]?.wechat?.qr,title:e.$t("site.title.editQR"),tip:e.$t("site.message.editQRTip"),onConfirm:r=>e.updateFeature(a,{wechat:{...e.site.features?.[a]?.wechat||{},qr:r}})},null,8,["model-value","title","tip","onConfirm"])],512),[[le,e.site.features?.[a]?.wechat?.enabled]]),t("div",Eo,[s[1]||(s[1]=t("span",{class:"settings-sub-label"},"Discord",-1)),o(m,{"model-value":e.site.features?.[a]?.discord?.enabled||!1,"inline-prompt":"","active-text":e.$t("site.button.enabled"),"inactive-text":e.$t("site.button.disabled"),"onUpdate:modelValue":r=>e.onToggleSupportChannel(a,"discord",r)},null,8,["model-value","active-text","inactive-text","onUpdate:modelValue"])]),ae(t("div",wo,[t("span",To,i(e.site.features?.[a]?.discord?.url),1),o(_,{"model-value":e.site.features?.[a]?.discord?.url,title:e.$t("site.title.editUrl"),placeholder:e.$t("site.placeholder.editUrl"),onConfirm:r=>e.updateFeature(a,{discord:{...e.site.features?.[a]?.discord||{},url:r}})},null,8,["model-value","title","placeholder","onConfirm"])],512),[[le,e.site.features?.[a]?.discord?.enabled]])])):T("",!0)])]))),128))])}const yo=$(po,[["render",ko],["__scopeId","data-v-240c80ca"]]),No=v({name:"AboutSetting",components:{ElButton:ft,FontAwesomeIcon:R},data(){return{faGithub:ce,faCloud:Ee,faComments:Oe}},computed:{supportUrl(){return this.$store?.state?.site?.metadata?.support_url||"https://platform.acedata.cloud"}},methods:{onContact(){window.open(this.supportUrl,"_blank","noopener,noreferrer")}}}),Io={class:"settings-list"},Co={class:"settings-item"},So={class:"settings-label"},Ro={class:"settings-title"},Uo={class:"settings-tip"},Ao={class:"settings-content"},Lo={href:"https://github.com/AceDataCloud/Nexior",target:"_blank",rel:"noopener noreferrer",class:"about-link"},Do={class:"settings-item"},Mo={class:"settings-label"},Go={class:"settings-title"},Vo={class:"settings-tip"},Ho={class:"settings-content"},Xo={href:"https://platform.acedata.cloud",target:"_blank",rel:"noopener noreferrer",class:"about-link"},Fo={class:"settings-item"},Po={class:"settings-label"},Ko={class:"settings-title"},Bo={class:"settings-tip"},Yo={class:"settings-content"};function Wo(e,s,h,f,b,O){const m=n("font-awesome-icon"),u=n("el-button");return l(),d("div",Io,[t("section",Co,[t("div",So,[t("p",Ro,i(e.$t("common.settings.poweredBy")),1),t("p",Uo,i(e.$t("common.settings.poweredByTip")),1)]),t("div",Ao,[t("a",Lo,[o(m,{icon:e.faGithub,class:"icon"},null,8,["icon"]),s[0]||(s[0]=t("span",null,"Nexior",-1))])])]),t("section",Do,[t("div",Mo,[t("p",Go,i(e.$t("common.settings.apiService")),1),t("p",Vo,i(e.$t("common.settings.apiServiceTip")),1)]),t("div",Ho,[t("a",Xo,[o(m,{icon:e.faCloud,class:"icon"},null,8,["icon"]),s[1]||(s[1]=t("span",null,"Ace Data Cloud",-1))])])]),t("section",Fo,[t("div",Po,[t("p",Ko,i(e.$t("common.settings.buildYourOwn")),1),t("p",Bo,i(e.$t("common.settings.buildYourOwnTip")),1)]),t("div",Yo,[o(u,{type:"primary",onClick:e.onContact},{default:c(()=>[o(m,{icon:e.faComments,class:"mr-1"},null,8,["icon"]),g(" "+i(e.$t("common.settings.contactUs")),1)]),_:1},8,["onClick"])])])])}const qo=$(No,[["render",Wo],["__scopeId","data-v-bf21a3d4"]]),zo=v({name:"UserSetting",components:{ElDialog:Et,ElMenu:Ot,ElMenuItem:bt,FontAwesomeIcon:R,GeneralSetting:es,SiteSetting:Us,SeoSetting:zs,DistributionSetting:mo,FunctionSetting:yo,AboutSetting:qo},props:{visible:{type:Boolean,default:!1}},emits:["update:visible"],data(){return{activeTab:"general",showSuggestions:!0}},computed:{navItems(){return[{key:"general",label:this.$t("common.settings.general"),icon:we,visible:!0},{key:"site",label:this.$t("common.settings.site"),icon:Te,visible:this.isSiteAdmin},{key:"seo",label:this.$t("common.settings.seo"),icon:ke,visible:this.isSiteAdmin},{key:"distribution",label:this.$t("common.settings.distribution"),icon:ye,visible:this.isSiteAdmin},{key:"function",label:this.$t("common.settings.function"),icon:Ne,visible:this.isSiteAdmin},{key:"about",label:this.$t("common.settings.about"),icon:Ie,visible:!0}]},currentTabTitle(){console.debug("activeTab",this.activeTab);const e=this.navItems.find(s=>s.key===this.activeTab);return e?e.label:""},isSiteAdmin(){return!!this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)}},methods:{onClose(){this.$emit("update:visible",!1)}}}),jo={class:"flex settings h-[450px]"},Jo={class:"h-full border-r"},Qo={class:"flex-1 p-6 overflow-y-auto"},Zo={key:0},xo={key:1},ei={key:2},ti={key:3},si={key:4},oi={key:5};function ii(e,s,h,f,b,O){const m=n("font-awesome-icon"),u=n("el-menu-item"),p=n("el-menu"),_=n("general-setting"),a=n("site-setting"),r=n("seo-setting"),E=n("distribution-setting"),C=n("function-setting"),he=n("about-setting"),ge=n("el-dialog");return l(),w(ge,{class:"min-w-[450px]","model-value":e.visible,onClose:e.onClose},{default:c(()=>[t("div",jo,[t("aside",Jo,[o(p,{class:"border-r-0 settings-menu"},{default:c(()=>[(l(!0),d(k,null,I(e.navItems,(y,$e)=>(l(),w(u,{key:$e,index:y.key,class:N(["flex w-[180px] items-center px-2 cursor-pointer py-2",e.activeTab===y.key?"active":"",y.visible?"":"hidden"]),onClick:wi=>e.activeTab=y.key},{default:c(()=>[o(m,{icon:y.icon,class:"mr-2"},null,8,["icon"]),g(" "+i(y.label),1)]),_:2},1032,["index","class","onClick"]))),128))]),_:1})]),t("main",Qo,[e.activeTab==="general"?(l(),d("div",Zo,[o(_)])):e.activeTab==="site"?(l(),d("div",xo,[o(a)])):e.activeTab==="seo"&&e.isSiteAdmin?(l(),d("div",ei,[o(r)])):e.activeTab==="distribution"&&e.isSiteAdmin?(l(),d("div",ti,[o(E)])):e.activeTab==="function"&&e.isSiteAdmin?(l(),d("div",si,[o(C)])):e.activeTab==="about"?(l(),d("div",oi,[o(he)])):T("",!0)])])]),_:1},8,["model-value","onClose"])}const ni=$(zo,[["render",ii],["__scopeId","data-v-a9e4f64f"]]),ai=v({name:"UserCenter",components:{UserAvatar:Ct,UserSetting:ni,FontAwesomeIcon:R,ElDivider:wt,ElDropdownMenu:L,ElDropdownItem:A,ElDropdown:D},data(){return{showMenu:!1,showSetting:!1}},computed:{user(){return this.$store.getters?.user}},mounted(){document.addEventListener("click",this.closeMenu)},unmounted(){document.removeEventListener("click",this.closeMenu)},methods:{toggleMenu(){this.showMenu=!this.showMenu},closeMenu(e){const s=e.target;this.$el.contains(s)||(this.showMenu=!1)},async onLogout(){await this.$store.dispatch("logout")},onDownload(){this.$router.push({name:Ue})},onConsole(){this.$router.push({name:Re})},onConnectors(){this.$router.push({name:Se})},onDistribution(){this.$router.push({name:Ce})},onSettings(){this.showSetting=!0}}}),li={class:"center"},ri={key:0,class:"px-4 py-4 text-sm font-medium"};function di(e,s,h,f,b,O){const m=n("user-avatar"),u=n("el-divider"),p=n("font-awesome-icon"),_=n("el-dropdown-item"),a=n("el-dropdown-menu"),r=n("el-dropdown"),E=n("user-setting");return l(),d(k,null,[t("div",li,[o(r,{trigger:"click"},{dropdown:c(()=>[e.user.email?(l(),d("div",ri,i(e.user?.email),1)):T("",!0),e.user.email?(l(),w(u,{key:1,class:"mb-1 mt-1"})):T("",!0),o(a,null,{default:c(()=>[o(_,{class:"py-2",onClick:e.onDownload},{default:c(()=>[o(p,{icon:"fa-solid fa-mobile-screen-button",class:"mr-2"}),g(" "+i(e.$t("common.nav.mobileApp")),1)]),_:1},8,["onClick"]),o(_,{class:"py-2",onClick:e.onSettings},{default:c(()=>[o(p,{icon:"fa-solid fa-cog",class:"mr-2"}),g(" "+i(e.$t("common.nav.setting")),1)]),_:1},8,["onClick"]),o(_,{class:"py-2",onClick:e.onDistribution},{default:c(()=>[o(p,{icon:"fa-solid fa-coins",class:"mr-2"}),g(" "+i(e.$t("common.nav.distribution")),1)]),_:1},8,["onClick"]),o(_,{class:"py-2",onClick:e.onConnectors},{default:c(()=>[o(p,{icon:"fa-solid fa-plug",class:"mr-2"}),g(" "+i(e.$t("connector.title")),1)]),_:1},8,["onClick"]),o(_,{class:"py-2",onClick:e.onConsole},{default:c(()=>[o(p,{icon:"fa-solid fa-compass",class:"mr-2"}),g(" "+i(e.$t("common.nav.console")),1)]),_:1},8,["onClick"]),o(_,{class:"py-2",onClick:e.onLogout},{default:c(()=>[o(p,{icon:"fa-solid fa-arrow-right-from-bracket",class:"mr-2"}),g(" "+i(e.$t("common.nav.logOut")),1)]),_:1},8,["onClick"])]),_:1})]),default:c(()=>[o(m,{class:"cursor-pointer"})]),_:1})]),o(E,{visible:e.showSetting,"onUpdate:visible":s[0]||(s[0]=C=>e.showSetting=C)},null,8,["visible"])],64)}const ci=$(ai,[["render",di]]),mi=v({name:"Navigator",components:{ElImage:M,ElPopover:kt,Logo:gt,ElTooltip:Tt,UserCenter:ci},props:{direction:{type:String,default:"column"}},data(){return{operating:{dark:!1,locale:!1},activeIndex:this.$route.name,containerHeight:0,showOverflow:!1,resizeObserver:null}},computed:{links(){const e=[];return this.$store?.state?.site?.features?.chatgpt?.enabled&&e.push({route:{name:G},displayName:this.$t("common.nav.chatgpt"),logo:De,routes:[Le,G],category:"chat"}),this.$store?.state?.site?.features?.deepseek?.enabled&&e.push({route:{name:V},displayName:this.$t("common.nav.deepseek"),logo:Ge,routes:[Me,V],category:"chat"}),this.$store?.state?.site?.features?.grok?.enabled&&e.push({route:{name:H},displayName:this.$t("common.nav.grok"),logo:He,routes:[Ve,H],category:"chat"}),this.$store?.state?.site?.features?.gemini?.enabled&&e.push({route:{name:X},displayName:this.$t("common.nav.gemini"),logo:Fe,routes:[Xe,X],category:"chat"}),this.$store?.state?.site?.features?.claude?.enabled&&e.push({route:{name:F},displayName:this.$t("common.nav.claude"),logo:Ke,routes:[Pe,F],category:"chat"}),this.$store?.state?.site?.features?.kimi?.enabled&&e.push({route:{name:P},displayName:this.$t("common.nav.kimi"),logo:Ye,routes:[Be,P],category:"chat"}),this.$store?.state?.site?.features?.midjourney?.enabled&&e.push({route:{name:K},displayName:this.$t("common.nav.midjourney"),logo:We,routes:[K],category:"image"}),this.$store?.state?.site?.features?.flux?.enabled&&e.push({route:{name:B},displayName:this.$t("common.nav.flux"),logo:qe,routes:[B],category:"image"}),this.$store?.state?.site?.features?.nanobanana?.enabled&&e.push({route:{name:Y},displayName:this.$t("common.nav.nanobanana"),logo:ze,routes:[Y],category:"image"}),this.$store?.state?.site?.features?.openaiimage?.enabled&&e.push({route:{name:W},displayName:this.$t("common.nav.openaiimage"),logo:je,routes:[W],category:"image"}),this.$store?.state?.site?.features?.seedream?.enabled&&e.push({route:{name:q},displayName:this.$t("common.nav.seedream"),logo:Je,routes:[q],category:"image"}),this.$store?.state?.site?.features?.suno?.enabled&&e.push({route:{name:z},displayName:this.$t("common.nav.suno"),logo:Ze,routes:[z,Qe],category:"music"}),this.$store?.state?.site?.features?.producer?.enabled&&e.push({route:{name:j},displayName:this.$t("common.nav.producer"),logo:xe,routes:[j],category:"music"}),this.$store?.state?.site?.features?.seedance?.enabled&&e.push({route:{name:J},displayName:this.$t("common.nav.seedance"),logo:et,routes:[J],category:"video"}),this.$store?.state?.site?.features?.luma?.enabled&&e.push({route:{name:Q},displayName:this.$t("common.nav.luma"),logo:st,routes:[Q,tt],category:"video"}),this.$store?.state?.site?.features?.hailuo?.enabled&&e.push({route:{name:Z},displayName:this.$t("common.nav.hailuo"),logo:it,routes:[Z,ot],category:"video"}),this.$store?.state?.site?.features?.kling?.enabled&&e.push({route:{name:x},displayName:this.$t("common.nav.kling"),logo:at,routes:[x,nt],category:"video"}),this.$store?.state?.site?.features?.veo?.enabled&&e.push({route:{name:ee},displayName:this.$t("common.nav.veo"),logo:rt,routes:[ee,lt],category:"video"}),this.$store?.state?.site?.features?.sora?.enabled&&e.push({route:{name:te},displayName:this.$t("common.nav.sora"),logo:ct,routes:[te,dt],category:"video"}),this.$store?.state?.site?.features?.pixverse?.enabled&&e.push({route:{name:se},displayName:this.$t("common.nav.pixverse"),logo:ut,routes:[se,mt],category:"video"}),this.$store?.state?.site?.features?.wan?.enabled&&e.push({route:{name:oe},displayName:this.$t("common.nav.wan"),logo:pt,routes:[oe],category:"video"}),this.$store?.state?.site?.features?.serp?.enabled&&e.push({route:{name:ie},displayName:this.$t("common.nav.serp"),logo:_t,routes:[ie],category:"search"}),this.direction==="row"&&e.push({route:{name:ne},displayName:this.$t("common.nav.profile"),icon:"fa-solid fa-user",routes:[ne],category:"other"}),e},authenticated(){return!!this.$store.state.token.access},maxVisibleItems(){if(this.direction==="row")return this.links.length;const s=Math.floor((this.containerHeight+15)/50);return Math.max(s,3)},visibleLinks(){return this.links.length<=this.maxVisibleItems?this.links:this.links.slice(0,this.maxVisibleItems-1)},overflowLinks(){return this.links.length<=this.maxVisibleItems?[]:this.links.slice(this.maxVisibleItems-1)},overflowPreviewLinks(){return this.overflowLinks.slice(0,4)},isOverflowActive(){const e=this.$route.name;return this.overflowLinks.some(s=>s.routes.includes(e))}},watch:{$route(){this.showOverflow=!1}},mounted(){if(this.$refs.linksContainer){const e=this.$refs.linksContainer;this.containerHeight=e.clientHeight,this.resizeObserver=new ResizeObserver(s=>{for(const h of s)this.containerHeight=h.contentRect.height}),this.resizeObserver.observe(e)}},beforeUnmount(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)},methods:{onHome(){this.$router.push({name:Ae})},onOverflowItemClick(e){this.showOverflow=!1,this.$router.push(e.route)}}}),ui=["direction"],pi={key:0,class:"brand"},_i={class:"top"},hi={ref:"linksContainer",class:"links"},gi=["title"],$i={class:"folder-preview"},vi={class:"overflow-menu"},fi=["onClick"],bi={class:"overflow-name"},Oi={class:"bottom"};function Ei(e,s,h,f,b,O){const m=n("logo"),u=n("el-image"),p=n("el-tooltip"),_=n("el-popover"),a=n("user-center");return l(),d("div",{direction:e.direction,class:N(["navigator",{collapsed:e.direction==="column"}])},[e.direction==="column"?(l(),d("div",pi,[o(m,{onClick:$t(e.onHome,["stop"])},null,8,["onClick"])])):T("",!0),t("div",_i,[t("div",hi,[(l(!0),d(k,null,I(e.visibleLinks,(r,E)=>(l(),d("div",{key:E,class:N({link:!0,active:r.routes.includes(e.$route.name)})},[o(p,{effect:"dark",content:r.displayName,placement:e.direction==="row"?"top":"right"},{default:c(()=>[r.logo?(l(),w(u,{key:0,src:r.logo,class:"avatar",onClick:C=>e.$router.push(r.route)},null,8,["src","onClick"])):T("",!0)]),_:2},1032,["content","placement"])],2))),128)),e.overflowLinks.length>0?(l(),d("div",{key:0,class:N({link:!0,active:e.isOverflowActive})},[o(_,{visible:e.showOverflow,"onUpdate:visible":s[0]||(s[0]=r=>e.showOverflow=r),placement:e.direction==="row"?"top":"right-start",width:180,trigger:"click","show-arrow":!1,"popper-class":"navigator-overflow-popover"},{reference:c(()=>[t("div",{class:N(["more-button",{active:e.isOverflowActive}]),title:e.$t("common.nav.more")},[t("div",$i,[(l(!0),d(k,null,I(e.overflowPreviewLinks,(r,E)=>(l(),w(u,{key:E,src:r.logo,class:"folder-icon",fit:"cover"},null,8,["src"]))),128))])],10,gi)]),default:c(()=>[t("div",vi,[(l(!0),d(k,null,I(e.overflowLinks,(r,E)=>(l(),d("div",{key:E,class:N({"overflow-item":!0,active:r.routes.includes(e.$route.name)}),onClick:C=>e.onOverflowItemClick(r)},[r.logo?(l(),w(u,{key:0,src:r.logo,class:"overflow-avatar",fit:"cover"},null,8,["src"])):T("",!0),t("span",bi,i(r.displayName),1)],10,fi))),128))])]),_:1},8,["visible","placement"])],2)):T("",!0)],512)]),t("div",Oi,[o(a)])],10,ui)}const Si=$(mi,[["render",Ei],["__scopeId","data-v-47c54424"]]);export{Si as N};
@@ -1 +1 @@
1
- import{F as s}from"./index.es-Bqj83sQx.js";import{d as t,C as a,T as n,G as c,ai as r,R as m,D as i}from"./vendor-vue-BhXato7y.js";import{_ as p}from"./index-muIEJvsu.js";const _=t({name:"NoTasks",components:{FontAwesomeIcon:s}}),l={class:"text-center text-[var(--el-text-color-secondary)] py-16"},d={class:"mt-4 text-sm"};function f(o,x,k,N,$,g){const e=r("font-awesome-icon");return i(),a("div",l,[n(e,{icon:"fa-solid fa-magic",class:"text-3xl mb-2 text-[var(--el-color-primary-light-5)]"}),c("p",d,m(o.$t("common.message.noTasks")),1)])}const T=p(_,[["render",f]]);export{T as N};
1
+ import{F as s}from"./index.es-DMehEjXB.js";import{d as t,C as a,T as n,G as c,ai as r,R as m,D as i}from"./vendor-vue-BhXato7y.js";import{_ as p}from"./index-CtkD2JaX.js";const _=t({name:"NoTasks",components:{FontAwesomeIcon:s}}),l={class:"text-center text-[var(--el-text-color-secondary)] py-16"},d={class:"mt-4 text-sm"};function f(o,x,k,N,$,g){const e=r("font-awesome-icon");return i(),a("div",l,[n(e,{icon:"fa-solid fa-magic",class:"text-3xl mb-2 text-[var(--el-color-primary-light-5)]"}),c("p",d,m(o.$t("common.message.noTasks")),1)])}const T=p(_,[["render",f]]);export{T as N};
@@ -1 +1 @@
1
- import{l as m}from"./vendor-element-plus-DN048TGi.js";import{d as _,C as o,T as e,G as t,K as f,ai as d,R as a,D as n}from"./vendor-vue-BhXato7y.js";import{_ as g}from"./index-muIEJvsu.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CIJ0oOq5.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const w=_({name:"OAuthCallback",components:{Loading:m},data(){return{status:"processing",errorMessage:""}},mounted(){this.handleCallback()},methods:{handleCallback(){const s=new URLSearchParams(window.location.search),c=s.get("code"),r=s.get("state"),i=s.get("error");if(i){this.status="error",this.errorMessage=s.get("error_description")||i;return}if(!c){this.status="error",this.errorMessage="Missing authorization code";return}if(window.opener){const l={type:"oauth-callback",code:c};r&&(l.state=r),window.opener.postMessage(l,window.location.origin),this.status="success",setTimeout(()=>window.close(),2e3)}else this.status="error",this.errorMessage="No parent window found. Please try again."}}}),k={class:"oauth-callback"},C={key:0,class:"status"},$={key:1,class:"status success"},y={class:"hint"},M={key:2,class:"status error"};function b(s,c,r,i,l,v){const u=d("loading"),h=d("el-icon"),p=d("font-awesome-icon");return n(),o("div",k,[s.status==="processing"?(n(),o("div",C,[e(h,{class:"is-loading",size:32},{default:f(()=>[e(u)]),_:1}),t("p",null,a(s.$t("chat.connector.processing")),1)])):s.status==="success"?(n(),o("div",$,[e(p,{icon:"fa-solid fa-check-circle",class:"icon"}),t("p",null,a(s.$t("chat.connector.authSuccess")),1),t("p",y,a(s.$t("chat.connector.closeWindow")),1)])):(n(),o("div",M,[e(p,{icon:"fa-solid fa-circle-exclamation",class:"icon"}),t("p",null,a(s.errorMessage||s.$t("chat.connector.authFailed")),1)]))])}const O=g(w,[["render",b],["__scopeId","data-v-e668a14f"]]);export{O as default};
1
+ import{l as m}from"./vendor-element-plus-CmP9-3lX.js";import{d as _,C as o,T as e,G as t,K as f,ai as d,R as a,D as n}from"./vendor-vue-BhXato7y.js";import{_ as g}from"./index-CtkD2JaX.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const w=_({name:"OAuthCallback",components:{Loading:m},data(){return{status:"processing",errorMessage:""}},mounted(){this.handleCallback()},methods:{handleCallback(){const s=new URLSearchParams(window.location.search),c=s.get("code"),r=s.get("state"),i=s.get("error");if(i){this.status="error",this.errorMessage=s.get("error_description")||i;return}if(!c){this.status="error",this.errorMessage="Missing authorization code";return}if(window.opener){const l={type:"oauth-callback",code:c};r&&(l.state=r),window.opener.postMessage(l,window.location.origin),this.status="success",setTimeout(()=>window.close(),2e3)}else this.status="error",this.errorMessage="No parent window found. Please try again."}}}),k={class:"oauth-callback"},C={key:0,class:"status"},$={key:1,class:"status success"},y={class:"hint"},M={key:2,class:"status error"};function b(s,c,r,i,l,v){const u=d("loading"),h=d("el-icon"),p=d("font-awesome-icon");return n(),o("div",k,[s.status==="processing"?(n(),o("div",C,[e(h,{class:"is-loading",size:32},{default:f(()=>[e(u)]),_:1}),t("p",null,a(s.$t("chat.connector.processing")),1)])):s.status==="success"?(n(),o("div",$,[e(p,{icon:"fa-solid fa-check-circle",class:"icon"}),t("p",null,a(s.$t("chat.connector.authSuccess")),1),t("p",y,a(s.$t("chat.connector.closeWindow")),1)])):(n(),o("div",M,[e(p,{icon:"fa-solid fa-circle-exclamation",class:"icon"}),t("p",null,a(s.errorMessage||s.$t("chat.connector.authFailed")),1)]))])}const O=g(w,[["render",b],["__scopeId","data-v-e668a14f"]]);export{O as default};
@@ -0,0 +1 @@
1
+ import{l as h}from"./vendor-element-plus-CmP9-3lX.js";import{F as _}from"./index.es-DMehEjXB.js";import{d as f,C as s,T as e,G as t,K as g,ai as d,R as a,D as n}from"./vendor-vue-BhXato7y.js";import{_ as w}from"./index-CtkD2JaX.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const k=f({name:"ConnectorsOAuthCallback",components:{Loading:h,FontAwesomeIcon:_},data(){return{status:"processing",errorMessage:""}},mounted(){this.handleCallback()},methods:{handleCallback(){const o=new URLSearchParams(window.location.search),c=o.get("code"),r=o.get("state"),i=o.get("error");if(i){this.status="error",this.errorMessage=o.get("error_description")||i;return}if(!c){this.status="error",this.errorMessage="Missing authorization code";return}if(window.opener){const l={type:"oauth-callback",code:c};r&&(l.state=r),window.opener.postMessage(l,window.location.origin),this.status="success",setTimeout(()=>window.close(),2e3)}else this.status="error",this.errorMessage="No parent window found. Please try again."}}}),C={class:"oauth-callback"},$={key:0,class:"status"},y={key:1,class:"status success"},M={class:"hint"},b={key:2,class:"status error"};function v(o,c,r,i,l,A){const p=d("loading"),u=d("el-icon"),m=d("font-awesome-icon");return n(),s("div",C,[o.status==="processing"?(n(),s("div",$,[e(u,{class:"is-loading",size:32},{default:g(()=>[e(p)]),_:1}),t("p",null,a(o.$t("connector.common.processing")),1)])):o.status==="success"?(n(),s("div",y,[e(m,{icon:"fa-solid fa-check-circle",class:"icon"}),t("p",null,a(o.$t("connector.common.authSuccess")),1),t("p",M,a(o.$t("connector.common.closeWindow")),1)])):(n(),s("div",b,[e(m,{icon:"fa-solid fa-circle-exclamation",class:"icon"}),t("p",null,a(o.errorMessage||o.$t("connector.common.authFailed")),1)]))])}const O=w(k,[["render",v],["__scopeId","data-v-1555f702"]]);export{O as default};
@@ -0,0 +1 @@
1
+ .oauth-callback[data-v-1555f702]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--el-bg-color)}.status[data-v-1555f702]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.status .icon[data-v-1555f702]{font-size:48px}.status.success .icon[data-v-1555f702]{color:var(--el-color-success)}.status.error .icon[data-v-1555f702]{color:var(--el-color-danger)}.status .hint[data-v-1555f702]{font-size:13px;color:var(--el-text-color-secondary)}
@@ -1 +1 @@
1
- import{C as t}from"./vendor-element-plus-DN048TGi.js";import{d as n,J as o,ai as r,D as i}from"./vendor-vue-BhXato7y.js";import{_ as s}from"./index-muIEJvsu.js";const p=n({name:"Pagination",components:{ElPagination:t},props:{total:{type:Number,required:!1,default:void 0},currentPage:{type:Number,required:!0},pageSize:{type:Number,required:!0}},emits:["change"],data(){return{loaded:!1}},mounted(){setTimeout(()=>{this.loaded=!0},1e3)},methods:{onPageChange(e){this.loaded&&this.$emit("change",e)}}});function u(e,g,l,m,d,c){const a=r("el-pagination");return i(),o(a,{class:"mt-3 mb-3",background:"","hide-on-single-page":!1,layout:"prev, pager, next","current-page":e.currentPage,total:e.total,"page-size":e.pageSize,onCurrentChange:e.onPageChange},null,8,["current-page","total","page-size","onCurrentChange"])}const P=s(p,[["render",u]]);export{P};
1
+ import{C as t}from"./vendor-element-plus-CmP9-3lX.js";import{d as n,J as o,ai as r,D as i}from"./vendor-vue-BhXato7y.js";import{_ as s}from"./index-CtkD2JaX.js";const p=n({name:"Pagination",components:{ElPagination:t},props:{total:{type:Number,required:!1,default:void 0},currentPage:{type:Number,required:!0},pageSize:{type:Number,required:!0}},emits:["change"],data(){return{loaded:!1}},mounted(){setTimeout(()=>{this.loaded=!0},1e3)},methods:{onPageChange(e){this.loaded&&this.$emit("change",e)}}});function u(e,g,l,m,d,c){const a=r("el-pagination");return i(),o(a,{class:"mt-3 mb-3",background:"","hide-on-single-page":!1,layout:"prev, pager, next","current-page":e.currentPage,total:e.total,"page-size":e.pageSize,onCurrentChange:e.onPageChange},null,8,["current-page","total","page-size","onCurrentChange"])}const P=s(p,[["render",u]]);export{P};
@@ -1 +1 @@
1
- import{F as g}from"./index.es-Bqj83sQx.js";import{q as $,l as h,e as S}from"./vendor-element-plus-DN048TGi.js";import{d as r,J as m,K as u,T as s,ai as n,D as l,C as _,G as x,R as v,M as y,O as I,E as T}from"./vendor-vue-BhXato7y.js";import{_ as i}from"./index-muIEJvsu.js";const b=r({name:"InfoIcon",components:{FontAwesomeIcon:g,ElTooltip:$},props:{content:{type:String,required:!0}}});function B(o,a,c,p,d,f){const e=n("font-awesome-icon"),t=n("el-tooltip");return l(),m(t,{effect:"dark",content:o.content,placement:"top"},{default:u(()=>[s(e,{icon:"fa-solid fa-info",class:"icon icon-rotate inline-block w-[20px] h-[20px] border-[3px] border-solid border-[var(--el-text-color-placeholder)] rounded-full text-[10px] p-[5px] scale-[0.4] cursor-pointer text-[var(--el-text-color-placeholder)] -mr-[5px]"})]),_:1},8,["content"])}const q=i(b,[["render",B]]),L=r({name:"TopLoading",components:{ElIcon:S,Loading:h},props:{text:{type:String,default:""},size:{type:Number,default:16},floating:{type:Boolean,default:!0}},computed:{label(){return this.text||this.$t("common.status.loading")}}});function k(o,a,c,p,d,f){const e=n("loading"),t=n("el-icon");return l(),_("div",{class:y(["top-loading",{floating:o.floating}]),role:"status","aria-live":"polite"},[s(t,{class:"is-loading",size:o.size},{default:u(()=>[s(e)]),_:1},8,["size"]),x("span",null,v(o.label),1)],2)}const C=i(L,[["render",k],["__scopeId","data-v-f0eec06d"]]),w=r({name:"ScrollList",components:{TopLoading:C},props:{loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},floatingLoader:{type:Boolean,default:!0},reachThreshold:{type:Number,default:40}},emits:["reach-top","scroll"],methods:{onHandleScroll(){const o=this.$refs.panel;this.$emit("scroll",o),o.scrollTop<=this.reachThreshold&&this.$emit("reach-top")},getScrollElement(){return this.$refs.panel}}});function z(o,a,c,p,d,f){const e=n("top-loading");return l(),_("div",{ref:"panel",class:"scroll-list relative",onScroll:a[0]||(a[0]=(...t)=>o.onHandleScroll&&o.onHandleScroll(...t))},[o.loading?(l(),m(e,{key:0,text:o.loadingText,floating:o.floatingLoader},null,8,["text","floating"])):I("",!0),T(o.$slots,"default",{},void 0,!0)],544)}const D=i(w,[["render",z],["__scopeId","data-v-7f5c1342"]]);export{q as I,D as S};
1
+ import{F as g}from"./index.es-DMehEjXB.js";import{q as $,l as h,e as S}from"./vendor-element-plus-CmP9-3lX.js";import{d as r,J as m,K as u,T as s,ai as n,D as l,C as _,G as x,R as v,M as y,O as I,E as T}from"./vendor-vue-BhXato7y.js";import{_ as i}from"./index-CtkD2JaX.js";const b=r({name:"InfoIcon",components:{FontAwesomeIcon:g,ElTooltip:$},props:{content:{type:String,required:!0}}});function B(o,a,c,p,d,f){const e=n("font-awesome-icon"),t=n("el-tooltip");return l(),m(t,{effect:"dark",content:o.content,placement:"top"},{default:u(()=>[s(e,{icon:"fa-solid fa-info",class:"icon icon-rotate inline-block w-[20px] h-[20px] border-[3px] border-solid border-[var(--el-text-color-placeholder)] rounded-full text-[10px] p-[5px] scale-[0.4] cursor-pointer text-[var(--el-text-color-placeholder)] -mr-[5px]"})]),_:1},8,["content"])}const q=i(b,[["render",B]]),L=r({name:"TopLoading",components:{ElIcon:S,Loading:h},props:{text:{type:String,default:""},size:{type:Number,default:16},floating:{type:Boolean,default:!0}},computed:{label(){return this.text||this.$t("common.status.loading")}}});function k(o,a,c,p,d,f){const e=n("loading"),t=n("el-icon");return l(),_("div",{class:y(["top-loading",{floating:o.floating}]),role:"status","aria-live":"polite"},[s(t,{class:"is-loading",size:o.size},{default:u(()=>[s(e)]),_:1},8,["size"]),x("span",null,v(o.label),1)],2)}const C=i(L,[["render",k],["__scopeId","data-v-f0eec06d"]]),w=r({name:"ScrollList",components:{TopLoading:C},props:{loading:{type:Boolean,default:!1},loadingText:{type:String,default:""},floatingLoader:{type:Boolean,default:!0},reachThreshold:{type:Number,default:40}},emits:["reach-top","scroll"],methods:{onHandleScroll(){const o=this.$refs.panel;this.$emit("scroll",o),o.scrollTop<=this.reachThreshold&&this.$emit("reach-top")},getScrollElement(){return this.$refs.panel}}});function z(o,a,c,p,d,f){const e=n("top-loading");return l(),_("div",{ref:"panel",class:"scroll-list relative",onScroll:a[0]||(a[0]=(...t)=>o.onHandleScroll&&o.onHandleScroll(...t))},[o.loading?(l(),m(e,{key:0,text:o.loadingText,floating:o.floatingLoader},null,8,["text","floating"])):I("",!0),T(o.$slots,"default",{},void 0,!0)],544)}const D=i(w,[["render",z],["__scopeId","data-v-7f5c1342"]]);export{q as I,D as S};
@@ -0,0 +1 @@
1
+ import{_ as v,aF as S,c as I,aE as O}from"./index-CtkD2JaX.js";import{F as $}from"./index.es-DMehEjXB.js";import{e as T,S as U,m as b,E as N}from"./vendor-element-plus-CmP9-3lX.js";import{C as V}from"./CopyToClipboard-cTbsayFn.js";import{d as k,C as l,G as i,T as n,K as r,ai as p,J as w,O as g,R as t,Q as y,X as h,D as a,S as F,ag as L,M}from"./vendor-vue-BhXato7y.js";const j=k({name:"ApplicationInfo",components:{FontAwesomeIcon:$,ElButton:b,Check:U,ElIcon:T,CopyToClipboard:V},props:{application:{type:Object,required:!0},showType:{type:Boolean,default:!1},showId:{type:Boolean,default:!1}},emits:["buy","usage"]}),q={class:"flex flex-col min-w-0"},G={key:0,class:"app-id-row"},R={class:"icon !mb-0 flex-shrink-0"},z={class:"app-id-line"},D={class:"app-id-label"},P={class:"app-id-value"},X={key:1,class:"icon"},J={class:"text-left"},K={class:"description"},Q={key:0},H={key:1},W={class:"value"},Y={class:"description2"},Z={key:0},x={key:1},ee={class:"actions"};function oe(e,o,C,A,B,E){const d=p("check"),u=p("el-icon"),c=p("font-awesome-icon"),m=p("copy-to-clipboard"),s=p("el-button");return a(),l("div",null,[i("div",q,[n(u,{class:"check"},{default:r(()=>[n(d)]),_:1}),e.showId?(a(),l("div",G,[i("div",R,[n(c,{icon:"fa-solid fa-wallet"})]),i("div",z,[i("span",D,t(e.$t("application.field.id"))+":",1),i("span",P,t(e.application.id),1),e.application.id?(a(),w(m,{key:0,content:e.application.id,class:"copy-small"},null,8,["content"])):g("",!0)])])):(a(),l("div",X,[n(c,{icon:"fa-solid fa-wallet"})])),i("div",J,[i("p",K,[e.application.service?(a(),l("span",H,t(e.$t("application.title.applicationBalance",{service:e.application.service?.title})),1)):(a(),l("span",Q,t(e.$t("application.title.globalBalance")),1))]),i("p",W,t(e.application?.remaining_amount?.toFixed(2))+" "+t(e.$t("service.unit."+(e.application?.service?.unit||"credit")+"s")),1),i("p",Y,[e.application.type==="Period"?(a(),l("span",Z,t(e.$t("application.field.expiredAt"))+": "+t(e.$dayjs.format(e.application.expired_at)),1)):(a(),l("span",x,t(e.$t("application.message.neverExpire")),1))])])]),i("div",ee,[n(s,{size:"small",round:"",onClick:o[0]||(o[0]=h(_=>e.$emit("usage",e.application),["stop"]))},{default:r(()=>[n(c,{icon:"fa-solid fa-chart-line",class:"mr-1 text-[11px]"}),y(" "+t(e.$t("application.button.usage")),1)]),_:1}),n(s,{type:"primary",round:"",size:"small",onClick:o[1]||(o[1]=h(_=>e.$emit("buy",e.application),["stop"]))},{default:r(()=>[n(c,{icon:"fa-solid fa-coins",class:"mr-1 text-[11px]"}),y(" "+t(e.$t("application.button.buyMore")),1)]),_:1})])])}const te=v(j,[["render",oe],["__scopeId","data-v-9481c3d6"]]),ie=k({name:"ApplicationStatus",components:{ElButton:b,ElDialog:N,FontAwesomeIcon:$,ApplicationInfo:te},props:{application:{type:Object,required:!0},applications:{type:Array,default:void 0},service:{type:Object,required:!0}},emits:["select"],data(){return{visible:!1,applicationType:O}},computed:{authenticated(){return!!this.$store.state.token.access},user(){return this.$store.state.user}},methods:{onGoUsage(e){const o=this.$router.resolve({name:I,query:{application_id:e.id}});window.open(o.href,"_blank")},onBuyMore(e){const o=this.$router.resolve({name:S,params:{id:e.id}}).href;window.open(o,"_blank")},onSelectApplication(e){this.$emit("select",e)}}}),ae={class:"status"},se={key:0},ne={class:"text-center mb-4"},le={class:"flex flex-col gap-4 mb-6 overflow-y-auto"};function pe(e,o,C,A,B,E){const d=p("application-info"),u=p("el-dialog"),c=p("font-awesome-icon"),m=p("el-button");return a(),l("div",ae,[n(u,{modelValue:e.visible,"onUpdate:modelValue":o[0]||(o[0]=s=>e.visible=s),class:"mt-12",width:"450px"},{default:r(()=>[e.application?(a(),l("div",se,[i("p",ne,t(e.$t("application.message.applicationSelection")),1),i("div",le,[(a(!0),l(F,null,L(e.applications,(s,_)=>(a(),w(d,{key:_,class:M({item:!0,active:e.application?.id===s.id}),application:s,"show-id":"",onClick:f=>e.onSelectApplication(s),onUsage:f=>e.onGoUsage(s),onBuy:f=>e.onBuyMore(s)},null,8,["class","application","onClick","onUsage","onBuy"]))),128))])])):g("",!0)]),_:1},8,["modelValue"]),n(m,{circle:"",class:"entry",onClick:o[1]||(o[1]=s=>e.visible=!0)},{default:r(()=>[n(c,{icon:"fa-solid fa-wallet",class:"icon"})]),_:1})])}const _e=v(ie,[["render",pe]]);export{_e as A};
@@ -0,0 +1 @@
1
+ import{I as R}from"./api-Ch0ZHArw.js";import{aG as N,aD as v,aE as y,aI as B,aF as C,_ as D}from"./index-CtkD2JaX.js";import{o as L}from"./order-Bw8DFW1R.js";import{g as x}from"./price-lQeFOa8Q.js";import{F as K}from"./index.es-DMehEjXB.js";import{m as M,x as V,A as W,a as z,B as G,L as U,w as I}from"./vendor-element-plus-CmP9-3lX.js";import{d as H,J as u,K as s,T as i,ai as h,G as c,R as n,C as g,O as w,ag as O,S as A,Q as _,D as o,M as J}from"./vendor-vue-BhXato7y.js";import"./vendor-web3-C5RrfhAy.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const Q=H({name:"ConsoleSubscriptionBuy",components:{ElSkeleton:U,ElRow:G,ElTag:z,ElCol:W,ElCard:V,FontAwesomeIcon:K,ElButton:M},data(){return{application:void 0,application2:void 0,type:y.PERIOD,services:[],loading:!1,creating:!1,subscription:void 0}},computed:{site(){return this.$store.getters.site},applicationId(){return this.$route.params?.id?.toString()},subscriptions(){const e=[{name:"WEEK",label:this.$t("console.subscription.weekly"),description:this.$t("console.subscription.weekly.description"),duration:604800},{name:"MONTH",label:this.$t("console.subscription.monthly"),description:this.$t("console.subscription.monthly.description"),duration:2592e3},{name:"YEAR",tag:this.$t("console.button.suggested"),label:this.$t("console.subscription.yearly"),description:this.$t("console.subscription.yearly.description"),duration:31536e3}];for(const t of e){console.log("item",t);const m=this.getPackages(t.duration);console.log("pkgs",m),m&&(t.price=m.reduce((r,d)=>r+d.price,0));for(const r of m)t.benefits||(t.benefits=[]),t.benefits.push({enabled:!0,content:`${r?.service?.title} - ${r.amount} `+this.$t("service.unit."+r?.service?.unit+"s")});t.benefits?.push({enabled:t.name!=="WEEK",content:this.$t("console.message.benefit1")}),t.benefits?.push({enabled:t.name!=="WEEK",content:this.$t("console.message.benefit2")})}return e},service(){return this.application?.service},serviceIds(){return!this.application||!this.application.service?[]:[this.application.service.id]}},async mounted(){this.loading=!0,await this.onFetchApplication(),await this.onFetchApplication2(),await this.onCreateApplications(),this.loading=!1,this.subscription=this.subscriptions[2]},methods:{getPriceString:x,onBuyExtra(){this.$router.push({name:C,params:{id:this.applicationId}})},getPackages(e){let t=[];if(!this.service)return[];const r=[this.service].sort((d,b)=>this.serviceIds.indexOf(d.id)-this.serviceIds.indexOf(b.id));for(const d of r){const l=d.packages?.find(p=>p.type===R.PERIOD&&p.duration===e);l&&t.push({...l,service:d})}return t},async onCreateApplications(){const e=[];if(this.application2||e.push(this.application?.service?.id),e.length>0){for(const t of e)await v.create({service_id:t,type:y.PERIOD});await this.onFetchApplication2()}},onChangeType(){console.log("onChangeType",this.type),this.$router.push({name:C,params:this.$route.params})},async onFetchServices(){const{data:e}=await B.getAll({id:this.serviceIds});this.services=e.items,console.debug("services",this.services)},async onFetchApplication(){const{data:e}=await v.get(this.applicationId);this.application=e,console.debug("application",this.application)},async onFetchApplication2(){const{data:e}=await v.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:"-created_at",service_id:this.serviceIds,type:y.PERIOD});this.application2=e.items?.[0],console.debug("application2",this.application2)},onCreateOrder(e){if(this.subscription=e,this.creating=!0,!this.application2||!this.application2.id){I.error(this.$t("console.message.applicationNotFound")),this.creating=!1;return}L.create({application_ids:[this.application2.id],package_ids:this.getPackages(e.duration).map(t=>t.id),description:this.service?.title+" - "+e.label}).then(({data:t})=>{this.creating=!1,this.$router.push({name:N,params:{id:t.id}})}).catch(()=>{I.error(this.$t("order.message.createFailed")),this.creating=!1})}}}),X={class:"title"},Y={class:"introduction"},j={class:"name"},q={class:"price"},Z={class:"description"},ee={class:"benefits"},te={class:"operations"},se={key:2,class:"extra"};function ie(e,t,m,r,d,b){const l=h("el-col"),p=h("el-row"),S=h("el-skeleton"),T=h("el-tag"),k=h("font-awesome-icon"),$=h("el-button"),E=h("el-card");return o(),u(p,{class:"panel"},{default:s(()=>[i(l,{span:24},{default:s(()=>[i(p,null,{default:s(()=>[i(l,{span:24},{default:s(()=>[c("h2",X,n(e.$t("common.title.buyMore")),1)]),_:1})]),_:1}),i(p,null,{default:s(()=>[i(l,{span:24},{default:s(()=>[i(E,{shadow:"hover",class:"card"},{default:s(()=>[i(p,null,{default:s(()=>[i(l,{class:"max-w-4xl mx-auto"},{default:s(()=>[c("p",Y,n(e.$t("console.subscription.title")),1),e.loading?(o(),u(S,{key:0})):(o(),u(p,{key:1,gutter:15,class:"subscriptions"},{default:s(()=>[(o(!0),g(A,null,O(e.subscriptions,(a,F)=>(o(),u(l,{key:F,xs:24,md:24/(e.subscriptions?.length||4)},{default:s(()=>[i(E,{shadow:"hover",class:J({subscription:!0,active:e.subscription?.name===a.name}),onClick:f=>e.subscription=a},{default:s(()=>[c("h4",j,[_(n(a.label)+" ",1),a.tag?(o(),u(T,{key:0,type:"warning"},{default:s(()=>[_(n(a.tag),1)]),_:2},1024)):w("",!0)]),c("h2",q,n(e.getPriceString({value:a.price})),1),c("p",Z,n(a.description),1),c("div",ee,[(o(!0),g(A,null,O(a.benefits,(f,P)=>(o(),g("div",{key:P,class:"benefit"},[f.enabled?(o(),u(k,{key:0,icon:"fa-solid fa-check",class:"icon icon-check"})):(o(),u(k,{key:1,icon:"fa-solid fa-xmark",class:"icon icon-xmark"})),c("span",null,n(f.content),1)]))),128))]),c("div",te,[i($,{class:"btn btn-subscribe",type:e.subscription?.name===a?.name?"primary":"",round:"",onClick:f=>e.onCreateOrder(a)},{default:s(()=>[_(n(e.$t("common.button.buy")),1)]),_:2},1032,["type","onClick"])])]),_:2},1032,["class","onClick"])]),_:2},1032,["md"]))),128))]),_:1})),e.loading?w("",!0):(o(),g("div",se,[c("span",null,n(e.$t("console.message.doNotWantSubscribe")),1),i($,{type:"primary",class:"btn btn-extra",round:"",size:"small",onClick:e.onBuyExtra},{default:s(()=>[_(n(e.$t("console.message.buyExtra")),1)]),_:1},8,["onClick"])]))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const fe=D(Q,[["render",ie],["__scopeId","data-v-7473140f"]]);export{fe as default};