263 lines
8.7 KiB
TypeScript
263 lines
8.7 KiB
TypeScript
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 }
|