import { ipcRenderer } from 'electron' import { DEFINE_STRING } from '../define/define_string' import { Book } from '../model/book' import { SubtitleModel } from '../model/subtitle' import { BookType, OperateBookType } from '../define/enum/bookEnum' const book = { // 获取小说操作类型(原创/SD反推/MJ反推) GetBookType: async () => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TYPE), // 新增或者是修改小说数据 AddOrModifyBook: async (book) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.ADD_OR_MODIFY_BOOK, book), // 保存小说任务的风格 SaveImageStyle: async (styleList, bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.SAVE_IMAGE_STYLE, styleList, bookTaskId), //#region 一键反推 // 获取小说数据(通过传递的参数进行筛选) GetBookData: async (bookQuery) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_DATA, bookQuery), // 获取小说的任务列表(批次) GetBookTaskData: async (bookTaskCondition) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TASK_DATA, bookTaskCondition), // 获取小说的详细数据 GetBookTaskDetail: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TASK_DETAIL, bookTaskId), // 获取小说的分镜数据 GetFrameData: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_FRAME_DATA, bookId), // 一键全自动执行 AutoAction: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.AUTO_ACTION, bookId), // 保存一键反推文案位置 SaveBookSubtitlePosition: async (value) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.SAVE_BOOK_SUBTITLE_POSITION, value), // 打开字幕提示图片文件夹 OpenBookSubtitlePositionScreenshot: async (value) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.OPEN_BOOK_SUBTITLE_POSITION_SCREENSHOT, value), // 提取当前帧的文字信息 GetCurrentFrameText: async (value) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_CURRENT_FRAME_TEXT, value), // 获取当前中的视频所有的字幕 GetVideoFrameText: async (value) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_VIDEO_FRAME_TEXT, value), //#endregion //#region 小说通用操作 // 替换文案数据 ReplaceBookData: async (bookTaskId: string, replaceData: Book.BookReplaceData) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.REPLACE_BOOK_DATA, bookTaskId, replaceData ), //#endregion //#region 分镜 // 开始计算分镜数据 ComputeStoryboard: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.COMPUTE_STORYBOARD, bookId), // 开始执行分镜,切分视频 Framing: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.FRAMING, bookId), // 替换指定的分镜的视频的当前帧 ReplaceVideoCurrentFrame: async (bookTaskDetailId, currentTime) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.REPLACE_VIDEO_CURRENT_FRAME, bookTaskDetailId, currentTime ), //#endregion //#region 文案相关信息 // 反推识别文案的方法 GetCopywriting: async (bookId, bookTaskId, operateBookType, coverData) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.GET_COPYWRITING, bookId, bookTaskId, operateBookType, coverData ), // 保存导入的文案数据(文案和字幕对齐后的) SaveCopywriting: async (bookTaskId: string, copywritingData: SubtitleModel.SaveCopywritingData, operateBookType: OperateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.SAVE_COPYWRITING, bookTaskId, copywritingData, operateBookType), // 将文案信息导出,方便修改 ExportCopywriting: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.EXPORT_COPYWRITING, bookTaskId), // 导入文案,修改过后的 ImportCopywriting: async (bookId: string, bookTaskId: string, txtPath: string) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.IMPORT_COPYWRITING, bookId, bookTaskId, txtPath), // 清除导入对齐的文案 ClearImportWord: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.CLEAR_IMPORT_WORD, bookTaskId), //#endregion //#region 水印 // 去除所有水印 RemoveWatermark: async (id, operateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.REMOVE_WATERMARK, id, operateBookType), //#endregion //#region 提示词 MergePrompt: async (id, type, operateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.MERGE_PROMPT, id, type, operateBookType), // 添加单句反推的 AddReversePrompt: async (bookTaskDetailIds, operateBookType, type) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.ADD_REVERSE_PROMPT, bookTaskDetailIds, operateBookType, type ), // 将反推的数据指定的位置的提示词写入到GPT提示词中 ReversePromptToGptPrompt: async (bookId, bookTaskId, index) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.REVERSE_PROMPT_TO_GPT_PROMPT, bookId, bookTaskId, index ), // 删除掉所有的反推和GPT提示词数据 ResetGptReverseData: async (id: string, operateBookType: OperateBookType, type: BookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.RESET_GPT_REVERSE_DATA, id, operateBookType, type), // 删除所有的合并提示词数据 ResetMergePromptData: async (id, operateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.REMOVE_MERGE_PROMPT_DATA, id, operateBookType), // 原创推理所有的提示词 OriginalGetPrompt: async (id: string, operateBookType: OperateBookType, coverData: boolean) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.ORIGINAL_GPT_PROMPT, id, operateBookType, coverData), //#endregion //#region 图片相关 // 删除所有的生成图片 ResetGenerateImage: async (id: string, operateBookType: OperateBookType, coverData: boolean) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.REMOVE_GENERATE_IMAGE, id, operateBookType, coverData), //#endregion //#region 一键反推的单个任务 // 单个重选反推的提示词 SingleReverseToGptPrompt: async (bookTaskDetailId, index) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.SINGLE_REVERSE_TO_GPT_PROMPT, bookTaskDetailId, index ), //#endregion // 将小说任务的所有的图片进行锁定和解锁 ImageLockOperation: async (id, lockType, operateBookType) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.IMAGE_LOCK_OPERATION, id, lockType, operateBookType ), // 下载或者使用指定的图片并裁剪 DownloadImageUrlAndSplit: async (bookTaskDetailId, imageUrl) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.DOWNLOAD_IMAGE_AND_SPLIT, bookTaskDetailId, imageUrl ), // 一拆四,将一个任务拆分成四个任务,并且复制对应的图片 OneToFourBookTask: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.ONE_TO_FOUR_BOOK_TASK, bookTaskId), //#region 小说相关 // 重置小说数据 ResetBookData: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.RESET_BOOK_DATA, bookId), // 删除小说数据 DeleteBookData: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.DELETE_BOOK_DATA, bookId), //#endregion //#region 小说批次任务相关 // 添加新的小说批次任务 AddNewBookTask: async (addBookTaskData) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.ADD_NEW_BOOK_TASK, addBookTaskData), // 重置小说批次数据 ReSetBookTask: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.RESET_BOOK_TASK, bookTaskId), // 删除小说批次数据 DeleteBookTask: async (bookTaskId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.DELETE_BOOK_TASK, bookTaskId), // 一键生成所有图片 GenerateImageAll: async (bookTaskId, imageCategory) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GENERATE_IMAGE_ALL, bookTaskId, imageCategory), // 高清图片前检查 CheckImageFileSize: async (id, fileSize, operateBookType) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.CHECK_IMAGE_FILE_SIZE, id, fileSize, operateBookType ), // 高清图片任务 HDImage: async (id, scale, operateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.HD_IMAGE, id, scale, operateBookType), // 将小说视频相关的设置添加到小说任务批次 UseBookVideoDataToBookTask: async (id, operateBookType) => await ipcRenderer.invoke( DEFINE_STRING.BOOK.USE_BOOK_VIDEO_DATA_TO_BOOK_TASK, id, operateBookType ), // 添加数据到剪映草稿 AddJianyingDraft: async (id, operateBookType) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.ADD_JIANYING_DRAFT, id, operateBookType) //#endregion } export { book }