1- import { del , get , post , put } from '../../core/request'
1+ import { del , get , getExportFile , post , put } from '../../core/request'
22import type { ParamsPage , ResponsePage } from '../../core/types'
33import type { Dict , KnowledgeDetail , KnowledgeItem , KnowledgeCreatePayload , WebKnowledgeCreatePayload , LarkKnowledgeCreatePayload } from '@/api/types'
44import { getWorkspaceId } from '@/utils/resource-context'
@@ -52,6 +52,11 @@ const putLarkKnowledge = (knowledgeId: string, payload: Partial<KnowledgeItem>)
5252 return put < Partial < KnowledgeItem > , KnowledgeItem > ( `${ getPrefix ( ) } /lark/${ knowledgeId } ` , payload )
5353}
5454
55+ /** 对知识库中的文档重新向量化。 */
56+ const putReEmbeddingKnowledge = ( knowledgeId : string ) => {
57+ return put < undefined , boolean > ( `${ getPrefix ( ) } /${ knowledgeId } /embedding` )
58+ }
59+
5560/** 批量删除工作空间知识库。 */
5661const putBatchDeleteKnowledge = ( knowledgeIds : string [ ] ) => {
5762 return put < { id_list : string [ ] } , boolean > ( `${ getPrefix ( ) } /batch_delete` , { id_list : knowledgeIds } )
@@ -62,12 +67,33 @@ const putBatchMoveKnowledge = (knowledgeIds: string[], folderId: string) => {
6267 return put < { id_list : string [ ] ; folder_id : string } , boolean > ( `${ getPrefix ( ) } /batch_move` , { id_list : knowledgeIds , folder_id : folderId } )
6368}
6469
65- /** 导入知识库文件。 */
66- const importKnowledgeBundle = ( payload : FormData ) => {
67- return post < FormData , unknown > ( `${ getPrefix ( ) } /import_knowledge` , payload )
70+ /** 将知识库文档导出为 Excel。 */
71+ const exportKnowledgeExcel = ( knowledgeId : string , knowledgeName : string ) => {
72+ return getExportFile ( `${ knowledgeName } .xlsx` , `${ getPrefix ( ) } /${ knowledgeId } /export` )
73+ }
74+
75+ /** 将知识库文档及图片导出为 ZIP。 */
76+ const exportKnowledgeZip = ( knowledgeId : string , knowledgeName : string ) => {
77+ return getExportFile ( `${ knowledgeName } .zip` , `${ getPrefix ( ) } /${ knowledgeId } /export_zip` )
78+ }
79+
80+ /** 导出可用于导入创建的知识库压缩包。 */
81+ const exportKnowledge = ( knowledgeId : string , knowledgeName : string ) => {
82+ return getExportFile ( `${ knowledgeName } .zip` , `${ getPrefix ( ) } /${ knowledgeId } /export_knowledge` )
83+ }
84+
85+ /** 导入知识库文件并在指定文件夹创建知识库。 */
86+ const postKnowledgeImport = ( file : File , folderId : string ) => {
87+ const payload = new FormData ( )
88+ payload . append ( 'file' , file )
89+ payload . append ( 'folder_id' , folderId )
90+ return post < FormData , { knowledge_id : string ; type : KnowledgeItem [ 'type' ] } > ( `${ getPrefix ( ) } /import_knowledge` , payload )
6891}
6992
7093export default {
94+ exportKnowledgeExcel,
95+ exportKnowledgeZip,
96+ exportKnowledge,
7197 postKnowledge,
7298 postWebKnowledge,
7399 postLarkKnowledge,
@@ -77,7 +103,8 @@ export default {
77103 getKnowledgePage,
78104 putKnowledge,
79105 putLarkKnowledge,
106+ putReEmbeddingKnowledge,
80107 putBatchDeleteKnowledge,
81108 putBatchMoveKnowledge,
82- importKnowledgeBundle ,
109+ postKnowledgeImport ,
83110}
0 commit comments