import { BookType } from "../../../define/enum/bookEnum"; import { errorMessage, successMessage } from "../../generalTools"; import BooKService from "../../../define/db/service/Book/bookService"; import { BookTaskService } from "../../../define/db/service/Book/bookTaskService"; const { v4: uuidv4 } = require('uuid'); import { define } from '../../../define/define' import path from 'path' import { CheckFolderExistsOrCreate } from "../../../define/Tools/file"; export class BookBasic { constructor() { } /** * 获取路径中的最后一层或两层目录 * @param {string} path 文件或目录的完整路径 * @param {number} level 需要获取的层级数(1表示最后一层,2表示最后两层) * @returns {string} 最后的一层或两层目录 */ getLastPathLevels(path, level = 1) { // 根据操作系统的不同,路径分隔符可能不同 const separator = path.includes('/') ? '/' : '\\'; const parts = path.split(separator); // 获取最后的一层或两层目录 const lastLevels = parts.slice(-level); // 重新组合成路径字符串 return lastLevels.join(separator); } /** * 新增或者是修小说数据 * @param {*} book 小说信息 * @returns */ async AddOrModifyBook(book) { try { if (book == null) { return errorMessage('小说数据为空,无法修改'); } // 处理一下数据,处理文件地址(删除前缀,转换为默认地址) // 当前的小说的名字是不是在数据库中以存在 let _bookService = await BooKService.getInstance(); let res = await _bookService.AddOrModifyBook(book); return res; } catch (error) { return errorMessage('修改数据错误,错误信息如下:' + error.message, 'BookBasic_AddOrModifyBook'); } } // 小说类型返回 GetBookType() { return successMessage([{ label: 'SD反推', value: BookType.SD_REVERSE }, { label: 'MJ反推', value: BookType.MJ_REVERSE }, { label: "原创", value: BookType.ORIGINAL }], '获取小说类型成功'); } }