diff --git a/docker-compose-testing.yml b/docker-compose-testing.yml
index 8f04b4fd..1d189c97 100644
--- a/docker-compose-testing.yml
+++ b/docker-compose-testing.yml
@@ -5,7 +5,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:latest
privileged: true
ports:
- - 9200:9200
+ - "9200:9200"
environment:
SPRING_PROFILES_ACTIVE: prod
MYSQL_HOST: mysql
@@ -37,7 +37,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:latest
privileged: true
ports:
- - 3307:3306
+ - "3307:3306"
environment:
MYSQL_DATABASE: orion_visor
MYSQL_USER: orion
@@ -59,7 +59,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest
privileged: true
ports:
- - 6380:6379
+ - "6380:6379"
environment:
REDIS_PASSWORD: Data@123456
volumes:
diff --git a/docker-compose.yml b/docker-compose.yml
index 1b731345..425cc70f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.3'
-# latest = 2.4.2
+# latest = 2.4.3
# 支持以下源
# lijiahangmax/*
@@ -23,7 +23,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:latest
privileged: true
ports:
- - 9200:9200
+ - "9200:9200"
environment:
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-prod}
MYSQL_HOST: ${MYSQL_HOST:-mysql}
@@ -61,7 +61,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:latest
privileged: true
ports:
- - 3307:3306
+ - "3307:3306"
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE:-orion_visor}
MYSQL_USER: ${MYSQL_USER:-orion}
@@ -84,7 +84,7 @@ services:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest
privileged: true
ports:
- - 6380:6379
+ - "6380:6379"
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD:-Data@123456}
volumes:
@@ -103,7 +103,7 @@ services:
guacd:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-guacd:latest
ports:
- - 4822:4822
+ - "4822:4822"
environment:
GUACD_LOG_LEVEL: info
GUACD_LOG_FILE: /var/log/guacd.log
@@ -125,7 +125,7 @@ services:
adminer:
image: registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest
ports:
- - 8081:8080
+ - "8081:8080"
environment:
ADMINER_DEFAULT_SERVER: ${MYSQL_HOST:-mysql}
depends_on:
diff --git a/docker/docker-build.sh b/docker/docker-build.sh
index 9c6b8e66..9125b84a 100644
--- a/docker/docker-build.sh
+++ b/docker/docker-build.sh
@@ -7,7 +7,7 @@ set -e
source ./project-build.sh "$@"
# 版本号
-version=2.4.2
+version=2.4.3
# 是否推送镜像
push_image=false
# 是否构建 latest
diff --git a/docker/project-build.sh b/docker/project-build.sh
index 7a94559f..c944f22c 100644
--- a/docker/project-build.sh
+++ b/docker/project-build.sh
@@ -4,7 +4,7 @@ set -e
# DockerContext: orion-visor
# 版本号
-version=2.4.2
+version=2.4.3
# 是否构建 service
export build_service=false
# 是否构建 ui
diff --git a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java
index 56fab02a..31ecc24f 100644
--- a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java
+++ b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java
@@ -36,7 +36,7 @@ public interface AppConst extends OrionConst {
/**
* 同 ${orion.version} 迭代时候需要手动更改
*/
- String VERSION = "2.4.2";
+ String VERSION = "2.4.3";
/**
* 同 ${spring.application.name}
diff --git a/orion-visor-dependencies/pom.xml b/orion-visor-dependencies/pom.xml
index 72642b7d..08190e0d 100644
--- a/orion-visor-dependencies/pom.xml
+++ b/orion-visor-dependencies/pom.xml
@@ -14,7 +14,7 @@
https://github.com/dromara/orion-visor
- 2.4.2
+ 2.4.3
2.7.17
2.7.15
1.5.0
diff --git a/orion-visor-launch/src/main/resources/application-dev.yaml b/orion-visor-launch/src/main/resources/application-dev.yaml
index 2c59d903..09ff44f0 100644
--- a/orion-visor-launch/src/main/resources/application-dev.yaml
+++ b/orion-visor-launch/src/main/resources/application-dev.yaml
@@ -13,7 +13,7 @@ spring:
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:Data@123456}
- database: ${REDIS_DATABASE:10}
+ database: ${REDIS_DATABASE:1}
data-version: ${REDIS_DATA_VERSION:1}
mock: false
redisson:
diff --git a/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java b/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java
index d4b056fd..93d05ef7 100644
--- a/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java
+++ b/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java
@@ -39,9 +39,9 @@ import java.util.function.Function;
*/
public class ReplaceVersion {
- private static final String TARGET_VERSION = "2.4.1";
+ private static final String TARGET_VERSION = "2.4.2";
- private static final String REPLACE_VERSION = "2.4.2";
+ private static final String REPLACE_VERSION = "2.4.3";
private static final String PATH = new File("").getAbsolutePath();
diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/HostVncConfigStrategy.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/HostVncConfigStrategy.java
index 290e64f0..b8ed7887 100644
--- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/HostVncConfigStrategy.java
+++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/HostVncConfigStrategy.java
@@ -62,6 +62,7 @@ public class HostVncConfigStrategy extends AbstractHostConfigStrategy div) {
+ & > div {
position: relative;
z-index: 8;
}
@@ -647,7 +647,7 @@ body[terminal-theme='dark'] .arco-modal-container {
display: flex;
align-items: center;
justify-content: center;
- z-index: 9999;
+ z-index: 30;
}
// guacd 工具栏
diff --git a/orion-visor-ui/src/utils/index.ts b/orion-visor-ui/src/utils/index.ts
index 7fa30497..7b376dfd 100644
--- a/orion-visor-ui/src/utils/index.ts
+++ b/orion-visor-ui/src/utils/index.ts
@@ -96,12 +96,10 @@ export function formatSecond(second: number, p = 'HH:mm') {
/**
* 格式化持续时间
- * @param start
- * @param end
*/
-export function formatDuration(start: number, end?: number): string {
+export function formatDuration(start: number, end?: number, none: string = ''): string {
if (!end) {
- return '';
+ return none;
}
const duration = (end - start) / 1000;
if (duration < 1) {
diff --git a/orion-visor-ui/src/views/asset-audit/terminal-connect-log/types/table.columns.ts b/orion-visor-ui/src/views/asset-audit/terminal-connect-log/types/table.columns.ts
index 80bc928c..5f953e0c 100644
--- a/orion-visor-ui/src/views/asset-audit/terminal-connect-log/types/table.columns.ts
+++ b/orion-visor-ui/src/views/asset-audit/terminal-connect-log/types/table.columns.ts
@@ -1,4 +1,5 @@
import type { TableColumnData } from '@arco-design/web-vue';
+import { formatDuration } from '@/utils';
export const logColumns = [
{
@@ -46,6 +47,16 @@ export const logColumns = [
align: 'left',
ellipsis: true,
default: true,
+ }, {
+ title: '持续时间',
+ dataIndex: 'duration',
+ slotName: 'duration',
+ align: 'left',
+ width: 142,
+ render: ({ record }) => {
+ return formatDuration(record.startTime, record.endTime, '-');
+ },
+ default: true,
}, {
title: '连接时间',
dataIndex: 'connectTime',
diff --git a/orion-visor-ui/src/views/terminal/components/view/guacd/actions/clipboard-action.vue b/orion-visor-ui/src/views/terminal/components/view/guacd/actions/clipboard-action.vue
index 884875e3..7b8a41c0 100644
--- a/orion-visor-ui/src/views/terminal/components/view/guacd/actions/clipboard-action.vue
+++ b/orion-visor-ui/src/views/terminal/components/view/guacd/actions/clipboard-action.vue
@@ -11,10 +11,18 @@
+ @click="sendClipboardData(false)">
发送
+
+ 粘贴
+
@@ -38,8 +46,8 @@
const clipboardData = ref('');
// 发送剪切板数据
- const sendClipboardData = () => {
- props.session.paste(clipboardData.value);
+ const sendClipboardData = (sendPaste: boolean) => {
+ props.session.paste(clipboardData.value, sendPaste);
emits('close');
};
diff --git a/orion-visor-ui/src/views/terminal/interfaces/session.ts b/orion-visor-ui/src/views/terminal/interfaces/session.ts
index 0a3fefb2..1d13bdc0 100644
--- a/orion-visor-ui/src/views/terminal/interfaces/session.ts
+++ b/orion-visor-ui/src/views/terminal/interfaces/session.ts
@@ -176,7 +176,7 @@ export interface IGuacdSession extends ITerminalSession) => void;
// 粘贴
- paste: (data: string) => void;
+ paste: (data: string, sendPaste: boolean) => void;
}
// RDP 会话定义
diff --git a/orion-visor-ui/src/views/terminal/service/session/base-guacd-session.ts b/orion-visor-ui/src/views/terminal/service/session/base-guacd-session.ts
index 67214e3f..d67014f6 100644
--- a/orion-visor-ui/src/views/terminal/service/session/base-guacd-session.ts
+++ b/orion-visor-ui/src/views/terminal/service/session/base-guacd-session.ts
@@ -141,16 +141,18 @@ export default abstract class BaseGuacdSession extends BaseSession {
- this.sendKeys([65507, 118]);
- }, 100);
+ if (sendPaste) {
+ setTimeout(() => {
+ this.sendKeys([65507, 118]);
+ }, 100);
+ }
}
// 聚焦
diff --git a/pom.xml b/pom.xml
index a97a3ece..fe8eacc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
- 2.4.2
+ 2.4.3
8
8
3.0.0-M5