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;
							 |