feat(ocr): 添加更新OCR提供者配置的功能

This commit is contained in:
icarus 2025-08-23 19:50:15 +08:00
parent fd5c06d46f
commit 0be8b73ccf

View File

@ -1,6 +1,6 @@
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
import { BUILTIN_OCR_PROVIDERS, DEFAULT_OCR_PROVIDER } from '@renderer/config/ocr'
import { ImageOcrProvider, OcrProvider } from '@renderer/types'
import { ImageOcrProvider, OcrProvider, OcrProviderConfig } from '@renderer/types'
export interface OcrState {
providers: OcrProvider[]
@ -31,13 +31,31 @@ const ocrSlice = createSlice({
Object.assign(state.providers[index], action.payload)
}
},
updateOcrProviderConfig(
state,
action: PayloadAction<{ id: string; update: Omit<Partial<OcrProviderConfig>, 'id'> }>
) {
const index = state.providers.findIndex((provider) => provider.id === action.payload.id)
if (index !== -1) {
if (!state.providers[index].config) {
state.providers[index].config = {}
}
Object.assign(state.providers[index].config, action.payload.update)
}
},
setImageOcrProvider(state, action: PayloadAction<ImageOcrProvider>) {
state.imageProvider = action.payload
}
}
})
export const { setOcrProviders, addOcrProvider, removeOcrProvider, updateOcrProvider, setImageOcrProvider } =
ocrSlice.actions
export const {
setOcrProviders,
addOcrProvider,
removeOcrProvider,
updateOcrProvider,
updateOcrProviderConfig,
setImageOcrProvider
} = ocrSlice.actions
export default ocrSlice.reducer