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