From 45c75e826aa96b9688e0026790a74cac136d1179 Mon Sep 17 00:00:00 2001 From: farion1231 Date: Thu, 7 Aug 2025 21:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=9A=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E4=B8=8E=E6=99=AE=E9=80=9A=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E4=B8=80=E8=87=B4=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除默认供应商在切换时的特殊逻辑 - 默认供应商现在也创建独立配置文件 settings-默认.json - 移除删除时对默认供应商的特殊保护 - 所有供应商现在都遵循相同的文件管理规则 --- src/main/services.ts | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/src/main/services.ts b/src/main/services.ts index 9eceb41..f06542d 100644 --- a/src/main/services.ts +++ b/src/main/services.ts @@ -88,12 +88,6 @@ export async function switchProvider( // 确保目录存在 await fs.mkdir(configDir, { recursive: true }); - // 特殊处理:如果切换到默认供应商(id="default"),直接使用现有的 settings.json - if (provider.id === "default") { - console.log(`切换到默认供应商,使用现有配置文件`); - return true; - } - const newSettingsPath = getProviderConfigPath(provider.id, provider.name); // 检查目标配置文件是否存在 @@ -105,15 +99,13 @@ export async function switchProvider( // 1. 如果当前存在settings.json,先备份到当前供应商的配置文件 if (await fileExists(settingsPath)) { if (currentProviderId && providers && providers[currentProviderId]) { - // 如果当前是默认供应商,不需要备份(因为 settings.json 就是它的配置) - if (currentProviderId !== "default") { - const currentProvider = providers[currentProviderId]; - const currentProviderPath = getProviderConfigPath( - currentProviderId, - currentProvider.name - ); - await fs.rename(settingsPath, currentProviderPath); - } + const currentProvider = providers[currentProviderId]; + const currentProviderPath = getProviderConfigPath( + currentProviderId, + currentProvider.name + ); + await fs.rename(settingsPath, currentProviderPath); + console.log(`已备份当前供应商配置: ${currentProvider.name}`); } else { // 如果没有当前供应商ID,创建临时备份 const backupPath = path.join( @@ -137,7 +129,7 @@ export async function switchProvider( } /** - * 导入当前配置为默认供应商(不生成独立配置文件) + * 导入当前配置为默认供应商 */ export async function importCurrentConfigAsDefault(): Promise<{ success: boolean; provider?: Provider }> { try { @@ -161,7 +153,13 @@ export async function importCurrentConfigAsDefault(): Promise<{ success: boolean updatedAt: Date.now(), }; - console.log(`已导入当前配置为默认供应商(不生成独立文件)`); + // 保存默认供应商的配置到独立文件 + const saveSuccess = await saveProviderConfig(provider); + if (!saveSuccess) { + return { success: false }; + } + + console.log(`已导入当前配置为默认供应商,配置文件:settings-默认.json`); return { success: true, provider }; } catch (error: any) { console.error("导入默认配置失败:", error); @@ -177,12 +175,6 @@ export async function deleteProviderConfig( providerName?: string ): Promise { try { - // 默认供应商没有独立配置文件,直接返回成功 - if (providerId === "default") { - console.log("默认供应商无独立配置文件,删除完成"); - return true; - } - const providerConfigPath = getProviderConfigPath(providerId, providerName); if (await fileExists(providerConfigPath)) {