Refa: migrate document preview/download to RESTful API (#14633)

### What problem does this PR solve?

migrate document preview/download to RESTful API

### Type of change
- [x] Refactoring
This commit is contained in:
buua436
2026-05-08 13:26:13 +08:00
committed by GitHub
parent 412fae7ac2
commit f703169117
11 changed files with 155 additions and 96 deletions

View File

@@ -1,7 +1,7 @@
import { Authorization } from '@/constants/authorization';
import { useGetKnowledgeSearchParams } from '@/hooks/route-hook';
import { useGetPipelineResultSearchParams } from '@/pages/dataflow-result/hooks';
import api, { webAPI } from '@/utils/api';
import api, { restAPIv1 } from '@/utils/api';
import { getAuthorization } from '@/utils/authorization-util';
import jsPreviewExcel from '@js-preview/excel';
import { useSize } from 'ahooks';
@@ -57,7 +57,7 @@ export const useGetDocumentUrl = (isAgent: boolean) => {
if (isAgent) {
return api.downloadFile + `?id=${id}&created_by=${createdBy}`;
}
return `${webAPI}/document/get/${documentId}`;
return `${restAPIv1}/documents/${documentId}/preview`;
}, [createdBy, documentId, id, isAgent]);
return url;

View File

@@ -26,8 +26,7 @@ import kbService, {
uploadDocument,
webCrawlDocument,
} from '@/services/knowledge-service';
import { restAPIv1, webAPI } from '@/utils/api';
import { getSearchValue } from '@/utils/common-util';
import { restAPIv1 } from '@/utils/api';
import { buildChunkHighlights } from '@/utils/document-util';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { useDebounce } from 'ahooks';
@@ -214,6 +213,7 @@ export const useGetDocumentFilter = (): {
const { id } = useParams();
const debouncedSearchString = useDebounce(searchString, { wait: 500 });
const [open, setOpen] = useState<number>(0);
const datasetId = knowledgeId || id;
const { data } = useQuery({
queryKey: [
DocumentApiAction.FetchDocumentFilter,
@@ -221,7 +221,10 @@ export const useGetDocumentFilter = (): {
knowledgeId,
],
queryFn: async () => {
const { data } = await documentFilter(knowledgeId || id);
if (!datasetId) {
return;
}
const { data } = await documentFilter(datasetId);
if (data.code === 0) {
return data.data;
}
@@ -504,14 +507,11 @@ export const useCreateDocument = () => {
};
export const useGetDocumentUrl = (documentId?: string) => {
const auth = getSearchValue('auth');
const getDocumentUrl = useCallback(
(id?: string) => {
return auth
? `${restAPIv1}/documents/${id || documentId}`
: `${webAPI}/document/get/${id || documentId}`;
return `${restAPIv1}/documents/${id || documentId}/preview`;
},
[documentId, auth],
[documentId],
);
return getDocumentUrl;

View File

@@ -1,5 +1,5 @@
import { Images } from '@/constants/common';
import { restAPIv1, webAPI } from '@/utils/api';
import { restAPIv1 } from '@/utils/api';
import { useParams, useSearchParams } from 'react-router';
// import Docx from './docx';
// import Excel from './excel';
@@ -29,7 +29,7 @@ const DocumentViewer = () => {
const api =
resource === 'files'
? `${restAPIv1}/files/${documentId}`
: `${webAPI}/document/get/${documentId}`;
: `${restAPIv1}/documents/${documentId}/preview`;
// request.head
if (ext === 'html' && documentId) {

View File

@@ -127,9 +127,9 @@ export default {
documentChangeParser: (datasetId: string, documentId: string) =>
`${restAPIv1}/datasets/${datasetId}/documents/${documentId}`,
documentThumbnails: `${restAPIv1}/thumbnails`,
getDocumentFile: `${webAPI}/document/get`,
getDocumentFile: `${restAPIv1}/documents`,
getDocumentFileDownload: (docId: string) =>
`${webAPI}/document/download/${docId}`,
`${restAPIv1}/documents/${docId}/download`,
documentUpload: (datasetId: string) =>
`${restAPIv1}/datasets/${datasetId}/documents`,
webCrawl: (datasetId: string) =>