fix: add macOS availability checks in MacSysOcrProvider and OcrProviderFactory

This commit is contained in:
suyao
2025-05-13 00:04:06 +08:00
parent 602d80c699
commit bb65fec348
2 changed files with 9 additions and 0 deletions
+4
View File
@@ -1,3 +1,4 @@
import { isMac } from '@main/constant'
import { FileSource, isLocalFile, LocalFileSource, OcrProvider } from '@types'
import Logger from 'electron-log'
import * as fs from 'fs'
@@ -14,6 +15,9 @@ export default class MacSysOcrProvider extends BaseOcrProvider {
private MacOCR: any
private async initMacOCR() {
if (!isMac) {
throw new Error('MacSysOcrProvider is only available on macOS')
}
if (!this.MacOCR) {
try {
const module = await import('@cherrystudio/mac-system-ocr')
+5
View File
@@ -1,4 +1,6 @@
import { isMac } from '@main/constant'
import { OcrProvider } from '@types'
import Logger from 'electron-log'
import BaseOcrProvider from './BaseOcrProvider'
import DefaultOcrProvider from './DefaultOcrProvider'
@@ -13,6 +15,9 @@ export default class OcrProviderFactory {
case 'mistral':
return new MistralOcrProvider(provider)
case 'system':
if (!isMac) {
Logger.warn('[OCR] System OCR provider is only available on macOS')
}
return new MacSysOcrProvider(provider)
default:
return new DefaultOcrProvider(provider)