Files
qhmes/web-dist/js/AiAppAddMcpModal-C5QCUqd4.js
2026-06-16 18:19:57 +08:00

2 lines
6.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var P=(y,r,h)=>new Promise((e,a)=>{var s=c=>{try{d(h.next(c))}catch(g){a(g)}},m=c=>{try{d(h.throw(c))}catch(g){a(g)}},d=c=>c.done?e(c.value):Promise.resolve(c.value).then(s,m);d((h=h.apply(y,r)).next())});import{M as V}from"./BasicModal-xH56XuRZ.js";import"./index-BDvqZ5j4.js";import{list as E}from"./AiragMcp.api-Cq7GCN8X.js";import{x as J,b$ as R,v as G,au as Q,aG as j}from"./index-X7Y8jykP.js";import{H as X}from"./mcpLogo-DwzmiY8t.js";import{a as q}from"./useModal-DaJ3Bflg.js";import{r as u,C as S,z as v,f,A as C,K as w,Q as i,H as B,y as T,_ as W,F as Y,D as Z,J as $,G as k,R as ee,E as ne}from"./vue-vendor-DNhG1Cve.js";import{C as oe}from"./index-BwqG9R3y.js";import"./index-DSsDi_fL.js";import{C as te}from"./Group-UHkub2tu.js";import{O as ae}from"./index-CuWaQdlK.js";import{A as le}from"./index-DO7ZhK45.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";const se={name:"AiAppAddMcpModal",components:{Pagination:R,BasicModal:V,Icon:J},emits:["success","register"],setup(y,{emit:r}){const h=u("添加关联MCP"),e=u([]),a=u([]),s=u([]),m=u(1),d=u(10),c=u(0),g=u(""),x=u(["10","20","30"]),[I,{closeModal:M,setModalProps:z}]=q(n=>P(null,null,function*(){a.value=n.pluginIds?[...n.pluginIds]:[],s.value=n.pluginDataList?[...n.pluginDataList]:[],z({minHeight:500,bodyStyle:{padding:"10px"}}),O()}));function t(n){return n?G(n):X}function _(){return P(this,null,function*(){const n=s.value.map(o=>({pluginId:o.id,pluginName:o.name,category:o.category||"mcp"}));r("success",a.value,s.value,n),N()})}function N(){M()}function A(n){const o=n.id,l=e.value.find(b=>b.id===o);if(l&&(l.checked=!l.checked),!a.value||a.value.length===0){a.value.push(o),s.value.push(n);return}const p=a.value.findIndex(b=>b===o);p===-1?(a.value.push(o),s.value.push(n)):(a.value.splice(p,1),s.value.splice(p,1))}function O(){const n={pageNo:m.value,pageSize:d.value,status:"enable",synced:1,name:g.value};E(n).then(o=>{if(o.records){const l=o.records||[];if(a.value.length>0)for(const p of l)a.value.includes(p.id)&&(p.checked=!0);e.value=l,c.value=o.total}else e.value=[],c.value=0})}function D(n,o){m.value=n,d.value=o,O()}function H(){a.value=[],s.value=[],e.value.forEach(n=>n.checked=!1)}function F(n,o){if(n.target.checked)a.value.push(o.id),s.value.push(o);else{const l=a.value.findIndex(p=>p===o.id);l>-1&&(a.value.splice(l,1),s.value.splice(l,1))}}function K(n){if(!n)return 0;let o=n;if(typeof n=="string")try{o=JSON.parse(n)}catch(p){return 0}const l=o.tool_count||o.toolCount||0;return typeof l=="number"?l:parseInt(l,10)||0}function L(n){switch(n){case"sse":return"ant-design:thunderbolt-outlined";case"stdio":return"ant-design:code-outlined";default:return"ant-design:appstore-outlined"}}function U(n){return n==="plugin"?"ant-design:api-outlined":"ant-design:tool-twotone"}return{registerModal:I,title:h,handleOk:_,handleCancel:N,mcpOption:e,pluginIds:a,pluginDataList:s,pageNo:m,pageSize:d,pageSizeOptions:x,total:c,handlePageChange:D,searchText:g,loadMcpData:O,handleClearClick:H,handleChange:F,handleSelect:A,getIcon:t,getToolCount:K,getTypeIcon:L,getCategoryIcon:U}}},ce={class:"p-2"},ie={class:"flex header"},re={class:"mcp-card-header"},de={class:"mcp-card-left"},pe=["src"],ue={class:"mcp-card-info"},ge=["title"],he={class:"mcp-card-meta"},me=["title"],fe={class:"pill-text"},_e=["title"],ve={class:"pill-text"},Ce={key:0,class:"use-select"};function ke(y,r,h,e,a,s){const m=j,d=w("Icon"),c=te,g=oe,x=le,I=ae,M=w("Pagination"),z=w("BasicModal");return v(),S("div",ce,[f(z,{destroyOnClose:"",onRegister:e.registerModal,canFullscreen:!1,width:"600px",title:e.title,onOk:e.handleOk,onCancel:e.handleCancel},{default:C(()=>[i("div",ie,[f(m,{onKeyup:W(e.loadMcpData,["enter"]),class:"header-search",size:"small",value:e.searchText,"onUpdate:value":r[0]||(r[0]=t=>e.searchText=t),placeholder:"请输入MCP名称回车搜索"},null,8,["onKeyup","value"])]),f(I,{span:24},{default:C(()=>[(v(!0),S(Y,null,Z(e.mcpOption,t=>(v(),T(x,{span:12,key:t.id,onClick:_=>e.handleSelect(t)},{default:C(()=>[f(g,{"body-style":{padding:"10px 12px"},hoverable:"",class:$(["mcp-card",{"is-active":t.checked}])},{default:C(()=>[i("div",re,[i("div",de,[i("img",{class:"mcp-card-icon",src:e.getIcon(t.icon)},null,8,pe),i("div",ue,[i("div",{class:"mcp-card-name",title:t.name},k(t.name),9,ge),i("div",he,[i("div",{class:"pill type-pill",title:"类型: "+(t.category==="plugin"?"插件":"MCP")},[f(d,{icon:e.getCategoryIcon(t.category),class:"pill-icon"},null,8,["icon"]),i("span",fe,k(t.category==="plugin"?"插件":"MCP"),1)],8,me),i("div",{class:"pill tool-pill",title:e.getToolCount(t.metadata)+" 个工具"},[f(d,{icon:"ant-design:tool-outlined",class:"pill-icon"}),i("span",ve,k(e.getToolCount(t.metadata)),1)],8,_e)])])]),f(c,{checked:t.checked,"onUpdate:checked":_=>t.checked=_,onClick:r[1]||(r[1]=ee(()=>{},["stop"])),class:"mcp-card-checker",onChange:_=>e.handleChange(_,t)},null,8,["checked","onUpdate:checked","onChange"])])]),_:2},1032,["class"])]),_:2},1032,["onClick"]))),128))]),_:1}),e.pluginIds.length>0?(v(),S("div",Ce,[ne(" 已选择 "+k(e.pluginIds.length)+" 个MCP ",1),i("span",{style:{"margin-left":"8px",color:"#3d79fb",cursor:"pointer"},onClick:r[2]||(r[2]=(...t)=>e.handleClearClick&&e.handleClearClick(...t))},"清空")])):B("",!0),e.mcpOption.length>0?(v(),T(M,{key:1,current:e.pageNo,"page-size":e.pageSize,"page-size-options":e.pageSizeOptions,total:e.total,showQuickJumper:!0,showSizeChanger:!0,onChange:e.handlePageChange,class:"list-footer",size:"small"},null,8,["current","page-size","page-size-options","total","onChange"])):B("",!0)]),_:1},8,["onRegister","title","onOk","onCancel"])])}const qe=Q(se,[["render",ke],["__scopeId","data-v-72258897"]]);export{qe as default};