From 7f9bac0f94e7cf92ad652fc9422cf6337dfe76f8 Mon Sep 17 00:00:00 2001 From: hyx Date: Mon, 30 Mar 2020 22:15:05 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=8A=9F=E8=83=BD=20webs?= =?UTF-8?q?hell=E6=A8=A1=E5=9D=97=EF=BC=9A=E5=85=B3=E9=97=AD=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=AF=A2=E9=97=AE?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E7=AA=97=E5=8F=A3=E5=B9=B6=E6=8F=90=E4=BE=9B?= =?UTF-8?q?remember=E5=8A=9F=E8=83=BD=EF=BC=88=E9=80=89=E6=8B=A9yes?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=86=8D=E6=AC=A1=E5=85=B3=E9=97=AD=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E4=B8=8D=E5=86=8D=E6=8F=90=E7=A4=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nezha-fronted/src/components/cli/webSSH.vue | 46 ++++++++++++++++++- .../src/components/common/language/cn.js | 2 + .../src/components/common/language/en.js | 2 + 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/nezha-fronted/src/components/cli/webSSH.vue b/nezha-fronted/src/components/cli/webSSH.vue index 6376996ea..589ded398 100644 --- a/nezha-fronted/src/components/cli/webSSH.vue +++ b/nezha-fronted/src/components/cli/webSSH.vue @@ -135,6 +135,30 @@ + +
+
+
+
+
+
+

{{$t('webshell.closeTip')}}

+
+
+
+ +
+
@@ -153,6 +177,8 @@ return { consoleShow:false, isFullScreen:false, + closeConfirmShow:false, + closeRemember:false, initConsoleHeight:300,//只读,初始化高度 consoleHeight:300,//console高度 resizeConsoleHeight: 300, //resize后的高度,用于记录最大化、最小化前的高度 @@ -239,13 +265,30 @@ //可以做最小化的处理,点击窗口外的空白处会调用此方法 closeConsole(){ + //弹窗询问是否关闭所有链接,关闭窗口?复选框:记住我的选择(用户勾选且选择yes 后,保存到localstorage,之后关闭不再提醒) + //localStorage.getItem('nz-language') ? localStorage.getItem('nz-language') : 'en', //en/cn + //localStorage.setItem('nz-language', this.lang); + let remember = localStorage.getItem('close-shell-remember') ? localStorage.getItem('close-shell-remember') : false; + if(remember){ + this.closeShellWindow(); + }else { + this.closeConfirmShow = true; + } + }, + cancleConfirm(){ + this.closeConfirmShow = false; + }, + closeShellWindow(){ + if(this.closeRemember){// remember me + localStorage.setItem('close-shell-remember', this.closeRemember); + } //关闭所有连接 this.editableTabs.forEach((tab, index) => { this.$refs['console' + index][0].closeSocket(); }); this.editableTabs = []; this.editableTabsValue= '-1',//当前显示的consol - this.tabIndex = -1 + this.tabIndex = -1 this.consoleShow = false; this.isFullScreen = false; @@ -257,6 +300,7 @@ this.$store.commit('closeConsole'); window.removeEventListener('resize',this.windowChange); + this.closeConfirmShow = false; }, handleClick(){ diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index ed45dd116..3abe761bc 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -48,6 +48,8 @@ const cn = { fileSelect:'选择', downloadButtonTitle:'下载', filePath:'文件路径', + closeTip:'是否断开所有连接,关闭窗口?', + remember:'记住我的决定', }, pageSize: '条/页', login: { diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index fa33047db..655b71654 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -80,6 +80,8 @@ const en = { fileSelect:'select', downloadButtonTitle:'Download', filePath:'file path', + closeTip:'All connections will be closed, are you sure you want to close the window?', + remember:'Remember my decision' }, login: { username: 'Username',