LaiTool/src/preload/book.ts

263 lines
8.7 KiB
TypeScript
Raw Normal View History

2024-07-13 15:44:13 +08:00
import { ipcRenderer } from 'electron'
import { DEFINE_STRING } from '../define/define_string'
2024-09-04 19:49:20 +08:00
import { Book } from '../model/book'
2024-09-12 14:13:09 +08:00
import { SubtitleModel } from '../model/subtitle'
import { BookType, OperateBookType } from '../define/enum/bookEnum'
2024-06-24 13:11:19 +08:00
const book = {
// 获取小说操作类型(原创/SD反推/MJ反推
GetBookType: async () => await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TYPE),
// 新增或者是修改小说数据
2024-07-13 15:44:13 +08:00
AddOrModifyBook: async (book) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.ADD_OR_MODIFY_BOOK, book),
2024-06-24 13:11:19 +08:00
2024-08-03 12:46:12 +08:00
// 保存小说任务的风格
SaveImageStyle: async (styleList, bookTaskId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.SAVE_IMAGE_STYLE, styleList, bookTaskId),
2024-06-24 13:11:19 +08:00
//#region 一键反推
// 获取小说数据(通过传递的参数进行筛选)
2024-07-13 15:44:13 +08:00
GetBookData: async (bookQuery) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_DATA, bookQuery),
2024-06-24 13:11:19 +08:00
// 获取小说的任务列表(批次)
2024-07-13 15:44:13 +08:00
GetBookTaskData: async (bookTaskCondition) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TASK_DATA, bookTaskCondition),
2024-06-24 13:11:19 +08:00
2024-08-03 12:46:12 +08:00
// 获取小说的详细数据
GetBookTaskDetail: async (bookTaskId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_BOOK_TASK_DETAIL, bookTaskId),
// 获取小说的分镜数据
2024-07-13 15:44:13 +08:00
GetFrameData: async (bookId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_FRAME_DATA, bookId),
2024-06-24 13:11:19 +08:00
2024-06-27 16:24:41 +08:00
// 一键全自动执行
AutoAction: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.AUTO_ACTION, bookId),
2024-07-13 15:44:13 +08:00
// 保存一键反推文案位置
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),
2024-06-24 13:11:19 +08:00
2024-07-13 15:44:13 +08:00
// 提取当前帧的文字信息
GetCurrentFrameText: async (value) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_CURRENT_FRAME_TEXT, value),
// 获取当前中的视频所有的字幕
GetVideoFrameText: async (value) =>
2024-08-03 12:46:12 +08:00
await ipcRenderer.invoke(DEFINE_STRING.BOOK.GET_VIDEO_FRAME_TEXT, value),
//#endregion
2024-09-04 19:49:20 +08:00
//#region 小说通用操作
// 替换文案数据
ReplaceBookData: async (bookTaskId: string, replaceData: Book.BookReplaceData) =>
await ipcRenderer.invoke(
DEFINE_STRING.BOOK.REPLACE_BOOK_DATA,
bookTaskId,
replaceData
),
//#endregion
2024-08-18 16:22:19 +08:00
//#region 分镜
2024-08-03 12:46:12 +08:00
// 开始计算分镜数据
ComputeStoryboard: async (bookId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.COMPUTE_STORYBOARD, bookId),
// 开始执行分镜,切分视频
Framing: async (bookId) => await ipcRenderer.invoke(DEFINE_STRING.BOOK.FRAMING, bookId),
2024-08-18 16:22:19 +08:00
// 替换指定的分镜的视频的当前帧
ReplaceVideoCurrentFrame: async (bookTaskDetailId, currentTime) =>
await ipcRenderer.invoke(
DEFINE_STRING.BOOK.REPLACE_VIDEO_CURRENT_FRAME,
bookTaskDetailId,
currentTime
),
//#endregion
//#region 文案相关信息
2024-09-12 14:13:09 +08:00
// 反推识别文案的方法
2024-08-20 10:37:38 +08:00
GetCopywriting: async (bookId, bookTaskId, operateBookType, coverData) =>
2024-08-18 16:22:19 +08:00
await ipcRenderer.invoke(
DEFINE_STRING.BOOK.GET_COPYWRITING,
bookId,
bookTaskId,
2024-08-20 10:37:38 +08:00
operateBookType,
coverData
2024-08-18 16:22:19 +08:00
),
2024-09-12 14:13:09 +08:00
// 保存导入的文案数据(文案和字幕对齐后的)
SaveCopywriting: async (bookTaskId: string, copywritingData: SubtitleModel.SaveCopywritingData, operateBookType: OperateBookType) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.SAVE_COPYWRITING, bookTaskId, copywritingData, operateBookType),
2024-08-18 16:22:19 +08:00
// 将文案信息导出,方便修改
ExportCopywriting: async (bookTaskId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.EXPORT_COPYWRITING, bookTaskId),
2024-09-04 19:49:20 +08:00
// 导入文案,修改过后的
ImportCopywriting: async (bookId: string, bookTaskId: string, txtPath: string) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.IMPORT_COPYWRITING, bookId, bookTaskId, txtPath),
2024-08-21 11:47:05 +08:00
// 清除导入对齐的文案
ClearImportWord: async (bookTaskId) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.CLEAR_IMPORT_WORD, bookTaskId),
2024-08-18 16:22:19 +08:00
//#endregion
//#region 水印
2024-08-03 12:46:12 +08:00
// 去除所有水印
2024-08-18 16:22:19 +08:00
RemoveWatermark: async (id, operateBookType) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.REMOVE_WATERMARK, id, operateBookType),
2024-08-03 12:46:12 +08:00
2024-08-18 16:22:19 +08:00
//#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
),
2024-08-03 12:46:12 +08:00
// 将反推的数据指定的位置的提示词写入到GPT提示词中
ReversePromptToGptPrompt: async (bookId, bookTaskId, index) =>
await ipcRenderer.invoke(
DEFINE_STRING.BOOK.REVERSE_PROMPT_TO_GPT_PROMPT,
bookId,
bookTaskId,
index
),
2024-08-21 11:47:05 +08:00
// 删除掉所有的反推和GPT提示词数据
2024-09-12 14:13:09 +08:00
ResetGptReverseData: async (id: string, operateBookType: OperateBookType, type: BookType) =>
2024-08-21 11:47:05 +08:00
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),
2024-09-12 14:13:09 +08:00
// 原创推理所有的提示词
OriginalGetPrompt: async (id: string, operateBookType: OperateBookType, coverData: boolean) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.ORIGINAL_GPT_PROMPT, id, operateBookType, coverData),
//#endregion
//#region 图片相关
2024-08-21 11:47:05 +08:00
// 删除所有的生成图片
2024-09-12 14:13:09 +08:00
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
),
2024-08-21 11:47:05 +08:00
2024-08-03 12:46:12 +08:00
//#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),
2024-08-18 16:22:19 +08:00
//#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
2024-08-03 12:46:12 +08:00
//#region 小说批次任务相关
2024-09-04 19:49:20 +08:00
// 添加新的小说批次任务
AddNewBookTask: async (addBookTaskData) =>
await ipcRenderer.invoke(DEFINE_STRING.BOOK.ADD_NEW_BOOK_TASK, addBookTaskData),
2024-08-03 12:46:12 +08:00
// 重置小说批次数据
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),
2024-08-18 16:22:19 +08:00
// 将小说视频相关的设置添加到小说任务批次
2024-08-03 12:46:12 +08:00
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)
2024-07-13 15:44:13 +08:00
//#endregion
2024-06-24 13:11:19 +08:00
}
2024-07-13 15:44:13 +08:00
export { book }