zy-react-library/todo/hooks/useDeleteFile/index.js

47 lines
1.0 KiB
JavaScript

import { request } from "@cqsjjb/jjb-common-lib/http";
import { useState } from "react";
/**
* 删除文件 TODO
*/
function useDeleteFile(returnType = "object") {
// loading状态
const [loading, setLoading] = useState(false);
// 删除文件
const deleteFile = (options) => {
if (!options)
throw new Error("请传入 options");
setLoading(true);
return new Promise((resolve, reject) => {
const { files, single = true } = options;
if (!files)
throw new Error("请传入 files");
// 发送请求
request(
single ? `/basic-info/imgFiles/${files[0].filePath}` : `/basic-info/imgFiles/ids?ids=${files.map(f => f.id)}`,
"delete",
)
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
})
.finally(() => {
setLoading(false);
});
});
};
if (returnType === "array")
return [loading, deleteFile];
return { loading, deleteFile };
}
export default useDeleteFile;