mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-27 21:01:32 +08:00
feat(ocr): 添加更新OCR提供者配置的功能
This commit is contained in:
parent
fd5c06d46f
commit
0be8b73ccf
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user