From 0a1e92588c3292647f46609b92bde9d58bcc48c6 Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Tue, 30 Jul 2024 18:56:22 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=94=AF=E6=8C=81=E5=A4=9A?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E5=90=8C=E6=AD=A5=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/controller/host.js | 7 +- server/app/db/README.md | 4 +- server/app/socket/terminal.js | 2 +- web/src/views/server/components/host-form.vue | 3 +- .../terminal/components/terminal-tab.vue | 16 +- .../views/terminal/components/terminal.vue | 176 ++++++++++++------ web/src/views/terminal/index.vue | 16 +- 7 files changed, 155 insertions(+), 69 deletions(-) diff --git a/server/app/controller/host.js b/server/app/controller/host.js index 7971e1e..27389d5 100644 --- a/server/app/controller/host.js +++ b/server/app/controller/host.js @@ -6,8 +6,8 @@ async function getHostList({ res }) { data?.sort((a, b) => Number(b.index || 0) - Number(a.index || 0)) for (const item of data) { let { username, port, authType, _id: id, credential } = item + console.log('解密凭证title: ', credential) if (credential) credential = await AESDecryptSync(credential) - // console.log(credential) const isConfig = Boolean(username && port && (item[authType])) Object.assign(item, { id, isConfig, password: '', privateKey: '', credential }) } @@ -98,7 +98,8 @@ async function importHost({ // 过滤已存在的host let hostListSet = new Set(hostList.map(item => item.host)) let newHostList = importHost.filter(item => !hostListSet.has(item.host)) - if (newHostList.length === 0) return res.fail({ msg: '导入的实例已存在' }) + let newHostListLen = newHostList.length + if (newHostListLen === 0) return res.fail({ msg: '导入的实例已存在' }) let extraFiels = { expired: null, expiredNotify: false, group: 'default', consoleUrl: '', remark: '', @@ -106,7 +107,7 @@ async function importHost({ } newHostList = newHostList.map((item, index) => { item.port = Number(item.port) || 0 - item.index = hostList.length + index + 1 + item.index = newHostListLen - index return Object.assign(item, { ...extraFiels }) }) hostList.push(...newHostList) diff --git a/server/app/db/README.md b/server/app/db/README.md index 1272dc6..e844fa0 100644 --- a/server/app/db/README.md +++ b/server/app/db/README.md @@ -1,6 +1,6 @@ db目录,初始化后自动生成 -**host-list.db** +**host.db** > 存储服务器基本信息 @@ -8,7 +8,7 @@ db目录,初始化后自动生成 > 用于加密的密钥相关 -**ssh-record.db** +**credentials.db** > ssh密钥记录(加密存储) diff --git a/server/app/socket/terminal.js b/server/app/socket/terminal.js index adf6303..2621981 100644 --- a/server/app/socket/terminal.js +++ b/server/app/socket/terminal.js @@ -23,7 +23,7 @@ function createTerminal(socket, sshClient) { // 监听按键重置终端大小 socket.on('resize', ({ rows, cols }) => { - consola.info('更改tty终端行&列: ', { rows, cols }) + // consola.info('更改tty终端行&列: ', { rows, cols }) stream.setWindow(rows, cols) }) }) diff --git a/web/src/views/server/components/host-form.vue b/web/src/views/server/components/host-form.vue index a03656d..982bb60 100644 --- a/web/src/views/server/components/host-form.vue +++ b/web/src/views/server/components/host-form.vue @@ -362,7 +362,8 @@ const handleSave = () => { $message({ type: 'success', center: true, message: msg }) } visible.value = false - emit('update-list') + const { host, username, port, authType } = formData + emit('update-list', { isConfig: Boolean(username && port && (formData[authType])), host }) Object.assign(hostForm, resetForm()) }) } diff --git a/web/src/views/terminal/components/terminal-tab.vue b/web/src/views/terminal/components/terminal-tab.vue index a64d503..39d4db5 100644 --- a/web/src/views/terminal/components/terminal-tab.vue +++ b/web/src/views/terminal/components/terminal-tab.vue @@ -3,7 +3,7 @@