feat(rag-document): 补全文档管理接口与页面

This commit is contained in:
zhiye.sun
2026-05-21 15:34:12 +08:00
parent 67cfbeb572
commit 541c3ff455
12 changed files with 1233 additions and 15 deletions

View File

@@ -0,0 +1,88 @@
import { get, post } from './request';
/** 附件来源类型:标识该附件归属于 RAG 知识库业务。 */
export const SOURCE_TYPE_RAG = 'RAG';
export interface RagDocument {
id?: string;
storeId: string;
attachmentId?: string | null;
documentTitle?: string | null;
documentSummary?: string | null;
parseStatus?: string | null;
indexStatus?: string | null;
enabled?: boolean | null;
errorMessage?: string | null;
remark?: string | null;
createTime?: string | null;
updateTime?: string | null;
}
export interface RagDocumentQueryRequest {
storeId?: string;
attachmentId?: string;
parseStatus?: string;
indexStatus?: string;
enabled?: boolean;
}
export interface RagDocumentSaveRequest {
id?: string;
storeId: string;
attachmentId?: string;
documentTitle?: string;
documentSummary?: string;
parseStatus?: string;
indexStatus?: string;
enabled?: boolean;
errorMessage?: string;
remark?: string;
}
export interface RagDocumentBatchUploadRequest {
storeId: string;
sourceType?: string;
files: File[];
documentSummary?: string;
remark?: string;
}
export function listRagDocuments() {
return post<RagDocument[]>('/rag/documents/list');
}
export function queryRagDocuments(query?: RagDocumentQueryRequest) {
return post<RagDocument[], RagDocumentQueryRequest | undefined>('/rag/documents/query', query);
}
export function getRagDocumentById(id: string) {
return get<RagDocument>('/rag/documents/detail', {
params: { id },
});
}
export function saveRagDocument(data: RagDocumentSaveRequest) {
return post<boolean, RagDocumentSaveRequest>('/rag/documents/save', data);
}
export function deleteRagDocument(id: string) {
return post<boolean>('/rag/documents/delete', undefined, {
params: { id },
});
}
export function batchUploadRagDocuments(data: RagDocumentBatchUploadRequest) {
const formData = new FormData();
formData.append('storeId', data.storeId);
formData.append('sourceType', data.sourceType || SOURCE_TYPE_RAG);
data.files.forEach((file) => {
formData.append('files', file);
});
if (data.documentSummary) {
formData.append('documentSummary', data.documentSummary);
}
if (data.remark) {
formData.append('remark', data.remark);
}
return post<RagDocument[], FormData>('/rag/documents/batchUpload', formData);
}