Files
yakpanel-core/YakPanel/static/vite/js/terminal-CFfBeKvv.js
2026-04-07 02:04:22 +05:30

3 lines
6.2 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/form-C_8yDwjk.js?v=1773287522785","js/index.vue_vue_type_script_setup_true_lang-D8O2mMsP.js?v=1773287522785","js/vue-core-DJjvd5ZC.js?v=1773287522785","js/prismjs-BZPoR7_J.js?v=1773287522785","css/prismjs-D-3FhBe_.css?v=1773287522785","js/naive-ui--dJnpVcV.js?v=1773287522785","js/index-BTglIPU2.js?v=1773287522785","css/index-DEM1fxGq.css?v=1773287522785","js/useLoading-CZ2gSAW7.js?v=1773287522785","js/xterm-dpUsuiNl.js?v=1773287522785","css/xterm-Vgv5f8wO.css?v=1773287522785","js/useSocket-DTHwGZgK.js?v=1773287522785","js/data-BVsViUMm.js?v=1773287522785","js/xterm-addon-canvas-DELv9KNm.js?v=1773287522785"])))=>i.map(i=>d[i]);
import{x as W,a as X,b as Y,c as y}from"./xterm-dpUsuiNl.js?v=1773287522785";import{a4 as ee,r,a3 as te,k as se,R as oe,O as ne,a6 as ae,w as S,o as re,b as ie,$ as ce,Z as de,n as z}from"./vue-core-DJjvd5ZC.js?v=1773287522785";import{as as i,a3 as B,p as le,P as ue,n as me,bq as fe,b1 as pe,c as ve}from"./index-BTglIPU2.js?v=1773287522785";import{u as _e}from"./useSocket-DTHwGZgK.js?v=1773287522785";import{x as he}from"./xterm-addon-canvas-DELv9KNm.js?v=1773287522785";import{u as xe}from"./useLoading-CZ2gSAW7.js?v=1773287522785";const ge=ee("terminal",()=>{const e=r(!0),c=r(!1),m=r(!1),d=u=>{m.value=u},g=r(),s=r(""),f=r(!0);return{isShow:e,isFull:c,isRefresh:m,server:g,command:s,isRunCmd:f,setRefresh:d,setCommand:(u,C=!0)=>{s.value=u,f.value=C}}}),{t:x}=B.global,Ae=()=>i.post("/xterm?action=get_host_list"),Ie=e=>i.post("/xterm?action=create_host",e,{requestOptions:{loading:x("Security.Api.Index_4"),successMessage:!0}}),qe=e=>i.post("/xterm?action=get_host_find",e),De=e=>i.post("/xterm?action=remove_host",e,{requestOptions:{loading:x("Security.Api.Index_3"),successMessage:!0}}),Fe=()=>i.post("/xterm?action=get_command_list"),Pe=e=>i.post("/xterm?action=create_command",e,{requestOptions:{loading:x("Security.Api.Index_4"),successMessage:!0}}),ze=e=>i.post("/xterm?action=modify_command",e,{requestOptions:{loading:x("Crontab.Api.index_5"),successMessage:!0}}),Be=e=>i.post("/xterm?action=remove_command",e,{requestOptions:{loading:x("Security.Api.Index_3"),successMessage:!0}}),$e=e=>i.post("/xterm?action=test_ssh_connect",e,{requestOptions:{loading:x("Login.index_22"),successMessage:!0}}),{t:$}=B.global,Te=e=>{le({title:e.title,width:600,footer:!0,data:e.data,component:te(()=>ue(()=>import("./form-C_8yDwjk.js?v=1773287522785"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])))})},{loading:He}=xe(),H=r([]),Se=async()=>{const{message:e}=await Ae();me(e)&&(H.value=e)},E=r("aaaaaaaaa"),w=r([{id:"aaaaaaaaa",host:"127.0.0.1",port:22,ps:$("Database.form.index_12"),state:!1}]),N=e=>{E.value=e},we=e=>{const c=fe(9,"letter");w.value.push({id:c,host:e.host,port:e.port,ps:e.ps,state:!1}),setTimeout(()=>{N(c)},20)},Ce=(e,c)=>{const m=w.value.find(d=>d.id===e);m&&(m.state=c)},be=()=>{w.value=[{id:"aaaaaaaaa",host:"127.0.0.1",port:22,ps:$("Database.form.index_12"),state:!1}],E.value="aaaaaaaaa"},Ne=()=>({activeTerminalId:E,terminals:w,setActiveTerminal:N,onServerList:we,onUpdateState:Ce,resetTerminals:be}),ke=se({__name:"terminal",props:{data:{},active:{type:Boolean}},emits:["updateState","connectSuccess"],setup(e,{expose:c,emit:m}){const{t:d}=oe(),g=e,{data:s}=g,{active:f}=ne(g),l=m,u=ge(),{isFull:C}=ae(u),{ws:A,status:R,send:p,open:L,close:M}=_e("/webssh",{get verifyData(){return{host:s.host,port:s.port,id:s.id,ps:s.ps,sort:0}},onMessage:(t,n)=>{const a=n.data;if(a.indexOf("Authentication timeout.")>-1)b.value=!0;else if((a.indexOf("127.0.0.1:")!==-1||a.indexOf("localhost:")!==-1)&&(a.indexOf("Password or private key cannot both be empty")!==-1||a.indexOf("Account or Password incorrect: Authentication failed")!==-1)){l("updateState",s.id,!1),M(),I(),U();return}else if(a=="\\r\\nlogout\\r\\n"||a=="logout\\r\\n"||a=="\r\nlogout\r\n"||a=="logout\r\n"||a.search(/logout[\r\n]+$/)>-1){l("updateState",s.id,!1),o.write("\r"+d("Component.Terminal.index_1")+"\r"),I(),M();return}l("connectSuccess",a)}}),U=()=>{Te({title:d("Term.index_22"),data:{isEdit:!0,tips:!0,localhost:!0,onRefresh:()=>{s.host.includes("127.0.0.1")&&!s.host.includes("_22")&&(s.host=s.host.replace("127.0.0.1","127.0.0.1_22")),O()}}})};let o,v;const b=r(!1),_=r(null),V=()=>{o=new W.Terminal({cursorBlink:!0,fontSize:14,fontFamily:"Monaco, Menlo, Consolas, 'Courier New', monospace",theme:{background:"#333",foreground:"#ececec"}}),v=new X.FitAddon,Z(),j(),D(),F()};let h=null;const Z=()=>{const t=A.value;t&&(o.loadAddon(v),o.loadAddon(new he.CanvasAddon),o.loadAddon(new Y.WebLinksAddon),h=new y.AttachAddon(t),o.loadAddon(h),setTimeout(()=>{v.fit();const n=_.value;n&&(q.value="".concat(n.clientHeight,"px"))},100))};S([A,R],([t,n])=>{if(n==="CLOSED"&&t){l("updateState",s.id,!1),o.write("\r\n"+d("Component.Terminal.index_2")+"\r\n"),setTimeout(()=>{L(),l("updateState",s.id,!0)},500);return}n==="OPEN"&&t&&(h&&h.dispose(),h=new y.AttachAddon(t),o.loadAddon(h),setTimeout(()=>{v.fit();const{cols:a,rows:Q}=o;p({cols:a,rows:Q,resize:1})},100))},{immediate:!1});const j=()=>{_.value&&o.open(_.value)};let k=!1;const G=()=>{k=!0},I=()=>{k=!1},q=r(""),D=()=>{o.focus(),o.onData(t=>{const n=A.value;t==="\r"&&b.value&&(b.value=!1,o.write("\r\n"),O()),n===void 0&&t==="\r"&&!k&&(G(),o.write("\r\n"+d("Component.Terminal.index_2")+"\r\n"),O())})},O=()=>{L(),D();const t=A.value;t&&(o.loadAddon(new y.AttachAddon(t)),l("updateState",s.id,!0))},F=()=>{z(()=>{if(v.fit(),R.value!=="CLOSED"){l("updateState",s.id,!0);const{cols:t,rows:n}=o;p({cols:t,rows:n,resize:1})}})};S(()=>C.value,t=>{const n=_.value;n&&!t&&(n.style.height=q.value)}),S(()=>u.command,t=>{t&&f.value&&(u.isRunCmd?(p("\v"),p(t+"\n")):p(t),u.setCommand(""))}),S(()=>f.value,t=>{t&&z(()=>{v.fit()})});let P=!0;const T=new ResizeObserver(()=>{f.value&&pe(()=>{if(P){P=!1;return}F()},200)()}),J=()=>{const t=_.value;t&&T.observe(t)};c({send:p});const K=async()=>{await Se(),H.value.some(t=>t.host==="127.0.0.1_22")&&s.host==="127.0.0.1"&&(s.host="127.0.0.1_22")};return re(async()=>{await K(),V(),J()}),ie(()=>{T==null||T.disconnect()}),(t,n)=>(ce(),de("div",{ref_key:"terminalRef",ref:_,class:"w-full box"},null,512))}}),Ue=ve(ke,[["__scopeId","data-v-bf60b128"]]);export{Ue as T,Pe as a,Be as b,Fe as c,De as d,ze as e,Ne as f,Se as g,Ie as h,qe as i,He as l,Te as o,H as s,$e as t,ge as u};