From b30f49c9f4089575cd7bffa43a7d433a5068e1e3 Mon Sep 17 00:00:00 2001 From: Memory <134070804+Memory2314@users.noreply.github.com> Date: Wed, 17 Sep 2025 11:58:12 +0800 Subject: [PATCH] fix: no mihomo.yaml --- src/main/config/controledMihomo.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/config/controledMihomo.ts b/src/main/config/controledMihomo.ts index c44e195..0f162aa 100644 --- a/src/main/config/controledMihomo.ts +++ b/src/main/config/controledMihomo.ts @@ -5,13 +5,23 @@ import { generateProfile } from '../core/factory' import { getAppConfig } from './app' import { defaultControledMihomoConfig } from '../utils/template' import { deepMerge } from '../utils/merge' +import { existsSync } from 'fs' let controledMihomoConfig: Partial // mihomo.yaml export async function getControledMihomoConfig(force = false): Promise> { if (force || !controledMihomoConfig) { - const data = await readFile(controledMihomoConfigPath(), 'utf-8') - controledMihomoConfig = parse(data) || defaultControledMihomoConfig + if (existsSync(controledMihomoConfigPath())) { + const data = await readFile(controledMihomoConfigPath(), 'utf-8') + controledMihomoConfig = parse(data) || defaultControledMihomoConfig + } else { + controledMihomoConfig = defaultControledMihomoConfig + try { + await writeFile(controledMihomoConfigPath(), stringify(defaultControledMihomoConfig), 'utf-8') + } catch (error) { + console.error('Failed to create mihomo.yaml file:', error) + } + } // 确保配置包含所有必要的默认字段,处理升级场景 controledMihomoConfig = deepMerge(defaultControledMihomoConfig, controledMihomoConfig)