42 lines
		
	
	
		
			842 B
		
	
	
	
		
			JavaScript
		
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			842 B
		
	
	
	
		
			JavaScript
		
	
	
|  | import { request } from "@cqsjjb/jjb-common-lib/http"; | ||
|  | import { useState } from "react"; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 删除文件 TODO | ||
|  |  */ | ||
|  | function useDeleteFile() { | ||
|  |   // loading状态
 | ||
|  |   const [loading, setLoading] = useState(false); | ||
|  | 
 | ||
|  |   // 删除文件
 | ||
|  |   const deleteFile = (options) => { | ||
|  |     setLoading(true); | ||
|  | 
 | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |       const { files = [], params = {} } = options; | ||
|  | 
 | ||
|  |       // 构建参数
 | ||
|  |       const actualParams = { | ||
|  |         id: files.map(file => file.id), | ||
|  |         ...params, | ||
|  |       }; | ||
|  | 
 | ||
|  |       // 发送请求
 | ||
|  |       request("", "post", actualParams) | ||
|  |         .then((res) => { | ||
|  |           resolve(res.data); | ||
|  |         }) | ||
|  |         .catch((err) => { | ||
|  |           reject(err); | ||
|  |         }) | ||
|  |         .finally(() => { | ||
|  |           setLoading(false); | ||
|  |         }); | ||
|  |     }); | ||
|  |   }; | ||
|  | 
 | ||
|  |   return [loading, deleteFile]; | ||
|  | } | ||
|  | 
 | ||
|  | export default useDeleteFile; |