@@ -15,6 +15,7 @@ import {
|
||||
renameBase,
|
||||
updateBase,
|
||||
updateBases,
|
||||
updateItem as updateItemAction,
|
||||
updateItemProcessingStatus,
|
||||
updateNotes
|
||||
} from '@renderer/store/knowledge'
|
||||
@@ -117,7 +118,8 @@ export const useKnowledge = (baseId: string) => {
|
||||
await db.knowledge_notes.put(updatedNote)
|
||||
dispatch(updateNotes({ baseId, item: updatedNote }))
|
||||
}
|
||||
setTimeout(() => KnowledgeQueue.checkAllBases(), 0)
|
||||
const noteItem = base?.items.find((item) => item.id === noteId)
|
||||
noteItem && refreshItem(noteItem)
|
||||
}
|
||||
|
||||
// 获取笔记内容
|
||||
@@ -125,6 +127,10 @@ export const useKnowledge = (baseId: string) => {
|
||||
return await db.knowledge_notes.get(noteId)
|
||||
}
|
||||
|
||||
const updateItem = (item: KnowledgeItem) => {
|
||||
dispatch(updateItemAction({ baseId, item }))
|
||||
}
|
||||
|
||||
// 移除项目
|
||||
const removeItem = async (item: KnowledgeItem) => {
|
||||
dispatch(removeItemAction({ baseId, item }))
|
||||
@@ -138,6 +144,27 @@ export const useKnowledge = (baseId: string) => {
|
||||
}
|
||||
}
|
||||
|
||||
// 刷新项目
|
||||
const refreshItem = async (item: KnowledgeItem) => {
|
||||
const status = getProcessingStatus(item.id)
|
||||
|
||||
if (status === 'pending' || status === 'processing') {
|
||||
return
|
||||
}
|
||||
|
||||
if (base && item.uniqueId) {
|
||||
await window.api.knowledgeBase.remove({ uniqueId: item.uniqueId, base: getKnowledgeBaseParams(base) })
|
||||
updateItem({
|
||||
...item,
|
||||
processingStatus: 'pending',
|
||||
processingProgress: 0,
|
||||
processingError: '',
|
||||
uniqueId: undefined
|
||||
})
|
||||
setTimeout(() => KnowledgeQueue.checkAllBases(), 0)
|
||||
}
|
||||
}
|
||||
|
||||
// 更新处理状态
|
||||
const updateItemStatus = (itemId: string, status: ProcessingStatus, progress?: number, error?: string) => {
|
||||
dispatch(
|
||||
@@ -238,7 +265,9 @@ export const useKnowledge = (baseId: string) => {
|
||||
addNote,
|
||||
updateNoteContent,
|
||||
getNoteContent,
|
||||
updateItem,
|
||||
updateItemStatus,
|
||||
refreshItem,
|
||||
getProcessingStatus,
|
||||
getProcessingItemsByType,
|
||||
clearCompleted,
|
||||
|
||||
Reference in New Issue
Block a user