From 84a513a6aeca55c385d03009b6a87cc241b96275 Mon Sep 17 00:00:00 2001 From: icarus Date: Mon, 20 Oct 2025 05:18:51 +0800 Subject: [PATCH] refactor(ocr): move provider registration to constructor Initialize built-in OCR providers during service instantiation instead of after creation for better encapsulation and initialization control --- src/main/services/ocr/OcrService.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/services/ocr/OcrService.ts b/src/main/services/ocr/OcrService.ts index 6a71002411..6dbf77dd96 100644 --- a/src/main/services/ocr/OcrService.ts +++ b/src/main/services/ocr/OcrService.ts @@ -13,6 +13,21 @@ const logger = loggerService.withContext('OcrService') export class OcrService { private registry: Map = new Map() + constructor() { + // Register built-in providers + this.register(BuiltinOcrProviderIds.tesseract, tesseractService) + + if (systemOcrService) { + this.register(BuiltinOcrProviderIds.system, systemOcrService) + } + + this.register(BuiltinOcrProviderIds.paddleocr, ppocrService) + + if (ovOcrService) { + this.register(BuiltinOcrProviderIds.ovocr, ovOcrService) + } + } + register(providerId: string, service: OcrBaseService): void { if (this.registry.has(providerId)) { logger.warn(`Provider ${providerId} has existing handler. Overwrited.`) @@ -38,16 +53,3 @@ export class OcrService { } export const ocrService = new OcrService() - -// Register built-in providers -ocrService.register(BuiltinOcrProviderIds.tesseract, tesseractService) - -if (systemOcrService) { - ocrService.register(BuiltinOcrProviderIds.system, systemOcrService) -} - -ocrService.register(BuiltinOcrProviderIds.paddleocr, ppocrService) - -if (ovOcrService) { - ocrService.register(BuiltinOcrProviderIds.ovocr, ovOcrService) -}