update
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
import { settingsRepository, Setting } from '../repositories/settings.repository';
|
||||
|
||||
// +++ 定义默认的焦点切换顺序 +++
|
||||
const DEFAULT_FOCUS_SEQUENCE = ["quickCommandsSearch", "commandHistorySearch", "fileManagerSearch", "commandInput", "terminalSearch"];
|
||||
const FOCUS_SEQUENCE_KEY = 'focusSwitcherSequence'; // +++ 定义设置键常量 +++
|
||||
|
||||
export const settingsService = {
|
||||
// ... (getAllSettings, getSetting, setSetting, setMultipleSettings, deleteSetting, getIpWhitelistSettings, updateIpWhitelistSettings, getFocusSwitcherSequence 保持不变) ...
|
||||
|
||||
/**
|
||||
* 获取所有设置项
|
||||
* @returns 返回包含所有设置项的数组
|
||||
@@ -76,4 +82,57 @@ export const settingsService = {
|
||||
settingsRepository.setSetting('ipWhitelist', whitelist),
|
||||
]);
|
||||
},
|
||||
|
||||
// +++ 新增:获取焦点切换顺序 +++
|
||||
/**
|
||||
* 获取焦点切换顺序
|
||||
* @returns 返回存储的焦点切换顺序数组,如果未设置或无效则返回默认顺序
|
||||
*/
|
||||
async getFocusSwitcherSequence(): Promise<string[]> {
|
||||
console.log(`[Service] Attempting to get setting for key: ${FOCUS_SEQUENCE_KEY}`); // +++ 添加日志 +++
|
||||
try {
|
||||
const sequenceJson = await settingsRepository.getSetting(FOCUS_SEQUENCE_KEY);
|
||||
console.log(`[Service] Raw value from repository for ${FOCUS_SEQUENCE_KEY}:`, sequenceJson); // +++ 添加日志 +++
|
||||
if (sequenceJson) {
|
||||
const sequence = JSON.parse(sequenceJson);
|
||||
// 基本验证:确保它是一个数组并且包含字符串
|
||||
if (Array.isArray(sequence) && sequence.every(item => typeof item === 'string')) {
|
||||
console.log('[Service] Fetched and validated focus switcher sequence:', JSON.stringify(sequence)); // +++ 更新日志 +++
|
||||
return sequence;
|
||||
} else {
|
||||
console.warn('[Service] Invalid focus switcher sequence format found in settings. Returning default.');
|
||||
}
|
||||
} else {
|
||||
console.log('[Service] No focus switcher sequence found in settings. Returning default.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`[Service] Error parsing focus switcher sequence from settings (key: ${FOCUS_SEQUENCE_KEY}):`, error); // +++ 更新日志 +++
|
||||
}
|
||||
// 如果发生错误或未找到/无效,返回默认值
|
||||
console.log('[Service] Returning default focus sequence:', JSON.stringify(DEFAULT_FOCUS_SEQUENCE)); // +++ 添加日志 +++
|
||||
return [...DEFAULT_FOCUS_SEQUENCE]; // 返回默认值的副本
|
||||
},
|
||||
|
||||
// +++ 新增:设置焦点切换顺序 +++
|
||||
/**
|
||||
* 设置焦点切换顺序
|
||||
* @param sequence 要保存的焦点切换顺序数组
|
||||
*/
|
||||
async setFocusSwitcherSequence(sequence: string[]): Promise<void> {
|
||||
console.log('[Service] setFocusSwitcherSequence called with:', JSON.stringify(sequence)); // +++ 添加日志 +++
|
||||
// 基本验证
|
||||
if (!Array.isArray(sequence) || !sequence.every(item => typeof item === 'string')) {
|
||||
console.error('[Service] Attempted to save invalid focus switcher sequence format:', sequence);
|
||||
throw new Error('Invalid sequence format provided.'); // 抛出错误阻止保存无效数据
|
||||
}
|
||||
try {
|
||||
const sequenceJson = JSON.stringify(sequence);
|
||||
console.log(`[Service] Attempting to save setting. Key: ${FOCUS_SEQUENCE_KEY}, Value: ${sequenceJson}`); // +++ 添加日志 +++
|
||||
await settingsRepository.setSetting(FOCUS_SEQUENCE_KEY, sequenceJson);
|
||||
console.log(`[Service] Successfully saved setting for key: ${FOCUS_SEQUENCE_KEY}`); // +++ 添加日志 +++
|
||||
} catch (error) {
|
||||
console.error(`[Service] Error calling settingsRepository.setSetting for key ${FOCUS_SEQUENCE_KEY}:`, error); // +++ 更新日志 +++
|
||||
throw new Error('Failed to save focus switcher sequence.'); // 重新抛出错误
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user