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',