refactor: 连接终端前端重构.

This commit is contained in:
lijiahang
2024-01-05 19:49:48 +08:00
parent 1174daa09b
commit 98b014bb40
15 changed files with 503 additions and 64 deletions

View File

@@ -4,7 +4,8 @@ import { getPreference, updatePreference } from '@/api/user/preference';
import { Message } from '@arco-design/web-vue';
import { useDark } from '@vueuse/core';
import { DEFAULT_SCHEMA } from '@/views/host/terminal/types/terminal.theme';
import TerminalDispatcher from '@/views/host/terminal/handler/TerminalDispatcher';
import TerminalDispatcher from '@/views/host/terminal/handler/terminal-dispatcher';
import TerminalTabManager from '@/views/host/terminal/handler/terminal-tab-manager';
// 暗色主题
export const DarkTheme = {
@@ -29,6 +30,7 @@ export default defineStore('terminal', {
displaySetting: {} as TerminalDisplaySetting,
themeSchema: {} as TerminalThemeSchema
},
tabs: new TerminalTabManager(),
dispatcher: new TerminalDispatcher()
}),

View File

@@ -4,6 +4,7 @@ import { Terminal } from 'xterm';
export interface TerminalState {
isDarkTheme: Ref<boolean>;
preference: TerminalPreference;
tabs: ITerminalTabManager;
dispatcher: ITerminalDispatcher;
}
@@ -66,11 +67,11 @@ export interface TerminalTabItem {
[key: string]: unknown;
}
// 终端调度器
export interface ITerminalDispatcher {
// 当前活跃 tab
// 终端 tab 管理器定义
export interface ITerminalTabManager {
// 当前 tab
active: string;
// 所有 tab
// 全部 tab
items: Array<TerminalTabItem>;
// 点击 tab
@@ -79,6 +80,12 @@ export interface ITerminalDispatcher {
deleteTab: (key: string) => void;
// 打开 tab
openTab: (tab: TerminalTabItem) => void;
// 清空
clear: () => void;
}
// 终端调度器
export interface ITerminalDispatcher {
// 打开终端
openTerminal: (record: any) => void;
// 注册终端处理器