File: /www/server/panel/BTPanel/static/js/ssh-edit.js
import{c as I,r as w,g as E,e as o,T as y,z as _,x as f,a8 as q,j as A,k as M,p as T}from"./base-lib.js?v=1777008528";import{X as U,Y as D,M as n,dM as v,k as L}from"./utils-lib.js?v=1777008528";import{F as g,l as R,g as S}from"./form-item.js?v=1777008528";import{u as j}from"./useStore12.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";const z={class:"p-[2rem] node-ssh-edit-form"},P=I({__name:"ssh-edit",props:{compData:{default:()=>({node_id:0,server_ip:"",ssh_conf:{},callback:()=>{}})}},setup(h,{expose:k}){const{setNodeSSHisSet:x,setNodeInfo:b,isRefreshNodeList:B,sshTerminalVisible:F}=j(),d=h,c=w(d.compData||{}),t=w(!1),{BtForm:H,submit:C}=U({data:()=>({node_id:c.value.node_id||"",port:22,password_type:0,pkey:"",pkey_passwd:"",test_case:1}),options:e=>E(()=>[g("端口","port",{attrs:{placeholder:"请输入 SSH 端口",class:"!w-[8rem]"},rules:[D()]}),R("认证方式","password_type",[{label:"密码",value:0},{label:"密钥",value:1}],{attrs:{onChange:s=>{}},rules:[{required:!0,message:"请选择认证方式",trigger:["blur","change"]}]}),e.value.password_type===1&&S("密钥",()=>o("div",{class:"flex items-end w-full"},[o(y,{modelValue:e.value.pkey,"onUpdate:modelValue":s=>e.value.pkey=s,type:"textarea",placeholder:"请输入 SSH 密钥",class:"!w-[320px]",rows:4},null),o(_,{class:"ml-[8px]",type:"default",loading:t.value,onClick:()=>i(e)},{default:()=>[f("测试连接")]})]),"pkey",{rules:[{required:!0,message:"SSH 密钥不能为空",trigger:["blur","change"]}]}),e.value.password_type===1&&g("密钥密码","pkey_passwd",{attrs:{type:"password","show-password":!0,placeholder:"请输入 SSH 密钥密码",class:"!w-[320px]"}}),e.value.password_type==0&&S("密码",()=>o("div",{class:"flex items-center w-full"},[o(y,{modelValue:e.value.password,"onUpdate:modelValue":s=>e.value.password=s,type:"password","show-password":!0,placeholder:"请输入密码",class:"!w-[320px]"},null),o(_,{class:"ml-[8px]",type:"default",loading:t.value,onClick:()=>i(e)},{default:()=>[f("测试连接")]})]),"password",{rules:[{required:!0,message:"密码不能为空",trigger:["blur","change"]}]})]),submit:async(e,s,m)=>{const r=n.load("正在保存中,请稍后...");try{await s();const a={...e.value},{port:l,password:u,pkey:N,pkey_passwd:V}=a;a.password_type==0?(a.pkey_passwd="",a.pkey=""):a.password="",delete a.password_type,a.test_case=0;const p=await v(a);return p.status?(b.value.ssh_conf={host:c.value.server_ip,port:Number(l),password:u,pkey:N,pkey_passwd:V,username:"root"},x.value=!0,B.value=!0,F.value=!1,n.success("SSH 信息保存成功")):n.error(p.msg||"保存失败"),p.status}catch(a){return!1}finally{r==null||r.close()}}}),i=async e=>{try{t.value=!0;const{node_id:s,port:m,password:r,pkey:a,pkey_passwd:l}=e.value,u={port:Number(m),password:r,pkey:a,pkey_passwd:l,node_id:s,test_case:1};await L({request:v(u),message:!0})}catch(s){}finally{t.value=!1}};return q(()=>{var e,s;(s=(e=d.compData).callback)==null||s.call(e)}),k({onConfirm:C}),(e,s)=>(A(),M("div",z,[o(T(H))]))}});export{P as default};