diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java index f057e517..1cca5517 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TerminalPreferenceModel.java @@ -24,15 +24,18 @@ public class TerminalPreferenceModel implements PreferenceModel { @Schema(description = "新建连接类型") private String newConnectionType; + @Schema(description = "终端主题") + private JSONObject theme; + @Schema(description = "显示设置") private JSONObject displaySetting; + @Schema(description = "操作栏设置") + private JSONObject actionBarSetting; + @Schema(description = "背景设置") private JSONObject backgroundSetting; - @Schema(description = "终端主题") - private JSONObject theme; - @Data @Builder @NoArgsConstructor diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java index bd06c406..3fb3f0bf 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TerminalPreferenceStrategy.java @@ -16,21 +16,24 @@ public class TerminalPreferenceStrategy implements IPreferenceStrategy ({ preference: { newConnectionType: 'group', + theme: {} as TerminalTheme, displaySetting: {} as TerminalDisplaySetting, - theme: {} as TerminalTheme + actionBarSetting: {} as TerminalActionBarSetting, }, tabManager: new TerminalTabManager(), sessionManager: new TerminalSessionManager() diff --git a/orion-ops-ui/src/store/modules/terminal/types.ts b/orion-ops-ui/src/store/modules/terminal/types.ts index 3921ded8..46a5b6c8 100644 --- a/orion-ops-ui/src/store/modules/terminal/types.ts +++ b/orion-ops-ui/src/store/modules/terminal/types.ts @@ -10,8 +10,9 @@ export interface TerminalState { // 终端配置 export interface TerminalPreference { newConnectionType: string; - displaySetting: TerminalDisplaySetting; theme: TerminalTheme; + displaySetting: TerminalDisplaySetting; + actionBarSetting: TerminalActionBarSetting; } // 显示设置 @@ -25,3 +26,11 @@ export interface TerminalDisplaySetting { cursorBlink?: boolean; } +// 操作栏设置 +export interface TerminalActionBarSetting { + commandInput?: boolean; + connectStatus?: boolean; + + [key: string]: unknown; +} + diff --git a/orion-ops-ui/src/views/host/terminal/assets/styles/layout.less b/orion-ops-ui/src/views/host/terminal/assets/styles/layout.less index 0465a021..3d5a3442 100644 --- a/orion-ops-ui/src/views/host/terminal/assets/styles/layout.less +++ b/orion-ops-ui/src/views/host/terminal/assets/styles/layout.less @@ -192,11 +192,14 @@ body[terminal-theme='dark'] .arco-modal-container { background: var(--color-sidebar-icon-bg); } + &.checked-item { + background: var(--color-sidebar-icon-bg); + } + &.disabled-item { cursor: not-allowed; } } - } // 终端设置容器 @@ -239,6 +242,14 @@ body[terminal-theme='dark'] .arco-modal-container { .terminal-setting-body { display: flex; + + &.block-body { + display: flex; + width: 100%; + padding: 16px; + border: 1px solid var(--color-fill-4); + border-radius: 4px; + } } } diff --git a/orion-ops-ui/src/views/host/terminal/components/layout/icon-actions.vue b/orion-ops-ui/src/views/host/terminal/components/layout/icon-actions.vue index 52fd86c0..2491ba4b 100644 --- a/orion-ops-ui/src/views/host/terminal/components/layout/icon-actions.vue +++ b/orion-ops-ui/src/views/host/terminal/components/layout/icon-actions.vue @@ -9,7 +9,11 @@ :content="action.content">
diff --git a/orion-ops-ui/src/views/host/terminal/components/layout/terminal-header.vue b/orion-ops-ui/src/views/host/terminal/components/layout/terminal-header.vue index 01eef997..4887f976 100644 --- a/orion-ops-ui/src/views/host/terminal/components/layout/terminal-header.vue +++ b/orion-ops-ui/src/views/host/terminal/components/layout/terminal-header.vue @@ -85,12 +85,13 @@ } &-logo-text { - height: var(--header-height); margin: 0; display: flex; align-items: center; padding: 0 8px; font-size: 16px; + overflow: hidden; + white-space: nowrap; } &-tabs { diff --git a/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-action-bar-block.vue b/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-action-bar-block.vue new file mode 100644 index 00000000..a50e8c4c --- /dev/null +++ b/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-action-bar-block.vue @@ -0,0 +1,120 @@ + + + + + + + diff --git a/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-display-block.vue b/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-display-block.vue index 41b8bf49..4f997f28 100644 --- a/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-display-block.vue +++ b/orion-ops-ui/src/views/host/terminal/components/view-setting/terminal-display-block.vue @@ -3,78 +3,80 @@

- 显示设置 + 显示偏好

+ + 修改后会立刻保存, 重新打开终端后生效 (无需刷新页面) -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
预览效果 @@ -90,7 +92,7 @@ @@ -109,15 +111,6 @@ const previewTerminal = ref(); const formModel = ref({ ...preference.displaySetting }); - // 监听主题变化 动态修改预览样式 - watch(() => preference.theme, (v) => { - if (!v) { - return; - } - const options = previewTerminal.value?.term?.options; - options && (options.theme = v); - }); - // 监听内容变化 watch(formModel, (v) => { if (!v) { @@ -136,7 +129,7 @@ } }); // 同步 - updateTerminalPreference(PreferenceItem.DISPLAY_SETTING, formModel.value); + updateTerminalPreference(PreferenceItem.DISPLAY_SETTING, formModel.value, true); // 聚焦 previewTerminal.value.term.focus(); }, { deep: true }); @@ -146,13 +139,8 @@