2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
|
|
import{d as W,b as f,c as m,a5 as le,e as y,f as t,w as n,n as P,a3 as ie,a2 as oe,t as k,g as b,ab as ue,V as L,h as I,U as H,i as A,o as re,W as ce,r as $,j as de,ac as fe,v as D,E as p}from"./index-CXRNRwY6.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{q as ge,t as S,v as ve,w as ye,x as pe}from"./admin-WeuzXR_q.js";import"./index-BYeSIZFz.js";const me={class:"integration-name"},_e={class:"integration-status"},be={class:"integration-detail"},ke={key:0,class:"config-info"},we={class:"config-info"},Ue={key:0,class:"config-info"},Ie={class:"config-info"},Ve={key:0,class:"config-info"},Ke={class:"config-info"},Ae={class:"integration-actions"},Ce=W({__name:"IntegrationCard",props:{integration:{},icon:{},iconBg:{},iconColor:{}},emits:["configure","test","view"],setup(u){const x=u,g=H(()=>{switch(x.integration.status){case"connected":return"success";case"partial":return"warning";case"disconnected":return"info";case"pending":return"info";default:return"info"}}),_=H(()=>{switch(x.integration.status){case"connected":return"已连接";case"partial":return"部分集成";case"disconnected":return"未连接";case"pending":return"待确认";default:return x.integration.status}});return(c,d)=>{const r=A("el-icon"),l=A("el-tag"),w=A("el-button");return f(),m("div",{class:le(["integration-card",{"is-configurable":u.integration.configurable}])},[y("div",{class:"integration-icon",style:oe({background:u.iconBg,color:u.iconColor})},[t(r,{size:22},{default:n(()=>[(f(),P(ie(u.icon)))]),_:1})],4),y("div",me,k(u.integration.name),1),y("div",_e,[t(l,{type:g.value,size:"small",effect:"dark"},{default:n(()=>[b(k(_.value),1)]),_:1},8,["type"])]),y("div",be,[ue(c.$slots,"detail",{},()=>[u.integration.configurable&&u.integration.config?(f(),m(L,{key:0},[u.integration.config_type==="url_key"||!u.integration.config_type?(f(),m(L,{key:0},[u.integration.config.api_url?(f(),m("div",ke,"API: "+k(u.integration.config.api_url),1)):I("",!0),y("div",we,k(u.integration.config.api_key_set?"密钥已配置":"密钥未配置"),1)],64)):u.integration.config_type==="access_key"?(f(),m(L,{key:1},[u.integration.config.base_url?(f(),m("div",Ue,"URL: "+k(u.integration.config.base_url),1)):I("",!0),y("div",Ie,k(u.integration.config.access_key_id_set?"AccessKey 已配置":"AccessKey 未配置"),1)],64)):u.integration.config_type==="account_password"?(f(),m(L,{key:2},[u.integration.config.base_url?(f(),m("div",Ve,"URL: "+k(u.integration.config.base_url),1)):I("",!0),y("div",Ke,k(u.integration.config.api_account_set?"账号已配置":"账号未配置"),1)],64)):I("",!0)],64)):I("",!0)],!0)]),y("div",Ae,[u.integration.configurable?(f(),P(w,{key:0,size:"small",type:"primary",onClick:d[0]||(d[0]=V=>c.$emit("configure",u.integration))},{default:n(()=>[...d[3]||(d[3]=[b(" 配置 ",-1)])]),_:1})):I("",!0),u.integration.configurable?(f(),P(w,{key:1,size:"small",onClick:d[1]||(d[1]=V=>c.$emit("test",u.integration))},{default:n(()=>[...d[4]||(d[4]=[b(" 测试 ",-1)])]),_:1})):(f(),P(w,{key:2,size:"small",onClick:d[2]||(d[2]=V=>c.$emit("view",u.integration))},{default:n(()=>[...d[5]||(d[5]=[b(" 查看 ",-1)])]),_:1}))])],2)}}}),Pe=j(Ce,[["__scopeId","data-v-468027ce"]]),xe={class:"integrations-page"},$e={key:0,class:"loading-state"},Se={key:1,class:"integration-grid"},Le={key:0,class:"test-result"},Re={key:0,class:"test-detail"},Be={key:1,class:"test-debug-hint"},De={key:2,class:"test-debug-info"},Te=W({__name:"Integrations",setup(u){const x=$(!1),g=$([]),_=$(!1),c=$(null),d=D({apiUrl:"",apiKey:""}),r=D({baseUrl:"",accessKeyId:"",accessKeySecret:""}),l=D({baseUrl:"",apiAccount:"",apiPassword:"",validateKey:""}),w=$(!1),V=$(!1),v=$(null);re(async()=>{x.value=!0;try{const a=await ge();g.value=a.items}catch{g.value=q()}finally{x.value=!1}});function q(){return[{id:"dify",name:"Dify AI",status:"connected",configurable:!0,config_type:"url_key",config:{api_url:"https://api.dify.ai/v1",api_key_set:!0}},{id:"ragflow",name:"RAGFlow",status:"partial",configurable:!0,config_type:"url_key",config:{api_url:"",api_key_set:!1}},{id:"data_platform",name:"数据平台",stat
|