1- import { del , downloadRequest , get , getExportFile , post , put } from '../../core/request'
1+ import { del , downloadRequest , get , getExportFile , post , postExportExcel , put } from '../../core/request'
22import type { ParamsPage , ResponsePage } from '../../core/types'
33import type {
44 Dict ,
@@ -8,7 +8,6 @@ import type {
88 DocumentSettingPayload ,
99 DocumentTaskState ,
1010 DocumentTaskType ,
11- KnowledgeTagGroup ,
1211} from '@/api/types'
1312import { getWorkspaceId } from '@/utils/resource-context'
1413
@@ -49,6 +48,10 @@ const putDocumentTokenize = (knowledgeId: string, documentId: string, stateList:
4948const putBatchTokenizeDocuments = ( knowledgeId : string , documentIds : string [ ] , stateList : DocumentTaskState [ ] ) =>
5049 put ( `${ getPrefix ( knowledgeId ) } /batch_tokenize` , { id_list : documentIds , state_list : stateList } )
5150
51+ /** 单个/批量生成关联问题。 */
52+ const putGenerateDocumentQuestions = ( knowledgeId : string , data : DocumentGeneratePayload ) =>
53+ put ( `${ getPrefix ( knowledgeId ) } /batch_generate_related` , data )
54+
5255/** 单个取消文档任务。 */
5356const putCancelTask = ( knowledgeId : string , documentId : string , taskType : DocumentTaskType ) =>
5457 put ( `${ getPrefix ( knowledgeId ) } /${ documentId } /cancel_task` , { type : taskType } )
@@ -57,6 +60,21 @@ const putCancelTask = (knowledgeId: string, documentId: string, taskType: Docume
5760const putBatchCancelDocumentTask = ( knowledgeId : string , documentIds : string [ ] , taskType : DocumentTaskType ) =>
5861 put ( `${ getPrefix ( knowledgeId ) } /batch_cancel_task` , { id_list : documentIds , type : taskType } )
5962
63+ /** 同步单个 Web 文档。 */
64+ const putDocumentSync = ( knowledgeId : string , documentId : string ) => put ( `${ getPrefix ( knowledgeId ) } /${ documentId } /sync` )
65+
66+ /** 批量同步 Web 文档。 */
67+ const putMulSyncDocument = ( knowledgeId : string , documentIds : string [ ] ) =>
68+ put < { id_list : string [ ] } , boolean > ( `${ getPrefix ( knowledgeId ) } /batch_sync` , { id_list : documentIds } )
69+
70+ /** 同步单个飞书文档。 */
71+ const putLarkDocumentSync = ( knowledgeId : string , documentId : string ) =>
72+ put ( `/workspace/${ getWorkspaceId ( ) } /knowledge/lark/${ knowledgeId } /document/${ documentId } /sync` )
73+
74+ /** 批量同步飞书文档。 */
75+ const putMulLarkSyncDocument = ( knowledgeId : string , documentIds : string [ ] ) =>
76+ put < { id_list : string [ ] } , boolean > ( `/workspace/${ getWorkspaceId ( ) } /knowledge/lark/${ knowledgeId } /_batch` , { id_list : documentIds } )
77+
6078/** 保存单个文档的召回及来源设置。 */
6179const putDocumentSetting = ( knowledgeId : string , documentId : string , data : DocumentSettingPayload ) =>
6280 put ( `${ getPrefix ( knowledgeId ) } /${ documentId } ` , data )
@@ -65,24 +83,25 @@ const putDocumentSetting = (knowledgeId: string, documentId: string, data: Docum
6583const putBatchDocumentSetting = ( knowledgeId : string , documentIds : string [ ] , data : DocumentSettingPayload ) =>
6684 put ( `${ getPrefix ( knowledgeId ) } /batch_hit_handling` , { ...data , id_list : documentIds } )
6785
68- /** 根据文档内容生成关联问题。 */
69- const putGenerateDocumentQuestions = ( knowledgeId : string , data : DocumentGeneratePayload ) =>
70- put ( `${ getPrefix ( knowledgeId ) } /batch_generate_related` , data )
71-
7286/** 将选中文档迁移至目标知识库。 */
7387const putMigrateDocuments = ( knowledgeId : string , targetKnowledgeId : string , documentIds : string [ ] ) =>
7488 put ( `${ getPrefix ( knowledgeId ) } /migrate/${ targetKnowledgeId } ` , documentIds )
7589
76- /** 同步 Web 文档。 */
77- const putSyncDocuments = ( knowledgeId : string , documentIds : string [ ] ) => put ( `${ getPrefix ( knowledgeId ) } /batch_sync` , { id_list : documentIds } )
90+ /** 将单个文档导出为 Excel。 */
91+ const exportDocument = ( knowledgeId : string , documentId : string , documentName : string ) =>
92+ getExportFile ( `${ documentName . trim ( ) } .xlsx` , `${ getPrefix ( knowledgeId ) } /${ documentId } /export` )
93+
94+ /** 将选中文档批量导出为 Excel。 */
95+ const exportMulDocument = ( knowledgeId : string , documentIds : string [ ] , knowledgeName : string ) =>
96+ postExportExcel ( `${ knowledgeName . trim ( ) } .xlsx` , `${ getPrefix ( knowledgeId ) } /batch_export` , undefined , documentIds )
7897
79- /** 同步飞书文档 。 */
80- const putSyncLarkDocuments = ( knowledgeId : string , documentIds : string [ ] ) =>
81- put ( `/workspace/ ${ getWorkspaceId ( ) } /knowledge/lark/ ${ knowledgeId } /_batch` , { id_list : documentIds } )
98+ /** 将单个文档及图片导出为 ZIP 。 */
99+ const exportDocumentZip = ( knowledgeId : string , documentId : string , documentName : string ) =>
100+ getExportFile ( ` ${ documentName . trim ( ) } .zip` , ` ${ getPrefix ( knowledgeId ) } / ${ documentId } /export_zip` )
82101
83- /** 导出所选文档为 Excel 或 ZIP。 */
84- const exportDocuments = ( knowledgeId : string , documentIds : string [ ] , format : 'excel' | 'zip' ) =>
85- downloadRequest ( `${ getPrefix ( knowledgeId ) } /${ format === 'excel' ? 'batch_export' : ' batch_export_zip' } ` , 'POST' , documentIds )
102+ /** 将选中文档及图片批量导出为 ZIP。 */
103+ const exportMulDocumentZip = ( knowledgeId : string , documentIds : string [ ] , knowledgeName : string ) =>
104+ downloadRequest ( `${ getPrefix ( knowledgeId ) } /batch_export_zip` , 'POST' , documentIds , undefined , ` ${ knowledgeName . trim ( ) } .zip` )
86105
87106/** 下载文档原文件。 */
88107const downloadDocumentSource = ( knowledgeId : string , document : DocumentItem ) =>
@@ -95,17 +114,6 @@ const postReplaceDocumentSource = (knowledgeId: string, documentId: string, file
95114 return post ( `${ getPrefix ( knowledgeId ) } /${ documentId } /replace_source_file` , data )
96115}
97116
98- /** 查询文档当前标签。 */
99- const getDocumentTags = ( knowledgeId : string , documentId : string ) => get < KnowledgeTagGroup [ ] > ( `${ getPrefix ( knowledgeId ) } /${ documentId } /tags` )
100-
101- /** 批量添加文档标签。 */
102- const postAddDocumentTags = ( knowledgeId : string , documentIds : string [ ] , tagIds : string [ ] ) =>
103- post ( `${ getPrefix ( knowledgeId ) } /batch_add_tag` , { document_ids : documentIds , tag_ids : tagIds } )
104-
105- /** 移除文档标签关联。 */
106- const putDeleteDocumentTags = ( knowledgeId : string , documentId : string , tagIds : string [ ] ) =>
107- put ( `${ getPrefix ( knowledgeId ) } /${ documentId } /tags/batch_delete` , tagIds )
108-
109117export default {
110118 getDocumentPage,
111119 putQuickCreateDocuments,
@@ -122,12 +130,14 @@ export default {
122130 putBatchDocumentSetting,
123131 putGenerateDocumentQuestions,
124132 putMigrateDocuments,
125- putSyncDocuments,
126- putSyncLarkDocuments,
127- exportDocuments,
133+ putDocumentSync,
134+ putMulSyncDocument,
135+ putLarkDocumentSync,
136+ putMulLarkSyncDocument,
137+ exportDocument,
138+ exportMulDocument,
139+ exportDocumentZip,
140+ exportMulDocumentZip,
128141 downloadDocumentSource,
129142 postReplaceDocumentSource,
130- getDocumentTags,
131- postAddDocumentTags,
132- putDeleteDocumentTags,
133143}
0 commit comments