import React from 'react';
import { connect } from 'umi'
import type { UploadProps } from 'antd';
import { Button, Upload } from 'antd';
import uploadService from '@/services/uploadService'
interface PropsType {
    kb_id: string;
    getKfList: () => void
}
type UploadRequestOption = Parameters<
    NonNullable<UploadProps["customRequest"]>
>[0];
const Index: React.FC<PropsType> = ({ kb_id, getKfList }) => {
    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 (<Upload {...uploadProps} >
        <Button type="link">导入文件</Button>
    </Upload>)
}

export default connect(({ kFModel, settingModel, loading }) => ({ kFModel, settingModel, loading }))(Index);