import type { UploadFile, UploadProps } from 'antd'; import type React from 'react'; export type BaseUploadPropsType = Required; /** * 用后端返回的哪个file类型即可 */ export type IFile = { filename?: string; fileUrl?: string; fileId?: string; [key: string]: any; } & Partial; export interface ProUploadBaseProps extends Omit { /** 上传按钮文字 */ uploadText?: string; /** 上传文件的大小限制(默认50Mb) */ fileSize?: number; /** 是否支持拖拽上传 */ canDrag?: boolean; /** 是否支持拖拽排序 */ canDragSort?: boolean; /** 提示文案 */ tipsText?: React.ReactNode; /** fileList */ value?: IFile[]; /** defaultValue */ defaultValue?: IFile[]; /** 跟antd的onChange已经不一样了,注意 */ onChange?: (value: IFile[]) => void; /** 上传obs的参数,控制私有还有公有,默认公有 */ createTemporaryAccessKeyParams?: CustomUploadRequestOptions['createTemporaryAccessKeyParams']; } export interface ProUploadProps extends ProUploadBaseProps { } export interface CardSingleUploadProps extends ProUploadProps { /** 背景图片资源 */ bgImg?: React.ReactNode; } export interface CustomUploadRequestOptions { file: File; fileName?: string; onProgress: ({ percent }: { percent: number; }) => void; onSuccess: (body: any) => void; onError: (error: Error) => void; normalizeFilename?: (filename: string) => string; createTemporaryAccessKeyParams?: { /** 私有:2 共有:1 */ accessType: 1 | 2; }; }