diff --git a/docker/orion-ops/nginx.conf b/docker/orion-ops/nginx.conf
index bc7ea797..bbe475a0 100644
--- a/docker/orion-ops/nginx.conf
+++ b/docker/orion-ops/nginx.conf
@@ -1,6 +1,6 @@
server {
listen 80;
- server_name __;
+ server_name localhost;
# 是否启动 gzip 压缩
gzip on;
diff --git a/orion-ops-service/src/main/java/com/orion/ops/constant/terminal/TerminalOperate.java b/orion-ops-service/src/main/java/com/orion/ops/constant/terminal/TerminalOperate.java
index e4c70b43..e49f6d57 100644
--- a/orion-ops-service/src/main/java/com/orion/ops/constant/terminal/TerminalOperate.java
+++ b/orion-ops-service/src/main/java/com/orion/ops/constant/terminal/TerminalOperate.java
@@ -39,10 +39,15 @@ public enum TerminalOperate {
*/
COMMAND("4", true),
+ /**
+ * ctrl + e
+ */
+ NOP("5", false),
+
/**
* 关闭连接
*/
- DISCONNECT("5", false),
+ DISCONNECT("6", false),
;
diff --git a/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/TerminalOperateHandler.java b/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/TerminalOperateHandler.java
index 6ffbbce0..74e0e478 100644
--- a/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/TerminalOperateHandler.java
+++ b/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/TerminalOperateHandler.java
@@ -251,6 +251,8 @@ public class TerminalOperateHandler implements IOperateHandler {
case COMMAND:
executor.write(Strings.bytes(body));
executor.write(new byte[]{Letters.LF});
+ case NOP:
+ executor.write(new byte[]{5, 10});
return;
case DISCONNECT:
WebSockets.close(session, WsCloseCode.DISCONNECT);
diff --git a/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/watcher/TerminalWatcherHandler.java b/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/watcher/TerminalWatcherHandler.java
index 1d8574c7..fab70e4f 100644
--- a/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/watcher/TerminalWatcherHandler.java
+++ b/orion-ops-service/src/main/java/com/orion/ops/handler/terminal/watcher/TerminalWatcherHandler.java
@@ -65,7 +65,7 @@ public class TerminalWatcherHandler implements WebSocketHandler {
this.auth(session, body);
return;
}
- if (operate != TerminalOperate.KEY) {
+ if (operate != TerminalOperate.KEY || operate != TerminalOperate.NOP) {
return;
}
// 检查连接
diff --git a/orion-ops-vue/src/components/terminal/TerminalMain.vue b/orion-ops-vue/src/components/terminal/TerminalMain.vue
index fd5069d3..8a6dc19f 100644
--- a/orion-ops-vue/src/components/terminal/TerminalMain.vue
+++ b/orion-ops-vue/src/components/terminal/TerminalMain.vue
@@ -307,11 +307,11 @@ export default {
// 注册自定义按键
this.term.attachCustomKeyEventHandler((ev) => {
// 注册全选键 ctrl + a
- if (ev.keyCode === 65 && ev.ctrlKey && ev.type === 'keydown') {
- setTimeout(() => {
- this.term.selectAll()
- }, 10)
- }
+ // if (ev.keyCode === 65 && ev.ctrlKey && ev.type === 'keydown') {
+ // setTimeout(() => {
+ // this.term.selectAll()
+ // }, 10)
+ // }
// 注册搜索键 ctrl + shift + f
if (ev.keyCode === 70 && ev.ctrlKey && ev.shiftKey && ev.type === 'keydown') {
this.$refs.search.open()
diff --git a/orion-ops-vue/src/components/terminal/TerminalWatcherModal.vue b/orion-ops-vue/src/components/terminal/TerminalWatcherModal.vue
new file mode 100644
index 00000000..77eab697
--- /dev/null
+++ b/orion-ops-vue/src/components/terminal/TerminalWatcherModal.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orion-ops-vue/src/lib/api.js b/orion-ops-vue/src/lib/api.js
index abca166c..e23ac16f 100644
--- a/orion-ops-vue/src/lib/api.js
+++ b/orion-ops-vue/src/lib/api.js
@@ -12,6 +12,13 @@ const $ws = {
return `ws://${window.location.host}/orion/keep-alive/machine/terminal/${param.token}`
},
+ /**
+ * 机器终端监视
+ */
+ terminalWatcher: param => {
+ return `ws://${window.location.host}/orion/keep-alive/watcher/terminal/${param.token}`
+ },
+
/**
* sftp传输列表
*/
@@ -305,6 +312,15 @@ const $api = {
})
},
+ /**
+ * 获取终端监视token
+ */
+ getTerminalWatcherToken: param => {
+ return $http.$post('/terminal/manager/watcher', param, {
+ loading: '正在建立连接...'
+ })
+ },
+
/**
* sftp 打开连接
*/
diff --git a/orion-ops-vue/src/lib/enum.js b/orion-ops-vue/src/lib/enum.js
index bbd5101d..c31c5639 100644
--- a/orion-ops-vue/src/lib/enum.js
+++ b/orion-ops-vue/src/lib/enum.js
@@ -30,8 +30,11 @@ export const TERMINAL_OPERATOR = {
COMMAND: {
value: '4'
},
- DISCONNECT: {
+ NOP: {
value: '5'
+ },
+ DISCONNECT: {
+ value: '6'
}
}
@@ -67,20 +70,16 @@ export const TERMINAL_STATUS = {
*/
export const WS_PROTOCOL = {
OK: {
- value: '0',
- label: 'ok'
+ value: '0'
},
CONNECTED: {
- value: '1',
- label: 'connected'
+ value: '1'
},
PONG: {
- value: '2',
- label: 'pong'
+ value: '2'
},
ERROR: {
- value: '3',
- label: 'error'
+ value: '3'
}
}
diff --git a/orion-ops-vue/src/views/machine/MachineTerminalSession.vue b/orion-ops-vue/src/views/machine/MachineTerminalSession.vue
index 73c497b7..bcb470d4 100644
--- a/orion-ops-vue/src/views/machine/MachineTerminalSession.vue
+++ b/orion-ops-vue/src/views/machine/MachineTerminalSession.vue
@@ -45,22 +45,25 @@
- 下载
- 获取操作日志
+
+ 监视
+
下线
+
+