2024-02-05 12:01:27 +08:00
|
|
|
import { useKnowledgeBaseId } from '@/hooks/knowledgeHook';
|
2024-01-30 19:26:29 +08:00
|
|
|
import uploadService from '@/services/uploadService';
|
2024-01-17 09:37:01 +08:00
|
|
|
import type { UploadProps } from 'antd';
|
2024-01-30 19:26:29 +08:00
|
|
|
import React from 'react';
|
2024-02-05 12:01:27 +08:00
|
|
|
import { Link } from 'umi';
|
2024-01-18 18:27:38 +08:00
|
|
|
interface PropsType {
|
2024-01-30 19:26:29 +08:00
|
|
|
kb_id: string;
|
|
|
|
getKfList: () => void;
|
2024-01-18 18:27:38 +08:00
|
|
|
}
|
2024-01-30 19:26:29 +08:00
|
|
|
|
2024-01-18 18:27:38 +08:00
|
|
|
type UploadRequestOption = Parameters<
|
2024-01-30 19:26:29 +08:00
|
|
|
NonNullable<UploadProps['customRequest']>
|
2024-01-18 18:27:38 +08:00
|
|
|
>[0];
|
2024-01-17 09:37:01 +08:00
|
|
|
|
2024-01-30 19:26:29 +08:00
|
|
|
const FileUpload: React.FC<PropsType> = ({ kb_id, getKfList }) => {
|
2024-02-05 12:01:27 +08:00
|
|
|
const knowledgeBaseId = useKnowledgeBaseId();
|
|
|
|
|
2024-01-30 19:26:29 +08:00
|
|
|
const createRequest: (props: UploadRequestOption) => void = async function ({
|
|
|
|
file,
|
|
|
|
onSuccess,
|
|
|
|
onError,
|
|
|
|
}) {
|
|
|
|
const { retcode, data } = await uploadService.uploadFile(file, kb_id);
|
|
|
|
if (retcode === 0) {
|
|
|
|
onSuccess && onSuccess(data, file);
|
|
|
|
} else {
|
|
|
|
onError && onError(data);
|
|
|
|
}
|
|
|
|
getKfList && getKfList();
|
|
|
|
};
|
|
|
|
const uploadProps: UploadProps = {
|
|
|
|
customRequest: createRequest,
|
|
|
|
showUploadList: false,
|
|
|
|
};
|
|
|
|
return (
|
2024-02-05 12:01:27 +08:00
|
|
|
// <Upload {...uploadProps}>
|
|
|
|
<Link to={`/knowledge/dataset/upload?id=${knowledgeBaseId}`}>导入文件</Link>
|
|
|
|
// </Upload>
|
2024-01-30 19:26:29 +08:00
|
|
|
);
|
|
|
|
};
|
2024-01-17 09:37:01 +08:00
|
|
|
|
2024-01-30 19:26:29 +08:00
|
|
|
export default FileUpload;
|