import { errorMessage, successMessage } from "../generalTools"; import path from "path"; import { Tools } from "../tools"; export class Image { constructor(global) { this.global = global; this.tools = new Tools(); } // 将指定的文件夹复制到四个文件夹中 async OneSplitFour(value) { try { value = JSON.parse(value); let count = value[1]; let data = value[0]; // 先创建输出文件 if (count <= 1) { throw new Error("可选择的图片的数量必须大于1"); } for (let i = 1; i < count; i++) { let out_folder = path.join(this.global.config.project_path, `tmp/output_crop_0000${i + 1}`); // 判断当前的文件夹是不是存在,存在删除 let isH = await this.tools.checkExists(out_folder); if (isH) { await this.tools.deleteFileOrDirectory(out_folder); } await this.tools.checkFolderExistsOrCreate(out_folder) } for (let i = 0; i < data.length; i++) { const element = data[i]; let subImagePath = element.subImagePath; for (let j = 1; j < count; j++) { let out_file = path.join(this.global.config.project_path, `tmp/output_crop_0000${j + 1}/${element.name}`); if (subImagePath[j] && subImagePath[j].startsWith("file")) { subImagePath[j] = subImagePath[j].replace("file://", ""); subImagePath[j] = subImagePath[j].replace(/\?time=.*$/, ''); } await this.tools.copyFileOrDirectory(subImagePath[j], out_file); } } return successMessage("拆分成功"); } catch (error) { return errorMessage(error.message); } } }