From 4b25de3811639749349a3e9b1c08b815fdf55beb Mon Sep 17 00:00:00 2001 From: lijiahangmax Date: Mon, 7 Jul 2025 00:03:45 +0800 Subject: [PATCH] =?UTF-8?q?:hammer:=20=E6=B7=BB=E5=8A=A0=20vnc=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 5 + .../model/TerminalPreferenceModel.java | 106 ++++++++++++++++++ .../strategy/TerminalPreferenceStrategy.java | 42 +++++++ .../convert/TerminalSessionConvert.java | 4 + .../enums/TerminalConnectTypeEnum.java | 2 +- .../terminal/model/TerminalChannelExtra.java | 20 ++++ .../config/TerminalSessionVncConfig.java | 62 ++++++++++ 7 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 docs/README.md create mode 100644 orion-visor-modules/orion-visor-module-terminal/orion-visor-module-terminal-service/src/main/java/org/dromara/visor/module/terminal/handler/terminal/model/config/TerminalSessionVncConfig.java diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..279cf091 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,5 @@ +## 文档已迁移至网页端 + +* https://visor.dromara.org +* https://visor.dromara.org.cn +* https://visor.orionsec.cn diff --git a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/model/TerminalPreferenceModel.java b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/model/TerminalPreferenceModel.java index b57614ca..091402fb 100644 --- a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/model/TerminalPreferenceModel.java +++ b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/model/TerminalPreferenceModel.java @@ -95,6 +95,16 @@ public class TerminalPreferenceModel implements GenericsDataModel { */ private JSONObject rdpActionBarSetting; + /** + * vnc 图形化设置 + */ + private JSONObject vncGraphSetting; + + /** + * vnc 操作栏设置 + */ + private JSONObject vncActionBarSetting; + /** * 快捷键设置 */ @@ -297,6 +307,11 @@ public class TerminalPreferenceModel implements GenericsDataModel { */ private Integer scrollBackLine; + /** + * 替换退格符 + */ + private Boolean replaceBackspace; + } @Data @@ -481,6 +496,97 @@ public class TerminalPreferenceModel implements GenericsDataModel { } + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class VncGraphSettingModel implements IJsonObject { + + /** + * 显示大小 + */ + private String displaySize; + + /** + * 显示宽度 + */ + private Integer displayWidth; + + /** + * 显示高度 + */ + private Integer displayHeight; + + /** + * 颜色深度 + */ + private Integer colorDepth; + + /** + * 无损压缩 + */ + private Boolean forceLossless; + + /** + * 交换红蓝 + */ + private Boolean swapRedBlue; + + /** + * 光标 + */ + private String cursor; + + /** + * 质量等级 + */ + private Integer compressLevel; + + /** + * 压缩等级 + */ + private Integer qualityLevel; + + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class VncActionBarSettingModel implements IJsonObject { + + /** + * 位置 + */ + private String position; + + /** + * 显示设置 + */ + private Boolean display; + + /** + * 组合键 + */ + private Boolean combinationKey; + + /** + * 剪切板 + */ + private Boolean clipboard; + + /** + * 断开连接 + */ + private Boolean disconnect; + + /** + * 关闭 + */ + private Boolean close; + + } + @Data @Builder @NoArgsConstructor diff --git a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java index 68458b26..e757f7d7 100644 --- a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java +++ b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java @@ -68,6 +68,10 @@ public class TerminalPreferenceStrategy extends AbstractGenericsDataStrategy~!@#$%^&*|+=[]{}~?│") .terminalEmulationType(TerminalType.XTERM.getType()) .scrollBackLine(1000) + .replaceBackspace(false) .build() .toJsonString(); } @@ -226,6 +231,43 @@ public class TerminalPreferenceStrategy extends AbstractGenericsDataStrategy