LaiTool/src/preload/book.ts
2024-09-12 14:13:09 +08:00

263 lines
8.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 }