import{aP as ve,r as x,aX as pe,c as Z,o as G,q as ye,Z as xe,x as u,z as e,L as y,C as D,O as c,u as i,K as b,S as ee,aq as I,al as P,P as p,aT as B,Q as O,ac as te,aV as $,R as me,J as ke,T as he,Y as we,y as g}from"./vue-vendor-Bsazo-x0.js";import{c as U,_ as Se,s as n}from"./index-Br0dYyyr.js";import"./element-plus-CqiD73Lu.js";import"./vendor-Dr8jvgFu.js";const Ce=ve("settings",()=>{const k=x({siteName:"Claude Relay Service",siteIcon:"",siteIconData:"",showAdminButton:!0,updatedAt:null}),_=x(!1),E=x(!1),h=async()=>{_.value=!0;try{const l=await U.get("/admin/oem-settings");return l&&l.success&&(k.value={...k.value,...l.data},w()),l}catch(l){throw console.error("Failed to load OEM settings:",l),l}finally{_.value=!1}},d=async l=>{E.value=!0;try{const f=await U.put("/admin/oem-settings",l);return f&&f.success&&(k.value={...k.value,...f.data},w()),f}catch(f){throw console.error("Failed to save OEM settings:",f),f}finally{E.value=!1}},F=async()=>{const l={siteName:"Claude Relay Service",siteIcon:"",siteIconData:"",showAdminButton:!0,updatedAt:null};return k.value={...l},await d(l)},w=()=>{if(k.value.siteName&&(document.title=`${k.value.siteName} - 管理后台`),k.value.siteIconData||k.value.siteIcon){const l=document.querySelector('link[rel="icon"]')||document.createElement("link");l.rel="icon",l.href=k.value.siteIconData||k.value.siteIcon,document.querySelector('link[rel="icon"]')||document.head.appendChild(l)}};return{oemSettings:k,loading:_,saving:E,loadOemSettings:h,saveOemSettings:d,resetOemSettings:F,applyOemSettings:w,formatDateTime:l=>l?new Date(l).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"",validateIconFile:l=>{const f=[];return l.size>350*1024&&f.push("图标文件大小不能超过 350KB"),["image/x-icon","image/png","image/jpeg","image/jpg","image/svg+xml"].includes(l.type)||f.push("不支持的文件类型,请选择 .ico, .png, .jpg 或 .svg 文件"),{isValid:f.length===0,errors:f}},fileToBase64:l=>new Promise((f,V)=>{const A=new FileReader;A.onload=v=>f(v.target.result),A.onerror=V,A.readAsDataURL(l)})}}),_e={class:"settings-container"},Ie={class:"card p-4 sm:p-6"},Ue={class:"mb-6"},Ae={class:"flex space-x-8"},Ve={key:0,class:"py-12 text-center"},De={key:1},je={class:"table-container hidden sm:block"},Te={class:"min-w-full"},Be={class:"divide-y divide-gray-200/50 dark:divide-gray-600/50"},Ee={class:"table-row"},We={class:"px-6 py-4"},Ne={class:"table-row"},Pe={class:"px-6 py-4"},Re={class:"space-y-3"},Fe={key:0,class:"inline-flex items-center gap-3 rounded-lg bg-gray-50 p-3 dark:bg-gray-700"},Oe=["src"],$e={class:"table-row"},Ke={class:"px-6 py-4"},Me={class:"flex items-center"},Le={class:"inline-flex cursor-pointer items-center"},qe={class:"ml-3 text-sm font-medium text-gray-900 dark:text-gray-300"},ze={class:"px-6 py-6",colspan:"2"},He={class:"flex items-center justify-between"},Je={class:"flex gap-3"},Xe=["disabled"],Qe={key:0,class:"loading-spinner mr-2"},Ye={key:1,class:"fas fa-save mr-2"},Ze=["disabled"],Ge={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},et={class:"space-y-4 sm:hidden"},tt={class:"glass-card p-4"},rt={class:"glass-card p-4"},at={class:"space-y-3"},st={key:0,class:"inline-flex items-center gap-3 rounded-lg bg-gray-50 p-3 dark:bg-gray-700"},lt=["src"],ot={class:"glass-card p-4"},nt={class:"space-y-2"},it={class:"inline-flex cursor-pointer items-center"},dt={class:"ml-3 text-sm font-medium text-gray-900 dark:text-gray-300"},ut={class:"glass-card p-4"},gt={class:"flex flex-col gap-3"},ct=["disabled"],ft={key:0,class:"loading-spinner mr-2"},bt={key:1,class:"fas fa-save mr-2"},vt=["disabled"],pt={key:0,class:"text-center text-sm text-gray-500 dark:text-gray-400"},yt={class:"mb-6 rounded-lg bg-white/80 p-6 shadow-lg backdrop-blur-sm dark:bg-gray-800/80"},xt={class:"flex items-center justify-between"},mt={class:"relative inline-flex cursor-pointer items-center"},kt={class:"mb-6 rounded-lg bg-white/80 p-6 shadow-lg backdrop-blur-sm dark:bg-gray-800/80"},ht={class:"space-y-3"},wt={class:"font-medium text-gray-700 dark:text-gray-300"},St={class:"ml-2 text-sm text-gray-500 dark:text-gray-400"},Ct={class:"relative inline-flex cursor-pointer items-center"},_t=["onUpdate:modelValue"],It={class:"mb-6 rounded-lg bg-white/80 p-6 shadow-lg backdrop-blur-sm dark:bg-gray-800/80"},Ut={class:"mb-4 flex items-center justify-between"},At={key:0,class:"space-y-4"},Vt={class:"flex items-start justify-between"},Dt={class:"flex-1"},jt={class:"flex items-center"},Tt={class:"font-semibold text-gray-800 dark:text-gray-200"},Bt={class:"text-sm text-gray-500 dark:text-gray-400"},Et={class:"mt-3 space-y-1 text-sm"},Wt={class:"flex items-center text-gray-600 dark:text-gray-400"},Nt={class:"truncate"},Pt={key:0,class:"flex items-center text-gray-600 dark:text-gray-400"},Rt={class:"ml-4 flex items-center space-x-2"},Ft={class:"relative inline-flex cursor-pointer items-center"},Ot=["checked","onChange"],$t=["onClick"],Kt=["onClick"],Mt=["onClick"],Lt={key:1,class:"py-8 text-center text-gray-500 dark:text-gray-400"},qt={class:"rounded-lg bg-white/80 p-6 shadow-lg backdrop-blur-sm dark:bg-gray-800/80"},zt={class:"grid grid-cols-1 gap-4 md:grid-cols-3"},Ht={class:"dark:to-gray-750 relative border-b border-gray-200 bg-gradient-to-r from-blue-50 to-indigo-50 px-6 py-5 dark:border-gray-700 dark:from-gray-800"},Jt={class:"flex items-center justify-between"},Xt={class:"flex items-center space-x-3"},Qt={class:"text-xl font-semibold text-gray-900 dark:text-white"},Yt={class:"mt-0.5 text-sm text-gray-600 dark:text-gray-400"},Zt={class:"p-6"},Gt={class:"space-y-5"},er={class:"relative"},tr=["disabled"],rr={key:0,class:"mt-1 text-xs text-amber-600 dark:text-amber-400"},ar={key:0},sr={class:"relative"},lr={key:0,class:"absolute inset-y-0 right-0 flex items-center pr-3"},or={key:1,class:"absolute inset-y-0 right-0 flex items-center pr-3"},nr={key:0,class:"mt-2 flex items-start rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},ir={class:"text-sm text-blue-700 dark:text-blue-300"},dr={key:1,class:"space-y-5"},ur={key:2,class:"rounded-xl border border-gray-200 bg-gray-50 p-4 dark:border-gray-700 dark:bg-gray-900/50"},gr={class:"space-y-4"},cr={class:"flex items-center justify-between"},fr={class:"flex cursor-pointer items-center",for:"enableSign"},br={key:0,class:"rounded-full bg-green-100 px-2 py-1 text-xs font-medium text-green-700 dark:bg-green-900/50 dark:text-green-400"},vr={key:0},pr={class:"border-t border-gray-200 bg-gray-50 px-6 py-4 dark:border-gray-700 dark:bg-gray-900/50"},yr={class:"flex items-center justify-between"},xr={class:"flex space-x-3"},mr=["disabled"],kr=["disabled"],hr=Object.assign({name:"SettingsView"},{__name:"SettingsView",setup(k){const _=Ce(),{loading:E,saving:h,oemSettings:d}=pe(_),F=x(),w=x("branding"),o=x(!0),S=x(new AbortController),j=Z({get(){return!d.value.showAdminButton},set(r){d.value.showAdminButton=!r}}),l=x(!1),f=x(!1),V=x(!1),A=x(!1),v=x({enabled:!1,platforms:[],notificationTypes:{accountAnomaly:!0,quotaWarning:!0,systemError:!0,securityAlert:!0},retrySettings:{maxRetries:3,retryDelay:1e3,timeout:1e4}}),T=x(!1),C=x(null),s=x({type:"wechat_work",name:"",url:"",enableSign:!1,secret:""}),K=G(w,async r=>{o.value&&r==="webhook"&&await W()}),M=G(()=>s.value.type,r=>{l.value=!1,f.value=!1,C.value||(r==="bark"?(s.value.url="",s.value.enableSign=!1,s.value.secret=""):(s.value.deviceKey="",s.value.serverUrl="",s.value.level="",s.value.sound="",s.value.group=""))}),re=Z(()=>s.value.type==="bark"?!!s.value.deviceKey:!!s.value.url&&!l.value);ye(async()=>{try{await _.loadOemSettings(),w.value==="webhook"&&await W()}catch{n("加载设置失败","error")}}),xe(()=>{o.value=!1,S.value&&S.value.abort(),K&&K(),M&&M(),T.value&&(T.value=!1,C.value=null)});const W=async()=>{if(o.value)try{const r=await U.get("/admin/webhook/config",{signal:S.value.signal});r.success&&o.value&&(v.value=r.config)}catch(r){if(r.name==="AbortError"||!o.value)return;n("获取webhook配置失败","error"),console.error(r)}},N=async()=>{if(o.value)try{(await U.post("/admin/webhook/config",v.value,{signal:S.value.signal})).success&&o.value&&n("配置已保存","success")}catch(r){if(r.name==="AbortError"||!o.value)return;n("保存配置失败","error"),console.error(r)}},ae=()=>{if(s.value.type==="bark"){l.value=!1,f.value=!1;return}const r=s.value.url;if(!r){l.value=!1,f.value=!1;return}try{new URL(r),r.startsWith("http://")||r.startsWith("https://")?(l.value=!1,f.value=!0):(l.value=!0,f.value=!1)}catch{l.value=!0,f.value=!1}},se=async()=>{if(o.value){if(s.value.type==="bark"){if(!s.value.deviceKey){n("请输入Bark设备密钥","error");return}}else{if(!s.value.url){n("请输入Webhook URL","error");return}if(l.value){n("请输入有效的Webhook URL","error");return}}A.value=!0;try{let r;C.value?r=await U.put(`/admin/webhook/platforms/${C.value.id}`,s.value,{signal:S.value.signal}):r=await U.post("/admin/webhook/platforms",s.value,{signal:S.value.signal}),r.success&&o.value&&(n(C.value?"平台已更新":"平台已添加","success"),await W(),R())}catch(r){if(r.name==="AbortError"||!o.value)return;n(r.message||"操作失败","error"),console.error(r)}finally{o.value&&(A.value=!1)}}},le=r=>{C.value=r,s.value={...r},T.value=!0},oe=async r=>{if(o.value&&confirm("确定要删除这个平台吗?"))try{(await U.delete(`/admin/webhook/platforms/${r}`,{signal:S.value.signal})).success&&o.value&&(n("平台已删除","success"),await W())}catch(t){if(t.name==="AbortError"||!o.value)return;n("删除失败","error"),console.error(t)}},ne=async r=>{if(o.value)try{const t=await U.post(`/admin/webhook/platforms/${r}/toggle`,{},{signal:S.value.signal});t.success&&o.value&&(n(t.message,"success"),await W())}catch(t){if(t.name==="AbortError"||!o.value)return;n("操作失败","error"),console.error(t)}},ie=async r=>{if(o.value)try{const t={type:r.type,secret:r.secret,enableSign:r.enableSign};r.type==="bark"?(t.deviceKey=r.deviceKey,t.serverUrl=r.serverUrl,t.level=r.level,t.sound=r.sound,t.group=r.group):t.url=r.url,(await U.post("/admin/webhook/test",t,{signal:S.value.signal})).success&&o.value&&n("测试成功,webhook连接正常","success")}catch(t){if(t.name==="AbortError"||!o.value)return;n(t.error||t.message||"测试失败","error"),console.error(t)}},de=async()=>{if(o.value){if(s.value.type==="bark"){if(!s.value.deviceKey){n("请先输入Bark设备密钥","error");return}}else{if(!s.value.url){n("请先输入Webhook URL","error");return}if(l.value){n("请输入有效的Webhook URL","error");return}}V.value=!0;try{(await U.post("/admin/webhook/test",s.value,{signal:S.value.signal})).success&&o.value&&n("测试成功,webhook连接正常","success")}catch(r){if(r.name==="AbortError"||!o.value)return;n(r.error||r.message||"测试失败","error"),console.error(r)}finally{o.value&&(V.value=!1)}}},ue=async()=>{if(o.value)try{(await U.post("/admin/webhook/test-notification",{},{signal:S.value.signal})).success&&o.value&&n("测试通知已发送","success")}catch(r){if(r.name==="AbortError"||!o.value)return;n("发送失败","error"),console.error(r)}},R=()=>{o.value&&(T.value=!1,setTimeout(()=>{o.value&&(C.value=null,s.value={type:"wechat_work",name:"",url:"",enableSign:!1,secret:"",deviceKey:"",serverUrl:"",level:"",sound:"",group:""},l.value=!1,f.value=!1,V.value=!1,A.value=!1)},0))},L=r=>({wechat_work:"企业微信",dingtalk:"钉钉",feishu:"飞书",slack:"Slack",discord:"Discord",bark:"Bark",custom:"自定义"})[r]||r,ge=r=>({wechat_work:"fab fa-weixin text-green-600",dingtalk:"fas fa-comment-dots text-blue-500",feishu:"fas fa-dove text-blue-600",slack:"fab fa-slack text-purple-600",discord:"fab fa-discord text-indigo-600",bark:"fas fa-bell text-orange-500",custom:"fas fa-webhook text-gray-600"})[r]||"fas fa-bell",q=r=>({wechat_work:"请在企业微信群机器人设置中获取Webhook地址",dingtalk:"请在钉钉群机器人设置中获取Webhook地址",feishu:"请在飞书群机器人设置中获取Webhook地址",slack:"请在Slack应用的Incoming Webhooks中获取地址",discord:"请在Discord服务器的集成设置中创建Webhook",bark:"请在Bark App中查看您的设备密钥",custom:"请输入完整的Webhook接收地址"})[r]||"",ce=r=>({accountAnomaly:"账号异常",quotaWarning:"配额警告",systemError:"系统错误",securityAlert:"安全警报"})[r]||r,fe=r=>({accountAnomaly:"账号状态异常、认证失败等",quotaWarning:"API调用配额不足警告",systemError:"系统运行错误和故障",securityAlert:"安全相关的警报通知"})[r]||"",z=async()=>{try{const r={siteName:d.value.siteName,siteIcon:d.value.siteIcon,siteIconData:d.value.siteIconData,showAdminButton:d.value.showAdminButton},t=await _.saveOemSettings(r);t&&t.success?n("OEM设置保存成功","success"):n((t==null?void 0:t.message)||"保存失败","error")}catch{n("保存OEM设置失败","error")}},H=async()=>{if(confirm(`确定要重置为默认设置吗?
这将清除所有自定义的网站名称和图标设置。`))try{const r=await _.resetOemSettings();r&&r.success?n("已重置为默认设置","success"):n("重置失败","error")}catch{n("重置失败","error")}},J=async r=>{const t=r.target.files[0];if(!t)return;const a=_.validateIconFile(t);if(!a.isValid){a.errors.forEach(m=>n(m,"error"));return}try{const m=await _.fileToBase64(t);d.value.siteIconData=m}catch{n("文件读取失败","error")}r.target.value=""},X=()=>{d.value.siteIcon="",d.value.siteIconData=""},Q=()=>{console.warn("Icon failed to load")},Y=_.formatDateTime;return(r,t)=>(g(),u(O,null,[e("div",_e,[e("div",Ie,[t[66]||(t[66]=e("div",{class:"mb-4 sm:mb-6"},[e("h3",{class:"mb-1 text-lg font-bold text-gray-900 dark:text-gray-100 sm:mb-2 sm:text-xl"}," 系统设置 "),e("p",{class:"text-sm text-gray-600 dark:text-gray-400 sm:text-base"},"网站定制和通知配置")],-1)),e("div",Ue,[e("nav",Ae,[e("button",{class:D(["border-b-2 pb-2 text-sm font-medium transition-colors",w.value==="branding"?"border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-400":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"]),onClick:t[0]||(t[0]=a=>w.value="branding")},t[24]||(t[24]=[e("i",{class:"fas fa-palette mr-2"},null,-1),c(" 品牌设置 ",-1)]),2),e("button",{class:D(["border-b-2 pb-2 text-sm font-medium transition-colors",w.value==="webhook"?"border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-400":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"]),onClick:t[1]||(t[1]=a=>w.value="webhook")},t[25]||(t[25]=[e("i",{class:"fas fa-bell mr-2"},null,-1),c(" 通知设置 ",-1)]),2)])]),i(E)?(g(),u("div",Ve,t[26]||(t[26]=[e("div",{class:"loading-spinner mx-auto mb-4"},null,-1),e("p",{class:"text-gray-500 dark:text-gray-400"},"正在加载设置...",-1)]))):(g(),u("div",De,[b(e("div",null,[e("div",je,[e("table",Te,[e("tbody",Be,[e("tr",Ee,[t[28]||(t[28]=e("td",{class:"w-48 whitespace-nowrap px-6 py-4"},[e("div",{class:"flex items-center"},[e("div",{class:"mr-3 flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-blue-500 to-blue-600"},[e("i",{class:"fas fa-font text-xs text-white"})]),e("div",null,[e("div",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," 网站名称 "),e("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"品牌标识")])])],-1)),e("td",We,[b(e("input",{"onUpdate:modelValue":t[2]||(t[2]=a=>i(d).siteName=a),class:"form-input w-full max-w-md dark:border-gray-600 dark:bg-gray-700 dark:text-gray-200",maxlength:"100",placeholder:"Claude Relay Service",type:"text"},null,512),[[I,i(d).siteName]]),t[27]||(t[27]=e("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"}," 将显示在浏览器标题和页面头部 ",-1))])]),e("tr",Ne,[t[33]||(t[33]=e("td",{class:"w-48 whitespace-nowrap px-6 py-4"},[e("div",{class:"flex items-center"},[e("div",{class:"mr-3 flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-purple-500 to-purple-600"},[e("i",{class:"fas fa-image text-xs text-white"})]),e("div",null,[e("div",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," 网站图标 "),e("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Favicon")])])],-1)),e("td",Pe,[e("div",Re,[i(d).siteIconData||i(d).siteIcon?(g(),u("div",Fe,[e("img",{alt:"图标预览",class:"h-8 w-8",src:i(d).siteIconData||i(d).siteIcon,onError:Q},null,40,Oe),t[30]||(t[30]=e("span",{class:"text-sm text-gray-600 dark:text-gray-400"},"当前图标",-1)),e("button",{class:"rounded-lg px-3 py-1 font-medium text-red-600 transition-colors hover:bg-red-50 hover:text-red-900",onClick:X},t[29]||(t[29]=[e("i",{class:"fas fa-trash mr-1"},null,-1),c("删除 ",-1)]))])):y("",!0),e("div",null,[e("input",{ref_key:"iconFileInput",ref:F,accept:".ico,.png,.jpg,.jpeg,.svg",class:"hidden",type:"file",onChange:J},null,544),e("button",{class:"btn btn-success px-4 py-2",onClick:t[3]||(t[3]=a=>r.$refs.iconFileInput.click())},t[31]||(t[31]=[e("i",{class:"fas fa-upload mr-2"},null,-1),c(" 上传图标 ",-1)])),t[32]||(t[32]=e("span",{class:"ml-3 text-xs text-gray-500 dark:text-gray-400"},"支持 .ico, .png, .jpg, .svg 格式,最大 350KB",-1))])])])]),e("tr",$e,[t[36]||(t[36]=e("td",{class:"w-48 whitespace-nowrap px-6 py-4"},[e("div",{class:"flex items-center"},[e("div",{class:"mr-3 flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-indigo-500 to-purple-600"},[e("i",{class:"fas fa-eye-slash text-xs text-white"})]),e("div",null,[e("div",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," 管理入口 "),e("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"登录按钮显示")])])],-1)),e("td",Ke,[e("div",Me,[e("label",Le,[b(e("input",{"onUpdate:modelValue":t[4]||(t[4]=a=>j.value=a),class:"peer sr-only",type:"checkbox"},null,512),[[P,j.value]]),t[34]||(t[34]=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:left-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:border after:border-gray-300 after:bg-white after:transition-all after:content-[''] peer-checked:bg-blue-600 peer-checked:after:translate-x-full peer-checked:after:border-white peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:border-gray-600 dark:bg-gray-700 dark:peer-focus:ring-blue-800"},null,-1)),e("span",qe,p(j.value?"隐藏登录按钮":"显示登录按钮"),1)])]),t[35]||(t[35]=e("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"}," 隐藏后,用户需要直接访问 /admin/login 页面登录 ",-1))])]),e("tr",null,[e("td",ze,[e("div",He,[e("div",Je,[e("button",{class:D(["btn btn-primary px-6 py-3",{"cursor-not-allowed opacity-50":i(h)}]),disabled:i(h),onClick:z},[i(h)?(g(),u("div",Qe)):(g(),u("i",Ye)),c(" "+p(i(h)?"保存中...":"保存设置"),1)],10,Xe),e("button",{class:"btn bg-gray-100 px-6 py-3 text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600",disabled:i(h),onClick:H},t[37]||(t[37]=[e("i",{class:"fas fa-undo mr-2"},null,-1),c(" 重置为默认 ",-1)]),8,Ze)]),i(d).updatedAt?(g(),u("div",Ge,[t[38]||(t[38]=e("i",{class:"fas fa-clock mr-1"},null,-1)),c(" 最后更新:"+p(i(Y)(i(d).updatedAt)),1)])):y("",!0)])])])])])]),e("div",et,[e("div",tt,[t[39]||(t[39]=B('
',1)),b(e("input",{"onUpdate:modelValue":t[5]||(t[5]=a=>i(d).siteName=a),class:"form-input w-full dark:border-gray-600 dark:bg-gray-700 dark:text-gray-200",maxlength:"100",placeholder:"Claude Relay Service",type:"text"},null,512),[[I,i(d).siteName]])]),e("div",rt,[t[43]||(t[43]=B('',1)),e("div",at,[i(d).siteIconData||i(d).siteIcon?(g(),u("div",st,[e("img",{alt:"图标预览",class:"h-8 w-8",src:i(d).siteIconData||i(d).siteIcon,onError:Q},null,40,lt),t[40]||(t[40]=e("span",{class:"text-sm text-gray-600 dark:text-gray-400"},"当前图标",-1)),e("button",{class:"rounded-lg px-3 py-1 font-medium text-red-600 transition-colors hover:bg-red-50 hover:text-red-900",onClick:X}," 删除 ")])):y("",!0),e("div",null,[e("input",{ref:"iconFileInputMobile",accept:".ico,.png,.jpg,.jpeg,.svg",class:"hidden",type:"file",onChange:J},null,544),e("button",{class:"btn btn-success px-4 py-2",onClick:t[6]||(t[6]=a=>r.$refs.iconFileInputMobile.click())},t[41]||(t[41]=[e("i",{class:"fas fa-upload mr-2"},null,-1),c(" 上传图标 ",-1)])),t[42]||(t[42]=e("p",{class:"mt-2 text-xs text-gray-500 dark:text-gray-400"}," 支持 .ico, .png, .jpg, .svg 格式,最大 350KB ",-1))])])]),e("div",ot,[t[46]||(t[46]=B('',1)),e("div",nt,[e("label",it,[b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=a=>j.value=a),class:"peer sr-only",type:"checkbox"},null,512),[[P,j.value]]),t[44]||(t[44]=e("div",{class:"peer relative h-6 w-11 rounded-full bg-gray-200 after:absolute after:left-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:border after:border-gray-300 after:bg-white after:transition-all after:content-[''] peer-checked:bg-blue-600 peer-checked:after:translate-x-full peer-checked:after:border-white peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:border-gray-600 dark:bg-gray-700 dark:peer-focus:ring-blue-800"},null,-1)),e("span",dt,p(j.value?"隐藏登录按钮":"显示登录按钮"),1)]),t[45]||(t[45]=e("p",{class:"text-xs text-gray-500 dark:text-gray-400"}," 隐藏后,用户需要直接访问 /admin/login 页面登录 ",-1))])]),e("div",ut,[e("div",gt,[e("button",{class:D(["btn btn-primary w-full px-6 py-3",{"cursor-not-allowed opacity-50":i(h)}]),disabled:i(h),onClick:z},[i(h)?(g(),u("div",ft)):(g(),u("i",bt)),c(" "+p(i(h)?"保存中...":"保存设置"),1)],10,ct),e("button",{class:"btn w-full bg-gray-100 px-6 py-3 text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600",disabled:i(h),onClick:H},t[47]||(t[47]=[e("i",{class:"fas fa-undo mr-2"},null,-1),c(" 重置为默认 ",-1)]),8,vt),i(d).updatedAt?(g(),u("div",pt,[t[48]||(t[48]=e("i",{class:"fas fa-clock mr-1"},null,-1)),c(" 上次更新: "+p(i(Y)(i(d).updatedAt)),1)])):y("",!0)])])])],512),[[ee,w.value==="branding"]]),b(e("div",null,[e("div",yt,[e("div",xt,[t[50]||(t[50]=e("div",null,[e("h2",{class:"text-lg font-semibold text-gray-800 dark:text-gray-200"}," 启用 Webhook 通知 "),e("p",{class:"mt-1 text-sm text-gray-600 dark:text-gray-400"}," 开启后,系统将按配置发送通知到指定平台 ")],-1)),e("label",mt,[b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=a=>v.value.enabled=a),class:"peer sr-only",type:"checkbox",onChange:N},null,544),[[P,v.value.enabled]]),t[49]||(t[49]=e("div",{class:"peer h-6 w-11 rounded-full bg-gray-200 after:absolute after:left-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:border after:border-gray-300 after:bg-white after:transition-all after:content-[''] peer-checked:bg-blue-600 peer-checked:after:translate-x-full peer-checked:after:border-white peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:border-gray-600 dark:bg-gray-700 dark:peer-focus:ring-blue-800"},null,-1))])])]),e("div",kt,[t[52]||(t[52]=e("h2",{class:"mb-4 text-lg font-semibold text-gray-800 dark:text-gray-200"},"通知类型",-1)),e("div",ht,[(g(!0),u(O,null,te(v.value.notificationTypes,(a,m)=>(g(),u("div",{key:m,class:"flex items-center justify-between"},[e("div",null,[e("span",wt,p(ce(m)),1),e("span",St,p(fe(m)),1)]),e("label",Ct,[b(e("input",{"onUpdate:modelValue":be=>v.value.notificationTypes[m]=be,class:"peer sr-only",type:"checkbox",onChange:N},null,40,_t),[[P,v.value.notificationTypes[m]]]),t[51]||(t[51]=e("div",{class:"peer h-5 w-9 rounded-full bg-gray-200 after:absolute after:left-[2px] after:top-[2px] after:h-4 after:w-4 after:rounded-full after:border after:border-gray-300 after:bg-white after:transition-all after:content-[''] peer-checked:bg-green-600 peer-checked:after:translate-x-full peer-checked:after:border-white dark:border-gray-600 dark:bg-gray-700"},null,-1))])]))),128))])]),e("div",It,[e("div",Ut,[t[54]||(t[54]=e("h2",{class:"text-lg font-semibold text-gray-800 dark:text-gray-200"},"通知平台",-1)),e("button",{class:"rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-700",onClick:t[9]||(t[9]=a=>T.value=!0)},t[53]||(t[53]=[e("i",{class:"fas fa-plus mr-2"},null,-1),c(" 添加平台 ",-1)]))]),v.value.platforms&&v.value.platforms.length>0?(g(),u("div",At,[(g(!0),u(O,null,te(v.value.platforms,a=>(g(),u("div",{key:a.id,class:"rounded-lg border border-gray-200 p-4 dark:border-gray-700"},[e("div",Vt,[e("div",Dt,[e("div",jt,[e("i",{class:D(["mr-3 text-xl",ge(a.type)])},null,2),e("div",null,[e("h3",Tt,p(a.name||L(a.type)),1),e("p",Bt,p(L(a.type)),1)])]),e("div",Et,[e("div",Wt,[t[55]||(t[55]=e("i",{class:"fas fa-link mr-2"},null,-1)),e("span",Nt,p(a.url),1)]),a.enableSign?(g(),u("div",Pt,t[56]||(t[56]=[e("i",{class:"fas fa-shield-alt mr-2"},null,-1),e("span",null,"已启用签名验证",-1)]))):y("",!0)])]),e("div",Rt,[e("label",Ft,[e("input",{checked:a.enabled,class:"peer sr-only",type:"checkbox",onChange:m=>ne(a.id)},null,40,Ot),t[57]||(t[57]=e("div",{class:"peer h-5 w-9 rounded-full bg-gray-200 after:absolute after:left-[2px] after:top-[2px] after:h-4 after:w-4 after:rounded-full after:border after:border-gray-300 after:bg-white after:transition-all after:content-[''] peer-checked:bg-green-600 peer-checked:after:translate-x-full peer-checked:after:border-white dark:border-gray-600 dark:bg-gray-700"},null,-1))]),e("button",{class:"rounded-lg bg-blue-100 p-2 text-blue-600 transition-colors hover:bg-blue-200 dark:bg-blue-900 dark:text-blue-400 dark:hover:bg-blue-800",title:"测试连接",onClick:m=>ie(a)},t[58]||(t[58]=[e("i",{class:"fas fa-vial"},null,-1)]),8,$t),e("button",{class:"rounded-lg bg-gray-100 p-2 text-gray-600 transition-colors hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-400 dark:hover:bg-gray-600",title:"编辑",onClick:m=>le(a)},t[59]||(t[59]=[e("i",{class:"fas fa-edit"},null,-1)]),8,Kt),e("button",{class:"rounded-lg bg-red-100 p-2 text-red-600 transition-colors hover:bg-red-200 dark:bg-red-900 dark:text-red-400 dark:hover:bg-red-800",title:"删除",onClick:m=>oe(a.id)},t[60]||(t[60]=[e("i",{class:"fas fa-trash"},null,-1)]),8,Mt)])])]))),128))])):(g(),u("div",Lt,' 暂无配置的通知平台,请点击"添加平台"按钮添加 '))]),e("div",qt,[t[64]||(t[64]=e("h2",{class:"mb-4 text-lg font-semibold text-gray-800 dark:text-gray-200"},"高级设置",-1)),e("div",zt,[e("div",null,[t[61]||(t[61]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300"}," 最大重试次数 ",-1)),b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=a=>v.value.retrySettings.maxRetries=a),class:"mt-1 block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white sm:text-sm",max:"10",min:"0",type:"number",onChange:N},null,544),[[I,v.value.retrySettings.maxRetries,void 0,{number:!0}]])]),e("div",null,[t[62]||(t[62]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300"}," 重试延迟 (毫秒) ",-1)),b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=a=>v.value.retrySettings.retryDelay=a),class:"mt-1 block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white sm:text-sm",max:"10000",min:"100",step:"100",type:"number",onChange:N},null,544),[[I,v.value.retrySettings.retryDelay,void 0,{number:!0}]])]),e("div",null,[t[63]||(t[63]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300"}," 超时时间 (毫秒) ",-1)),b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=a=>v.value.retrySettings.timeout=a),class:"mt-1 block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white sm:text-sm",max:"30000",min:"1000",step:"1000",type:"number",onChange:N},null,544),[[I,v.value.retrySettings.timeout,void 0,{number:!0}]])])])]),e("div",{class:"mt-6 text-center"},[e("button",{class:"rounded-lg bg-green-600 px-6 py-3 text-white shadow-lg transition-all hover:bg-green-700 hover:shadow-xl",onClick:ue},t[65]||(t[65]=[e("i",{class:"fas fa-paper-plane mr-2"},null,-1),c(" 发送测试通知 ",-1)]))])],512),[[ee,w.value==="webhook"]])]))])]),T.value?(g(),u("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm transition-all duration-300 ease-out",onClick:R},[e("div",{class:"relative mx-4 w-full max-w-2xl overflow-hidden rounded-2xl bg-white shadow-2xl transition-all duration-300 ease-out dark:bg-gray-800",onClick:t[23]||(t[23]=we(()=>{},["stop"]))},[e("div",Ht,[e("div",Jt,[e("div",Xt,[t[67]||(t[67]=e("div",{class:"flex h-10 w-10 items-center justify-center rounded-full bg-gradient-to-br from-blue-500 to-indigo-600 text-white shadow-lg"},[e("i",{class:"fas fa-bell"})],-1)),e("div",null,[e("h3",Qt,p(C.value?"编辑":"添加")+"通知平台 ",1),e("p",Yt," 配置"+p(C.value?"并更新":"新的")+"Webhook通知渠道 ",1)])]),e("button",{class:"rounded-lg p-2 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",onClick:R},t[68]||(t[68]=[e("i",{class:"fas fa-times text-lg"},null,-1)]))])]),e("div",Zt,[e("div",Gt,[e("div",null,[t[72]||(t[72]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-layer-group mr-2 text-gray-400"}),c(" 平台类型 ")],-1)),e("div",er,[b(e("select",{"onUpdate:modelValue":t[13]||(t[13]=a=>s.value.type=a),class:"w-full appearance-none rounded-xl border border-gray-300 bg-white px-4 py-3 pr-10 text-gray-900 shadow-sm transition-all focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white",disabled:C.value},t[69]||(t[69]=[B('',7)]),8,tr),[[$,s.value.type]]),t[70]||(t[70]=e("div",{class:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"},[e("i",{class:"fas fa-chevron-down text-gray-400"})],-1))]),C.value?(g(),u("p",rr,t[71]||(t[71]=[e("i",{class:"fas fa-info-circle mr-1"},null,-1),c(" 编辑模式下不能更改平台类型 ",-1)]))):y("",!0)]),e("div",null,[t[73]||(t[73]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-tag mr-2 text-gray-400"}),c(" 名称 "),e("span",{class:"ml-2 text-xs text-gray-500"},"(可选)")],-1)),b(e("input",{"onUpdate:modelValue":t[14]||(t[14]=a=>s.value.name=a),class:"w-full rounded-xl border border-gray-300 bg-white px-4 py-3 text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-500",placeholder:"例如:运维群通知、开发测试群",type:"text"},null,512),[[I,s.value.name]])]),s.value.type!=="bark"?(g(),u("div",ar,[t[77]||(t[77]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-link mr-2 text-gray-400"}),c(" Webhook URL "),e("span",{class:"ml-1 text-xs text-red-500"},"*")],-1)),e("div",sr,[b(e("input",{"onUpdate:modelValue":t[15]||(t[15]=a=>s.value.url=a),class:D(["w-full rounded-xl border border-gray-300 bg-white px-4 py-3 pr-10 font-mono text-sm text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-500",{"border-red-500 focus:border-red-500 focus:ring-red-500/20":l.value,"border-green-500 focus:border-green-500 focus:ring-green-500/20":f.value}]),placeholder:"https://...",required:"",type:"url",onInput:ae},null,34),[[I,s.value.url]]),f.value?(g(),u("div",lr,t[74]||(t[74]=[e("i",{class:"fas fa-check-circle text-green-500"},null,-1)]))):y("",!0),l.value?(g(),u("div",or,t[75]||(t[75]=[e("i",{class:"fas fa-exclamation-circle text-red-500"},null,-1)]))):y("",!0)]),q(s.value.type)?(g(),u("div",nr,[t[76]||(t[76]=e("i",{class:"fas fa-info-circle mr-2 mt-0.5 text-blue-600 dark:text-blue-400"},null,-1)),e("p",ir,p(q(s.value.type)),1)])):y("",!0)])):y("",!0),s.value.type==="bark"?(g(),u("div",dr,[e("div",null,[t[78]||(t[78]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-key mr-2 text-gray-400"}),c(" 设备密钥 (Device Key) "),e("span",{class:"ml-1 text-xs text-red-500"},"*")],-1)),b(e("input",{"onUpdate:modelValue":t[16]||(t[16]=a=>s.value.deviceKey=a),class:"w-full rounded-xl border border-gray-300 bg-white px-4 py-3 font-mono text-sm text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-500",placeholder:"例如:aBcDeFgHiJkLmNoPqRsTuVwX",required:"",type:"text"},null,512),[[I,s.value.deviceKey]]),t[79]||(t[79]=e("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"}," 在Bark App中查看您的推送密钥 ",-1))]),e("div",null,[t[80]||(t[80]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-server mr-2 text-gray-400"}),c(" 服务器地址 "),e("span",{class:"ml-2 text-xs text-gray-500"},"(可选)")],-1)),b(e("input",{"onUpdate:modelValue":t[17]||(t[17]=a=>s.value.serverUrl=a),class:"w-full rounded-xl border border-gray-300 bg-white px-4 py-3 font-mono text-sm text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-500",placeholder:"默认: https://api.day.app/push",type:"url"},null,512),[[I,s.value.serverUrl]])]),e("div",null,[t[82]||(t[82]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-flag mr-2 text-gray-400"}),c(" 通知级别 ")],-1)),b(e("select",{"onUpdate:modelValue":t[18]||(t[18]=a=>s.value.level=a),class:"w-full appearance-none rounded-xl border border-gray-300 bg-white px-4 py-3 pr-10 text-gray-900 shadow-sm transition-all focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white"},t[81]||(t[81]=[B('',5)]),512),[[$,s.value.level]])]),e("div",null,[t[84]||(t[84]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-volume-up mr-2 text-gray-400"}),c(" 通知声音 ")],-1)),b(e("select",{"onUpdate:modelValue":t[19]||(t[19]=a=>s.value.sound=a),class:"w-full appearance-none rounded-xl border border-gray-300 bg-white px-4 py-3 pr-10 text-gray-900 shadow-sm transition-all focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white"},t[83]||(t[83]=[B('',9)]),512),[[$,s.value.sound]])]),e("div",null,[t[85]||(t[85]=e("label",{class:"mb-2 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-folder mr-2 text-gray-400"}),c(" 通知分组 "),e("span",{class:"ml-2 text-xs text-gray-500"},"(可选)")],-1)),b(e("input",{"onUpdate:modelValue":t[20]||(t[20]=a=>s.value.group=a),class:"w-full rounded-xl border border-gray-300 bg-white px-4 py-3 text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-500",placeholder:"默认: claude-relay",type:"text"},null,512),[[I,s.value.group]])]),t[86]||(t[86]=e("div",{class:"mt-2 flex items-start rounded-lg bg-blue-50 p-3 dark:bg-blue-900/20"},[e("i",{class:"fas fa-info-circle mr-2 mt-0.5 text-blue-600 dark:text-blue-400"}),e("div",{class:"text-sm text-blue-700 dark:text-blue-300"},[e("p",null,"1. 在iPhone上安装Bark App"),e("p",null,"2. 打开App获取您的设备密钥"),e("p",null,"3. 将密钥粘贴到上方输入框")])],-1))])):y("",!0),s.value.type==="dingtalk"||s.value.type==="feishu"?(g(),u("div",ur,[e("div",gr,[e("div",cr,[e("label",fr,[b(e("input",{id:"enableSign","onUpdate:modelValue":t[21]||(t[21]=a=>s.value.enableSign=a),class:"h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-2 focus:ring-blue-500 focus:ring-offset-0",type:"checkbox"},null,512),[[P,s.value.enableSign]]),t[87]||(t[87]=e("span",{class:"ml-3 flex items-center text-sm font-medium text-gray-700 dark:text-gray-300"},[e("i",{class:"fas fa-shield-alt mr-2 text-gray-400"}),c(" 启用签名验证 ")],-1))]),s.value.enableSign?(g(),u("span",br," 已启用 ")):y("",!0)]),me(he,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"opacity-0 -translate-y-2","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-2"},{default:ke(()=>[s.value.enableSign?(g(),u("div",vr,[t[88]||(t[88]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"}," 签名密钥 ",-1)),b(e("input",{"onUpdate:modelValue":t[22]||(t[22]=a=>s.value.secret=a),class:"w-full rounded-xl border border-gray-300 bg-white px-4 py-3 font-mono text-sm text-gray-900 shadow-sm transition-all placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder:text-gray-500",placeholder:"SEC...",type:"text"},null,512),[[I,s.value.secret]])])):y("",!0)]),_:1})])])):y("",!0)])]),e("div",pr,[e("div",yr,[t[90]||(t[90]=e("div",{class:"text-xs text-gray-500 dark:text-gray-400"},[e("i",{class:"fas fa-asterisk mr-1 text-red-500"}),c(" 必填项 ")],-1)),e("div",xr,[e("button",{class:"group flex items-center rounded-xl border border-gray-300 bg-white px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm transition-all hover:bg-gray-50 hover:shadow-md dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700",onClick:R},t[89]||(t[89]=[e("i",{class:"fas fa-times mr-2 transition-transform group-hover:scale-110"},null,-1),c(" 取消 ",-1)])),e("button",{class:"group flex items-center rounded-xl border border-blue-200 bg-blue-50 px-4 py-2.5 text-sm font-medium text-blue-700 shadow-sm transition-all hover:bg-blue-100 hover:shadow-md dark:border-blue-800 dark:bg-blue-900/50 dark:text-blue-300 dark:hover:bg-blue-900/70",disabled:V.value,onClick:de},[e("i",{class:D(["mr-2 transition-transform",V.value?"fas fa-spinner fa-spin":"fas fa-vial group-hover:scale-110"])},null,2),c(" "+p(V.value?"测试中...":"测试连接"),1)],8,mr),e("button",{class:"group flex items-center rounded-xl bg-gradient-to-r from-blue-600 to-indigo-600 px-5 py-2.5 text-sm font-medium text-white shadow-md transition-all hover:from-blue-700 hover:to-indigo-700 hover:shadow-lg disabled:cursor-not-allowed disabled:from-gray-400 disabled:to-gray-500",disabled:!re.value||A.value,onClick:se},[e("i",{class:D(["mr-2 transition-transform",A.value?"fas fa-spinner fa-spin":"fas fa-save group-hover:scale-110"])},null,2),c(" "+p(A.value?"保存中...":C.value?"保存修改":"添加平台"),1)],8,kr)])])])])])):y("",!0)],64))}}),Ir=Se(hr,[["__scopeId","data-v-f6457bd7"]]);export{Ir as default};