Files

2 lines
6.9 KiB
JavaScript

import{c as p,I as Y,k as Z,r as z,l as O,o as I,n as K,b as y,d as u,w as l,e as _,f as r,g,u as b,t as k,S as ee,h as x,j as h,p as V,F as A}from"./index.js";var te={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},name:"appstore",theme:"outlined"};function M(v){for(var a=1;a<arguments.length;a++){var d=arguments[a]!=null?Object(arguments[a]):{},o=Object.keys(d);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(d).filter(function(s){return Object.getOwnPropertyDescriptor(d,s).enumerable}))),o.forEach(function(s){oe(v,s,d[s])})}return v}function oe(v,a,d){return a in v?Object.defineProperty(v,a,{value:d,enumerable:!0,configurable:!0,writable:!0}):v[a]=d,v}var w=function(a,d){var o=M({},a,d.attrs);return p(Y,M({},o,{icon:te}),null)};w.displayName="AppstoreOutlined";w.inheritAttrs=!1;const ne={style:{display:"flex","align-items":"center","justify-content":"space-between",gap:"8px"}},ae={style:{display:"flex","align-items":"center","min-width":"0",flex:"1"}},se={style:{"font-weight":"600","font-size":"14px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},le={key:0,style:{"margin-bottom":"16px",padding:"12px",background:"#f5f5f5","border-radius":"6px",color:"#666","font-size":"13px","line-height":"1.6"}},ie={style:{"margin-bottom":"12px"}},re={style:{"font-size":"12px",color:"#999","margin-bottom":"12px"}},ce={style:{"max-height":"300px","overflow-y":"auto"}},ue={style:{"font-size":"13px",color:"#333"}},pe={key:2},de={key:2},me={key:4,style:{"font-size":"12px",color:"#8c8c8c","margin-top":"4px"}},_e={style:{"text-align":"right"}},ve={__name:"adapters",setup(v){const a=Z(),d=z(!1),o=z(null),s=O({}),n=O({mode:"blacklist",list:[]});I(async()=>{await Promise.all([a.fetchAdaptersMeta(),a.fetchAdapterConfig()])});const U=K(()=>a.adaptersMeta),j=i=>{const t=n.list.includes(i);return n.mode==="whitelist"?t:!t},H=(i,t)=>{const c=n.list.indexOf(i);n.mode==="whitelist"?t&&c===-1?n.list.push(i):!t&&c!==-1&&n.list.splice(c,1):!t&&c===-1?n.list.push(i):t&&c!==-1&&n.list.splice(c,1)},E=i=>{i!==n.mode&&(n.mode=i,n.list=[])},F=i=>{o.value=i;const t=a.adapterConfig[i.id]||{};Object.keys(s).forEach(m=>delete s[m]),i.configSchema&&i.configSchema.forEach(m=>{t[m.key]!==void 0?s[m.key]=t[m.key]:s[m.key]=m.default});const c=i.modelFilter||{mode:"blacklist",list:[]};n.mode=c.mode||"blacklist",n.list=[...c.list||[]],d.value=!0},P=async()=>{if(!o.value)return;const i={[o.value.id]:{...s,modelFilter:{mode:n.mode,list:[...n.list]}}};if(await a.saveAdapterConfig(i)){const c=a.adaptersMeta.find(m=>m.id===o.value.id);c&&(c.modelFilter={mode:n.mode,list:[...n.list]}),d.value=!1}};return(i,t)=>{const c=r("a-button"),m=r("a-card"),B=r("a-list-item"),N=r("a-list"),S=r("a-radio"),$=r("a-radio-group"),C=r("a-switch"),q=r("a-collapse-panel"),D=r("a-collapse"),L=r("a-empty"),T=r("a-input"),G=r("a-input-number"),J=r("a-select"),Q=r("a-form-item"),R=r("a-form"),W=r("a-drawer"),X=r("a-layout");return u(),y(X,{style:{background:"transparent"}},{default:l(()=>[p(m,{title:"适配器管理",bordered:!1},{extra:l(()=>[p(c,{type:"link",onClick:b(a).fetchAdaptersMeta},{default:l(()=>[...t[3]||(t[3]=[x("刷新列表",-1)])]),_:1},8,["onClick"])]),default:l(()=>[p(N,{grid:{gutter:16,xs:1,sm:2,md:3,lg:3,xl:4,xxl:4},"data-source":U.value},{renderItem:l(({item:e})=>[p(B,null,{default:l(()=>[p(m,{hoverable:"",onClick:f=>F(e),bodyStyle:{padding:"12px 16px"}},{default:l(()=>[g("div",ne,[g("div",ae,[p(b(w),{style:{"font-size":"18px",color:"#1890ff","margin-right":"8px","flex-shrink":"0"}}),g("span",se,k(e.id),1)]),p(b(ee),{style:{"font-size":"16px",color:"#8c8c8c","flex-shrink":"0"}})])]),_:2},1032,["onClick"])]),_:2},1024)]),_:1},8,["data-source"])]),_:1}),o.value?(u(),y(W,{key:0,open:d.value,"onUpdate:open":t[2]||(t[2]=e=>d.value=e),title:`配置适配器 - ${o.value.id}`,width:"500",placement:"right"},{footer:l(()=>[g("div",_e,[p(c,{style:{"margin-right":"8px"},onClick:t[1]||(t[1]=e=>d.value=!1)},{default:l(()=>[...t[7]||(t[7]=[x("取消",-1)])]),_:1}),p(c,{type:"primary",onClick:P},{default:l(()=>[...t[8]||(t[8]=[x("保存配置",-1)])]),_:1})])]),default:l(()=>[o.value.description?(u(),h("div",le,k(o.value.description),1)):_("",!0),o.value.models&&o.value.models.length>0?(u(),y(D,{key:1,style:{"margin-bottom":"16px"}},{default:l(()=>[p(q,{key:"models",header:"模型管理"},{default:l(()=>[g("div",ie,[t[6]||(t[6]=g("span",{style:{"margin-right":"12px",color:"#666"}},"过滤模式:",-1)),p($,{value:n.mode,onChange:t[0]||(t[0]=e=>E(e.target.value))},{default:l(()=>[p(S,{value:"blacklist"},{default:l(()=>[...t[4]||(t[4]=[x("黑名单",-1)])]),_:1}),p(S,{value:"whitelist"},{default:l(()=>[...t[5]||(t[5]=[x("白名单",-1)])]),_:1})]),_:1},8,["value"])]),g("div",re,k(n.mode==="blacklist"?"关闭的模型将被禁用,其他模型可用":"仅开启的模型可用,其他模型禁用"),1),g("div",ce,[(u(!0),h(A,null,V(o.value.models,e=>(u(),h("div",{key:e,style:{display:"flex","align-items":"center","justify-content":"space-between",padding:"8px 0","border-bottom":"1px solid #f0f0f0"}},[g("span",ue,k(e),1),p(C,{checked:j(e),onChange:f=>H(e,f),size:"small"},null,8,["checked","onChange"])]))),128))])]),_:1})]),_:1})):_("",!0),!o.value.configSchema||o.value.configSchema.length===0?(u(),h("div",pe,[!o.value.models||o.value.models.length===0?(u(),y(L,{key:0,description:"该适配器没有可配置项"})):_("",!0)])):_("",!0),o.value.configSchema&&o.value.configSchema.length>0?(u(),y(R,{key:3,layout:"vertical"},{default:l(()=>[(u(!0),h(A,null,V(o.value.configSchema,e=>(u(),y(Q,{key:e.key,label:e.label,required:e.required},{default:l(()=>[e.type==="string"?(u(),y(T,{key:0,value:s[e.key],"onUpdate:value":f=>s[e.key]=f,placeholder:e.placeholder},null,8,["value","onUpdate:value","placeholder"])):_("",!0),e.type==="number"?(u(),y(G,{key:1,value:s[e.key],"onUpdate:value":f=>s[e.key]=f,min:e.min,max:e.max,style:{width:"100%"}},null,8,["value","onUpdate:value","min","max"])):_("",!0),e.type==="boolean"?(u(),h("div",de,[p(C,{checked:s[e.key],"onUpdate:checked":f=>s[e.key]=f},null,8,["checked","onUpdate:checked"])])):_("",!0),e.type==="select"?(u(),y(J,{key:3,value:s[e.key],"onUpdate:value":f=>s[e.key]=f,options:e.options},null,8,["value","onUpdate:value","options"])):_("",!0),e.note?(u(),h("div",me,k(e.note),1)):_("",!0)]),_:2},1032,["label","required"]))),128))]),_:1})):_("",!0)]),_:1},8,["open","title"])):_("",!0)]),_:1})}}};export{ve as default};