42 lines
		
	
	
		
			936 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			936 B
		
	
	
	
		
			TypeScript
		
	
	
| export interface UploadFile {
 | |
|   /** 原始文件对象 */
 | |
|   originFileObj?: File;
 | |
|   [key: string]: any;
 | |
| }
 | |
| 
 | |
| export interface SingleUploadFileOptions {
 | |
|   /** 要上传的文件 */
 | |
|   files: UploadFile;
 | |
|   /** 是否单文件上传 */
 | |
|   single?: true;
 | |
|   /** 上传的参数 */
 | |
|   params?: Record<string, string | number>;
 | |
| }
 | |
| 
 | |
| export interface MultipleUploadFileOptions {
 | |
|   /** 要上传的文件 */
 | |
|   files: UploadFile[];
 | |
|   /** 是否单文件上传 */
 | |
|   single: false;
 | |
|   /** 上传的参数 */
 | |
|   params?: Record<string, string | number>;
 | |
| }
 | |
| 
 | |
| 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(): [boolean, UploadFileFunction];
 |