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

65 lines
1.5 KiB
TypeScript

export interface UploadFile {
/** 原始文件对象 */
originFileObj?: File;
/** 文件URL */
filePath?: string;
/** 文件ID */
id?: string;
[key: string]: any;
}
export interface BaseParams {
/** 文件类型 */
type: number;
/** 企业id */
corpinfoId?: string;
[key: string]: any;
}
export interface SingleParams extends BaseParams {
/** 外键id - 单文件上传时可选 */
foreignKey?: string;
}
export interface MultipleParams extends BaseParams {
/** 外键id - 多文件上传时必填 */
foreignKey: string;
}
export interface SingleUploadFileOptions {
/** 要上传的文件 */
files: UploadFile[];
/** 是否单文件上传 */
single?: true;
/** 上传的参数 */
params: SingleParams;
}
export interface MultipleUploadFileOptions {
/** 要上传的文件 */
files: UploadFile[];
/** 是否单文件上传 */
single: false;
/** 上传的参数 */
params: MultipleParams;
}
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 };