refactor(OCR设置): 添加错误边界处理并移除无用注释

在OCR设置组件中添加ErrorBoundary以处理潜在错误
移除OcrTesseractSettings中的TODO注释
This commit is contained in:
icarus 2025-08-24 18:57:24 +08:00
parent 0569d146f4
commit 6215dd378e
3 changed files with 5 additions and 4 deletions

View File

@ -1,4 +1,5 @@
// import { loggerService } from '@logger' // import { loggerService } from '@logger'
import { ErrorBoundary } from '@renderer/components/ErrorBoundary'
import { isBuiltinOcrProvider, OcrProvider } from '@renderer/types' import { isBuiltinOcrProvider, OcrProvider } from '@renderer/types'
import { getOcrProviderLogo } from '@renderer/utils/ocr' import { getOcrProviderLogo } from '@renderer/utils/ocr'
import { Avatar, Divider, Flex } from 'antd' import { Avatar, Divider, Flex } from 'antd'
@ -35,7 +36,7 @@ const OcrProviderSettings = ({ provider }: Props) => {
</Flex> </Flex>
</SettingTitle> </SettingTitle>
<Divider style={{ width: '100%', margin: '10px 0' }} /> <Divider style={{ width: '100%', margin: '10px 0' }} />
{getProviderSettings()} <ErrorBoundary>{getProviderSettings()}</ErrorBoundary>
</> </>
) )
} }

View File

@ -1,4 +1,5 @@
import { PictureOutlined } from '@ant-design/icons' import { PictureOutlined } from '@ant-design/icons'
import { ErrorBoundary } from '@renderer/components/ErrorBoundary'
import { useTheme } from '@renderer/context/ThemeProvider' import { useTheme } from '@renderer/context/ThemeProvider'
import { useAppSelector } from '@renderer/store' import { useAppSelector } from '@renderer/store'
import { OcrProvider } from '@renderer/types' import { OcrProvider } from '@renderer/types'
@ -26,7 +27,7 @@ const OcrSettings: FC = () => {
] ]
return ( return (
<> <ErrorBoundary>
<SettingGroup theme={themeMode}> <SettingGroup theme={themeMode}>
<SettingTitle>{t('settings.tool.ocr.title')}</SettingTitle> <SettingTitle>{t('settings.tool.ocr.title')}</SettingTitle>
<SettingDivider /> <SettingDivider />
@ -35,7 +36,7 @@ const OcrSettings: FC = () => {
<SettingGroup theme={themeMode}> <SettingGroup theme={themeMode}>
<OcrProviderSettings provider={provider} /> <OcrProviderSettings provider={provider} />
</SettingGroup> </SettingGroup>
</> </ErrorBoundary>
) )
} }
export default OcrSettings export default OcrSettings

View File

@ -13,7 +13,6 @@ export const OcrTesseractSettings = () => {
const { t } = useTranslation() const { t } = useTranslation()
const { provider } = useOcrProvider(BuiltinOcrProviderIds.tesseract) const { provider } = useOcrProvider(BuiltinOcrProviderIds.tesseract)
// TODO: use error boundary
if (!isOcrTesseractProvider(provider)) { if (!isOcrTesseractProvider(provider)) {
throw new Error('Not tesseract provider.') throw new Error('Not tesseract provider.')
} }