feat: 修改终端配置.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { TerminalPreference, TerminalState, TerminalTheme } from './types';
|
||||
import type { TerminalDisplaySetting, TerminalPreference, TerminalState, TerminalThemeSchema } from './types';
|
||||
import { defineStore } from 'pinia';
|
||||
import { getPreference, updatePreferencePartial } from '@/api/user/preference';
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
@@ -24,8 +24,9 @@ export default defineStore('terminal', {
|
||||
}),
|
||||
preference: {
|
||||
darkTheme: 'auto',
|
||||
terminalTheme: {} as TerminalTheme,
|
||||
}
|
||||
themeSchema: {} as TerminalThemeSchema,
|
||||
displaySetting: {} as TerminalDisplaySetting
|
||||
},
|
||||
}),
|
||||
|
||||
actions: {
|
||||
@@ -39,14 +40,14 @@ export default defineStore('terminal', {
|
||||
try {
|
||||
const { data } = await getPreference<TerminalPreference>('TERMINAL');
|
||||
// 设置默认终端主题
|
||||
if (!data.config.terminalTheme?.name) {
|
||||
data.config.terminalTheme = DEFAULT_SCHEMA;
|
||||
if (!data.config.themeSchema?.name) {
|
||||
data.config.themeSchema = DEFAULT_SCHEMA;
|
||||
}
|
||||
this.preference = data.config;
|
||||
// 设置暗色主题
|
||||
const userDarkTheme = data.config.darkTheme;
|
||||
if (userDarkTheme === DarkTheme.AUTO) {
|
||||
this.isDarkTheme = data.config.terminalTheme?.dark === true;
|
||||
this.isDarkTheme = data.config.themeSchema?.dark === true;
|
||||
} else {
|
||||
this.isDarkTheme = userDarkTheme === DarkTheme.DARK;
|
||||
}
|
||||
|
||||
@@ -8,11 +8,12 @@ export interface TerminalState {
|
||||
// 终端配置
|
||||
export interface TerminalPreference {
|
||||
darkTheme: string,
|
||||
terminalTheme: TerminalTheme,
|
||||
themeSchema: TerminalThemeSchema,
|
||||
displaySetting: TerminalDisplaySetting,
|
||||
}
|
||||
|
||||
// 终端主题
|
||||
export interface TerminalTheme {
|
||||
export interface TerminalThemeSchema {
|
||||
name: string;
|
||||
dark: boolean;
|
||||
background: string;
|
||||
@@ -41,3 +42,14 @@ export interface TerminalTheme {
|
||||
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
// 显示设置
|
||||
export interface TerminalDisplaySetting {
|
||||
fontFamily?: string;
|
||||
fontSize?: number;
|
||||
lineHeight?: number;
|
||||
fontWeight?: string | number;
|
||||
fontWeightBold?: string | number;
|
||||
cursorStyle?: string;
|
||||
cursorBlink?: boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user