diff --git a/config.template.yaml b/config.template.yaml index 179e859..b17bc62 100644 --- a/config.template.yaml +++ b/config.template.yaml @@ -40,6 +40,7 @@ extraction: autoConvert: true mergeBatches: true enableDbPersistence: true + headless: true # 浏览器无头模式,true=后台运行,false=显示浏览器窗口(调试用) validation: dataSource: database_full diff --git a/src/main/ipc/extractor-handler.ts b/src/main/ipc/extractor-handler.ts index d1b093d..f46613d 100644 --- a/src/main/ipc/extractor-handler.ts +++ b/src/main/ipc/extractor-handler.ts @@ -90,6 +90,10 @@ export function registerExtractorHandlers(): void { log.info('Fetching ERP configuration from database...') const erpConfig = await getErpConfig() + // Read headless setting from global config + const configManager = ConfigManager.getInstance() + const globalConfig = configManager.getConfig() + log.info('ERP config retrieved', { url: erpConfig.url ? 'configured' : 'EMPTY', username: erpConfig.username ? 'configured' : 'EMPTY' @@ -188,7 +192,7 @@ export function registerExtractorHandlers(): void { url: erpConfig.url, username: erpConfig.username, password: erpConfig.password, - headless: true + headless: globalConfig.extraction.headless }) sendProgress(sender, '登录 ERP 系统...', 9.99, { diff --git a/src/main/services/config/config-manager.ts b/src/main/services/config/config-manager.ts index e1e48b5..e21d722 100644 --- a/src/main/services/config/config-manager.ts +++ b/src/main/services/config/config-manager.ts @@ -78,7 +78,8 @@ const DEFAULT_CONFIG: FullConfig = { verbose: true, autoConvert: true, mergeBatches: true, - enableDbPersistence: true + enableDbPersistence: true, + headless: true }, validation: { dataSource: 'database_full', diff --git a/src/main/types/config.schema.ts b/src/main/types/config.schema.ts index 4d1cb83..744dcbb 100644 --- a/src/main/types/config.schema.ts +++ b/src/main/types/config.schema.ts @@ -83,7 +83,8 @@ export const extractionConfigSchema = z.object({ verbose: z.boolean().default(true), autoConvert: z.boolean().default(true), mergeBatches: z.boolean().default(true), - enableDbPersistence: z.boolean().default(true) + enableDbPersistence: z.boolean().default(true), + headless: z.boolean().default(true) }) /**