diff --git a/src/renderer/src/DocumentParsingSettingsSection.test.tsx b/src/renderer/src/DocumentParsingSettingsSection.test.tsx index 2648a954..f3e61d66 100644 --- a/src/renderer/src/DocumentParsingSettingsSection.test.tsx +++ b/src/renderer/src/DocumentParsingSettingsSection.test.tsx @@ -558,15 +558,15 @@ describe('DocumentParsingSettingsSection', () => { fireEvent.click(screen.getByText('HTTP 高级设置')) expect(screen.getByRole('switch', { name: '保留页眉文字' })).not.toBeChecked() expect(screen.getByRole('switch', { name: '保留text' })).not.toBeChecked() - fireEvent.click(screen.getByRole('button', { name: '服务默认' })) - fireEvent.click(screen.getByRole('button', { name: '全部保留' })) - fireEvent.click(screen.getByRole('button', { name: '自定义' })) - expect(screen.getByRole('switch', { name: '保留text' })).not.toBeChecked() fireEvent.click(screen.getByRole('switch', { name: '保留页眉文字' })) fireEvent.click(screen.getByRole('button', { name: '本地模型' })) fireEvent.click(screen.getByRole('button', { name: '远程服务' })) + expect(screen.getByRole('switch', { name: '保留text' })).not.toBeChecked() + fireEvent.click(screen.getByRole('button', { name: '恢复默认' })) + expect(screen.getByRole('switch', { name: '保留页眉文字' })).toBeChecked() + expect(screen.queryByRole('switch', { name: '保留text' })).not.toBeInTheDocument() expect(screen.getByRole('button', { name: '测试解析' })).toBeDisabled() fireEvent.click(screen.getByRole('button', { name: '保存设置' })) - await waitFor(() => expect(update).toHaveBeenCalledWith(expect.objectContaining({ httpOcr: expect.objectContaining({ filterMode: 'custom', ignoredLabels: ['text'] }) }))) + await waitFor(() => expect(update).toHaveBeenCalledWith(expect.objectContaining({ httpOcr: expect.objectContaining({ filterMode: 'default', ignoredLabels: [] }) }))) }) }) diff --git a/src/renderer/src/HttpOcrSettings.tsx b/src/renderer/src/HttpOcrSettings.tsx index f4c67932..8a275a0d 100644 --- a/src/renderer/src/HttpOcrSettings.tsx +++ b/src/renderer/src/HttpOcrSettings.tsx @@ -1,6 +1,5 @@ import { useState } from 'react' -import type { defaultHttpOcrSettings } from '../../shared/document-parsing-contracts' -import { SegmentedControl } from './WorkspacePrimitives' +import { defaultHttpOcrSettings } from '../../shared/document-parsing-contracts' type HttpSettings = typeof defaultHttpOcrSettings const booleanOptions = { @@ -29,7 +28,7 @@ export function HttpOcrSettings({ value, onChange, dirty, credentialConfigured, const [checking, setChecking] = useState(false) const [check, setCheck] = useState('') const [error, setError] = useState('') - return
+ return
HTTP PaddleOCR-VL @@ -56,17 +55,20 @@ export function HttpOcrSettings({ value, onChange, dirty, credentialConfigured, {check &&

{check}

}{error &&

{error}

}
HTTP 高级设置

高级能力取决于服务部署;接口声明不代表模型已安装或效果已经实测。

- onChange({ ...value, filterMode })} /> - {value.filterMode === 'custom' && <> - 未设置自定义排除项时,从全部保留开始。 +
+ 内容过滤 + +
+ 直接选择需要保留的内容;修改后将使用自定义过滤设置。 +
{[...new Set([...Object.keys(labels), ...value.ignoredLabels])].map((key) => )} - } +
{Object.entries(booleanOptions).map(([key, label]) =>
-
版面与生成参数

留空使用服务默认;接口字段的实际边界与效果需用当前部署测试。

+
版面与生成参数

留空使用服务默认;接口字段的实际边界与效果需用当前部署测试。

{Object.entries(numericOptions).map(([key, label]) =>