zy-react-library/todo/hooks/useUploadFile/index.d.ts

59 lines
1.3 KiB
TypeScript

export interface UploadFile {
/** 原始文件对象 */
originFileObj?: File;
/** 文件URL */
filePath?: string;
/** 文件ID */
id?: string;
[key: string]: any;
}
export interface Params {
/** 文件类型 */
type: number;
/** 所属端 */
path: string;
/** 企业id */
corpinfoId: string;
/** 外键id */
foreignKey: string;
[key: string]: any;
}
export interface SingleUploadFileOptions {
/** 要上传的文件 */
files: UploadFile[];
/** 是否单文件上传 */
single?: true;
/** 上传的参数 */
params: Params;
}
export interface MultipleUploadFileOptions {
/** 要上传的文件 */
files: UploadFile[];
/** 是否单文件上传 */
single: false;
/** 上传的参数 */
params: Params;
}
export interface MultipleFileResponse {
/** 文件列表 */
files: string[];
/** 文件ID */
id: string;
[key: string]: any;
}
export interface UploadFileFunction {
(options: SingleUploadFileOptions): Promise<string>;
(options: MultipleUploadFileOptions): Promise<MultipleFileResponse>;
}
/**
* 上传文件
*/
export default function useUploadFile(returnType: "array"): [boolean, UploadFileFunction];
export default function useUploadFile(returnType?: "object"): { loading: boolean; uploadFile: UploadFileFunction };