🔨 修改终端配置.
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import type {
|
||||
TerminalInteractSetting,
|
||||
TerminalPluginsSetting,
|
||||
TerminalPreference,
|
||||
TerminalRdpActionBarSetting,
|
||||
TerminalRdpGraphSetting,
|
||||
TerminalSessionSetting,
|
||||
TerminalRdpSessionSetting,
|
||||
TerminalShortcutSetting,
|
||||
TerminalSshActionBarSetting,
|
||||
TerminalSshDisplaySetting,
|
||||
TerminalSshInteractSetting,
|
||||
TerminalSshPluginsSetting,
|
||||
TerminalState
|
||||
} from './types';
|
||||
import type {
|
||||
@@ -40,24 +40,24 @@ import TerminalTransferManager from '@/views/terminal/service/transfer/terminal-
|
||||
export const TerminalPreferenceItem = {
|
||||
// 新建连接类型
|
||||
NEW_CONNECTION_TYPE: 'newConnectionType',
|
||||
// 终端主题
|
||||
THEME: 'theme',
|
||||
// ssh 主题
|
||||
SSH_THEME: 'sshTheme',
|
||||
// ssh 显示设置
|
||||
SSH_DISPLAY_SETTING: 'sshDisplaySetting',
|
||||
// rdp 图形化设置
|
||||
RDP_GRAPH_SETTING: 'rdpGraphSetting',
|
||||
// ssh 操作栏设置
|
||||
SSH_ACTION_BAR_SETTING: 'sshActionBarSetting',
|
||||
// ssh 右键菜单设置
|
||||
SSH_RIGHT_MENU_SETTING: 'sshRightMenuSetting',
|
||||
// ssh 交互设置
|
||||
SSH_INTERACT_SETTING: 'sshInteractSetting',
|
||||
// ssh 插件设置
|
||||
SSH_PLUGINS_SETTING: 'sshPluginsSetting',
|
||||
// rdp 图形化设置
|
||||
RDP_GRAPH_SETTING: 'rdpGraphSetting',
|
||||
// rdp 操作栏设置
|
||||
RDP_ACTION_BAR_SETTING: 'rdpActionBarSetting',
|
||||
// 右键菜单设置
|
||||
RIGHT_MENU_SETTING: 'rightMenuSetting',
|
||||
// 交互设置
|
||||
INTERACT_SETTING: 'interactSetting',
|
||||
// 插件设置
|
||||
PLUGINS_SETTING: 'pluginsSetting',
|
||||
// 会话设置
|
||||
SESSION_SETTING: 'sessionSetting',
|
||||
RDP_SESSION_SETTING: 'rdpSessionSetting',
|
||||
// 快捷键设置
|
||||
SHORTCUT_SETTING: 'shortcutSetting',
|
||||
};
|
||||
@@ -66,17 +66,17 @@ export default defineStore('terminal', {
|
||||
state: (): TerminalState => ({
|
||||
preference: {
|
||||
newConnectionType: 'group',
|
||||
theme: {
|
||||
sshTheme: {
|
||||
schema: {} as TerminalThemeSchema
|
||||
} as TerminalTheme,
|
||||
sshDisplaySetting: {} as TerminalSshDisplaySetting,
|
||||
rdpGraphSetting: {} as TerminalRdpGraphSetting,
|
||||
sshActionBarSetting: {} as TerminalSshActionBarSetting,
|
||||
sshRightMenuSetting: [],
|
||||
sshInteractSetting: {} as TerminalSshInteractSetting,
|
||||
sshPluginsSetting: {} as TerminalSshPluginsSetting,
|
||||
rdpGraphSetting: {} as TerminalRdpGraphSetting,
|
||||
rdpSessionSetting: {} as TerminalRdpSessionSetting,
|
||||
rdpActionBarSetting: {} as TerminalRdpActionBarSetting,
|
||||
rightMenuSetting: [],
|
||||
interactSetting: {} as TerminalInteractSetting,
|
||||
pluginsSetting: {} as TerminalPluginsSetting,
|
||||
sessionSetting: {} as TerminalSessionSetting,
|
||||
shortcutSetting: {
|
||||
enabled: false,
|
||||
keys: []
|
||||
@@ -100,11 +100,11 @@ export default defineStore('terminal', {
|
||||
// 加载偏好
|
||||
const { data } = await getPreference<TerminalPreference>('TERMINAL');
|
||||
// theme 不存在则默认加载第一个
|
||||
if (!data.theme?.name) {
|
||||
if (!data.sshTheme?.name) {
|
||||
const { data: themes } = await getTerminalThemes();
|
||||
data.theme = themes[0];
|
||||
data.sshTheme = themes[0];
|
||||
// 更新默认主题偏好
|
||||
await this.updateTerminalPreference(TerminalPreferenceItem.THEME, data.theme);
|
||||
await this.updateTerminalPreference(TerminalPreferenceItem.SSH_THEME, data.sshTheme);
|
||||
}
|
||||
// 移除禁用的快捷键
|
||||
if (data.shortcutSetting?.enabled) {
|
||||
|
||||
@@ -14,15 +14,15 @@ export interface TerminalState {
|
||||
// 终端配置
|
||||
export interface TerminalPreference {
|
||||
newConnectionType: string;
|
||||
theme: TerminalTheme;
|
||||
sshTheme: TerminalTheme;
|
||||
sshDisplaySetting: TerminalSshDisplaySetting;
|
||||
rdpGraphSetting: TerminalRdpGraphSetting;
|
||||
sshActionBarSetting: TerminalSshActionBarSetting;
|
||||
sshRightMenuSetting: Array<string>,
|
||||
sshInteractSetting: TerminalSshInteractSetting;
|
||||
sshPluginsSetting: TerminalSshPluginsSetting;
|
||||
rdpGraphSetting: TerminalRdpGraphSetting;
|
||||
rdpActionBarSetting: TerminalRdpActionBarSetting;
|
||||
rightMenuSetting: Array<string>,
|
||||
interactSetting: TerminalInteractSetting;
|
||||
pluginsSetting: TerminalPluginsSetting;
|
||||
sessionSetting: TerminalSessionSetting;
|
||||
rdpSessionSetting: TerminalRdpSessionSetting;
|
||||
shortcutSetting: TerminalShortcutSetting;
|
||||
}
|
||||
|
||||
@@ -38,13 +38,44 @@ export interface TerminalSshDisplaySetting {
|
||||
cursorBlink?: boolean;
|
||||
}
|
||||
|
||||
// SSH 操作栏设置
|
||||
export interface TerminalSshActionBarSetting {
|
||||
connectStatus?: boolean;
|
||||
share?: boolean;
|
||||
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
// SSH 插件设置
|
||||
export interface TerminalSshPluginsSetting {
|
||||
enableWeblinkPlugin: boolean;
|
||||
enableWebglPlugin: boolean;
|
||||
enableUnicodePlugin: boolean;
|
||||
enableImagePlugin: boolean;
|
||||
}
|
||||
|
||||
// SSH 交互设置
|
||||
export interface TerminalSshInteractSetting {
|
||||
fastScrollModifier: boolean;
|
||||
altClickMovesCursor: boolean;
|
||||
rightClickSelectsWord: boolean;
|
||||
selectionChangeCopy: boolean;
|
||||
copyAutoTrim: boolean;
|
||||
pasteAutoTrim: boolean;
|
||||
rightClickPaste: boolean;
|
||||
enableRightClickMenu: boolean;
|
||||
enableBell: boolean;
|
||||
wordSeparator: string;
|
||||
terminalEmulationType: string;
|
||||
scrollBackLine: number;
|
||||
}
|
||||
|
||||
// RDP 图形化设置
|
||||
export interface TerminalRdpGraphSetting {
|
||||
displaySize?: string;
|
||||
displayWidth?: number;
|
||||
displayHeight?: number;
|
||||
enableAudioInput?: boolean;
|
||||
enableAudioOutput?: boolean;
|
||||
|
||||
colorDepth?: number;
|
||||
forceLossless?: boolean;
|
||||
enableWallpaper?: boolean;
|
||||
@@ -56,13 +87,7 @@ export interface TerminalRdpGraphSetting {
|
||||
disableBitmapCaching?: boolean;
|
||||
disableOffscreenCaching?: boolean;
|
||||
disableGlyphCaching?: boolean;
|
||||
}
|
||||
|
||||
// SSH 操作栏设置
|
||||
export interface TerminalSshActionBarSetting {
|
||||
connectStatus?: boolean;
|
||||
|
||||
[key: string]: unknown;
|
||||
disableGfx?: boolean;
|
||||
}
|
||||
|
||||
// RDP 操作栏设置
|
||||
@@ -79,32 +104,11 @@ export interface TerminalRdpActionBarSetting {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
// 交互设置
|
||||
export interface TerminalInteractSetting {
|
||||
fastScrollModifier: boolean;
|
||||
altClickMovesCursor: boolean;
|
||||
rightClickSelectsWord: boolean;
|
||||
selectionChangeCopy: boolean;
|
||||
copyAutoTrim: boolean;
|
||||
pasteAutoTrim: boolean;
|
||||
rightClickPaste: boolean;
|
||||
enableRightClickMenu: boolean;
|
||||
enableBell: boolean;
|
||||
wordSeparator: string;
|
||||
}
|
||||
|
||||
// 插件设置
|
||||
export interface TerminalPluginsSetting {
|
||||
enableWeblinkPlugin: boolean;
|
||||
enableWebglPlugin: boolean;
|
||||
enableUnicodePlugin: boolean;
|
||||
enableImagePlugin: boolean;
|
||||
}
|
||||
|
||||
// 会话设置
|
||||
export interface TerminalSessionSetting {
|
||||
terminalEmulationType: string;
|
||||
scrollBackLine: number;
|
||||
// RDP 会话设置
|
||||
export interface TerminalRdpSessionSetting {
|
||||
enableAudioInput?: boolean;
|
||||
enableAudioOutput?: boolean;
|
||||
driveMountMode?: string;
|
||||
}
|
||||
|
||||
// 终端快捷键设置
|
||||
|
||||
Reference in New Issue
Block a user