LaiTool/src/preload/index.js
2024-05-26 12:12:15 +08:00

428 lines
18 KiB
JavaScript
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 { contextBridge, ipcRenderer } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'
import { DEFINE_STRING } from '../define/define_string.js';
import { discord } from './discord.js';
import { mj } from './mj.js';
import { sd } from './sd.js';
// Custom APIs for renderer
let events = [];
const api = {
//#region 基础状态
// 获取版本信息
GetVersion: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_VERSION)),
//#endregion
// 保存通用设置
ModifySampleSetting: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.MODIFY_SAMPLE_SETTING, value)),
//保存SD配置
SaveSDConfig: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_SD_CONFIG, value);
callback(res);
},
// 保存生成时间的普通设置
SaveGeneralSetting: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_GENERAL_SETTING, value);
callback(res);
},
// 获取视频的配置信息设置
GetVideoConfigMessage: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_VIDEO_CONFIG_MESSAGE);
callback(res);
},
// 加载SD设置
InitSDConfig: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.INIT_SD_CONFIG);
callback(res);
},
// 保存任务列表信息
AddImageTask: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.ADD_IMAGE_TASK_LIST, value);
callback(res);
},
// 修改任务队列信息(修改的数据是一个数组。可以添加多个和单个)
ModifyImageTaskList: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.MODIFY_IMAGE_TASK_LIST, value)),
// 开始自动话任务
ActionAutoVideoTask: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.ACTION_AUTO_VIDEO_TASK, value)),
// 获取生成图片的队列任务
GetGenerateTaskList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_GENERATE_TASK_LIST);
callback(res);
},
// 删除生成图片列表的消息
DeleteImageTaskList: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_IMAGE_TASK_LIST, value);
callback(res);
},
// 分镜语音识别消息
StartStoryboarding: async (value) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.START_STORY_BOARDING, value);
},
// 获取设置的初始数据
getSettingDafultData: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_SETTING_Dafault_DATA)),
// 获取草稿地址
getDraftFileList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_DRAFT_FILE_LIST)
callback(res);
},
// 选择文件夹
selectFolder: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SELECT_FOLDER, value)),
// 选择指定拓展名的文件
SelectFile: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SELECT_FILE, value)),
getDraftTextStyle: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_DRAFT_TEXT_STYLE, value);
callback(res);
},
getTextStyleList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_TEXT_STYLE_LIST);
callback(res);
},
deleteDraftTextStyle: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_DRAFT_TEXT_STYLE, value);
callback(res);
},
deleteClipSetting: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_CLIP_SETTING, value);
callback(res);
},
deleteClipStettingFriendlyReminder: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_FRIENDLY_REMINDER, value);
callback(res);
},
// 添加草稿
addDraft: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.ADD_DRAFT, value);
callback(res);
},
// 自动合成视频
AutoGenerateVideo: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.AUTO_GENERATION_VIDEO, value);
callback(res);
},
// 获取项目地址项目的所有的输出文件地址
getSubFolderList: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_SUBFOLDER_LIST, value);
callback(res);
},
// 提取草稿的温馨提示内容
GetFriendlyReminder: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_FRIENDLY_REMINDER_DRAFT, value);
callback(res);
},
// 获取温馨提示列表
getFriendlyReminderList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_FRIENDLY_REMINDER_LIST);
callback(res);
},
// 获取剪映背景音乐配置
GetBackgroundMusicConfigList: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_BACKGROUND_MUSIC_CONFIG_LIST)),
// 添加背景音乐文件夹
AddBackgroundMusicFolder: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.ADD_BACKGROUND_MUSIC_FOLDER, value)
callback(res);
},
// 反写json文件的数据
ModifyInpurCropJson: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.MODIFY_INPUT_CROP_JSON, value);
callback(res);
},
// AI 洗稿
AIModifyOneWord: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.AIMODIFY_ONE_WORD, value)
callback(res);
},
// 导入字幕。对齐显示
ImportSrtAndGetTime: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.IMPORT_SRT_AND_GET_TIME, value);
callback(res);
},
// 获取本地安装的字体
GetSystemInstallFontName: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_SYSTEM_INSTALL_FONTNAME);
callback(res);
},
// 保存字幕设置
SaveAssConfig: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_ASS_CONFIG, value);
callback(res);
},
// 删除字幕设置
DeleteVideoConfig: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_VIDEO_CONFIG, value);
callback(res);
},
// 保存洗稿后的文案
SaveNewWord: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_NEW_WORD, value);
callback(res);
},
// 监听分镜的时间信息
SaveCopywritingInformation: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_COPYWRITING_INFOMATION, value);
callback(res);
},
// 获取不想要的提示词
GetBadPrompt: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_BAD_PROMPT);
callback(res);
},
/**
* 保存不想要的提示词
*/
SaveBadPrompt: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_BAD_PROMPT, value);
callback(res);
},
/**
* 一键删除不想要的值
*/
DeleteBadPrompt: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.DELETE_BAD_PROMPT);
callback(res);
},
// 一次反推
GenerateImageInSelectTask: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GENERATE_IMAGWE_IN_SELECT_TASK, value);
callback(res);
},
// 显示新的窗口
showNewWindow: (value) => {
ipcRenderer.send(DEFINE_STRING.SHOW_NEW_WINDOW, value);
},
// 获取机械码
GetMachineId: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_MACHINE_ID);
callback(res);
},
// 获取ADetalier配置列表
GetADetailerList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_ADETAILER_LIST);
callback(res);
},
// 保存 ADetailer 数据
SaveADetailerConfig: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.SAVE_DETAILER_CONFIG, value);
callback(res);
},
// 抽帧
getFrame: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_FRAME, value)
callback(res);
},
//反推提示词
PushBackPrompt: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.PUSH_BACK_PROMPT)
callback(res)
},
// 打开指定的url在默认浏览器中
OpenUrl: (value) => ipcRenderer.send(DEFINE_STRING.OPEN_URL, value),
// 生成json文件
AddWebuiJson: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.ADD_WEBUI_JSON);
callback(res);
},
ReGenerateImage: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.RE_GENERATE_IAMGE_ONE, value);
callback(res);
},
ImproveResolution: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.IMPROVE_IMAGE_RESOULTION, value);
callback(res);
},
alginDraftImg: (value, callback) => {
ipcRenderer.send(DEFINE_STRING.ALIGN_DRAFT_IMG, value)
ipcRenderer.on(DEFINE_STRING.PYTHON_OUTPUT, (event, value) => {
callback(DEFINE_STRING.PYTHON_OUTPUT, value)
})
ipcRenderer.on(DEFINE_STRING.PYTHON_CLOSE, (event, value) => {
callback(DEFINE_STRING.PYTHON_CLOSE, value)
})
},
alginDraftImgToText: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.ALIGN_DRAFT_IMG_TO_TEXT, value)
callback(res);
},
getImagePromptList: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_IAMGE_PROMPT_LIST);
callback(res);
},
RefreshImageData: async (value, callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.REFRASH_IMAGWE_DATA, value);
callback(res);
},
GetProjectWord: async (callback) => {
let res = await ipcRenderer.invoke(DEFINE_STRING.GET_PROJECT_WORD);
callback(res);
},
// 获取当前的主页使用界面信息
GetShowMessage: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_SHOW_MESSAGE)),
// 立即返回的翻译任务
TranslateReturnNow: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.TRANSLATE_RETURN_NOW, value)),
// 添加翻译添加翻译任务到队列中
TranslatePrompt: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.TRANSLATE_PROMPT, value)),
// 添加事件监听
setEventListen: (value, callback) => {
ipcRenderer.on(value[0], (event, value) => {
callback(value);
})
},
// 打开discord窗口
OpenDiscordWindow: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.MAIN.OPEN_DISCORD_WINDOW)),
// 获取设置的GPT提示词的咒语
GetCustomizeGptPrompt: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_CUSTOMIZE_GPT_PROMPT, value)),
// 生成GPT自定义提示词的案例输出
GenerateGptExampleOut: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GENERATE_GPT_EXAMPLE_OUT, value)),
//GetPermission 获取机器的权限
GetPermission: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_PERMISSION)),
// 保存图片到指定的文件夹
SaveImageToOtherFolder: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_IMAGE_TO_OTHER_FOLDER, value)),
// 获取当前的自动保存图片的设置
GetImageAutoSaveSetting: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_IMAGE_AUTO_SAVE_SETTING)),
// 保存图片自动保存设置
SaveImageAutoSaveSetting: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_IMAGE_AUTO_SAVE_SETTING, value)),
// 获取当前自动保存图片的方式
GetAutoSaveImageClassifyOptions: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_AUTO_SAVE_IMAGE_CLASSIFY_OPTIONS)),
// 修改生图任务状态
ModifyGenerateTaskStatus: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.MODIFY_GENERATE_TASK_STATUS, value)),
// 删除指定的后台任务
DeleteBackTask: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.DELETE_BACK_TASK, value)),
// 保存生成视频的基础配置srt地址配音背景音乐文件夹等
SaveVideoSrtAndAudioMessage: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_VIDEO_SRT_AND_AUDIO_MESSAGE, value)),
// 保存关键帧配置
SaveKeyFrameSetting: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_KEY_FRAME_SETTING, value)),
// 获取关键帧打帧方式列表
GetKeyFrameOptions: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_KEYFRAME_OPTIONS)),
// 获取关键帧的配置文件
GetKeyFrameConfigData: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_KEY_FRAME_CONFIG_DATA)),
// 保存文案数组到指定的文件
saveWordTxt: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_WORD_TXT, value)),
// 判断该当前的是否可以链接成功
TestGPTConnection: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.TEST_GPT_CONNECTION, value)),
// 删除自定义的GPT服务商设置
DeleteDynamicGptOption: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.DELETE_DYNAMIC_GPT_OPTION, value)),
// 保存自定义的GPT服务商设置
SaveDynamicGptOption: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_DYNAMIC_GPT_OPTION, value)),
// 获取当前默认的推理模式或者是自定义的推理模式
getGptAutoInferenceOptions: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_GPT_AUTO_INFERENCE_OPTIONS, value)),
// 获取当前的GPT和自定义的GPT模型
getGptModelOption: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_GPT_MODEL_OPTION, value)),
// 获取默认的GPT和自定义的GPT
getGptBusinessOption: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_GPT_BUSINESS_OPTION, value)),
// 获取指定的风格菜单
GetImageStyleMenu: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_IMAGE_STYLE_MENU)),
// 获取指定的风格ID对应的数据
GetImageStyleInfomation: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_IMAGE_STYLE_INFOMATION, value)),
// 获取指定的图片风格下面的图片数据
getStyleImageSubList: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_STYLE_IMAGE_SUB_LIST, value)),
// SD 原创生成单个图片
OriginalSDImageGenerate: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.ORIGINAL_SD_SINGLE_IMAGE_GENERATE, value)),
// 自动保存数据到json文件事件
AutoSaveDataJson: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.AUTO_SAVE_DATA_JSON, value)),
// GPT推理
GPTPrompt: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GPT_PROMPT, value)),
// 获取 prompt 的json配置文件
GetPromptJson: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_PROMPT_JSON, value)),
// SD原创添加配置文件
OriginalAddWebuiJson: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.ORIGINAL_ADD_WEBUI_JSON, value)),
//获取文件的配置文件
GetConfigJson: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_CONFIG_JSON, value)),
// 自动分析人物事件
AutoAnalyzeCharacter: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.AUTO_ANALYZE_CHARACTER, value)),
// 获取生成视频的基础设置
GetVideoGenerateConfig: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_VIDEO_GENERATE_CONFIG)),
// 移除事件
removeEventListen: (eventName) => ipcRenderer.removeAllListeners(eventName),
// 一键自动化的条件检测
AutoConditionCheck: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.AUTO_CONDITION_CHECK, value)),
// 下载文件到指定的文件夹
DownloadImageFile: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.DOWNLOAD_IMAGE_FILE, value)),
// 检查机器码是不是存在
CheckMachineId: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.CHECK_MACHINE_ID, value)),
// 保存试用结束
SaveTrialEndTime: (value) => ipcRenderer.send(DEFINE_STRING.SAVE_TRIAL_END_TIME, value),
// 打开购买GPT地址
openGptBuyUrl: (value) => ipcRenderer.send(DEFINE_STRING.OPEN_GPT_BUY_URL, value),
// 打开指定的文件夹
OpenFolder: (value) => ipcRenderer.send(DEFINE_STRING.OPEN_FOLDER, value),
// 退出软件
QuitApp: () => ipcRenderer.send(DEFINE_STRING.QUIT_APP),
// 获取当前的生图方式包含sd,mj,d3等
GetImageGenerateCategory: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_IMAGE_GENERATE_CATEGORY)),
// 获取指定的配置文件里面指定的属性的数据
GetDefineConfigJsonByProperty: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_DEFINE_CONFIG_JSON_BY_PROPERTY, value)),
// 保存指定的配置文件里指定的属性的数据
SaveDefineConfigJsonByProperty: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.SAVE_DEFINE_CONFIG_JSON_BY_PROPERTY, value)),
// 打开全局提示框
showGlobalMessageDialog: (value) => ipcRenderer.send(DEFINE_STRING.SHOW_GLOABAL_MESSAGE_DIALOG, value),
// 打开全局通知框
showGlobalNotificationDialog: (value) => ipcRenderer.send(DEFINE_STRING.SHOW_MAIN_NOTIFICATION, value),
// 知道文件地址获取文件base64编码
GetFileBase64: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_FILE_BASE64, value)),
OpenDevTools: () => ipcRenderer.send(DEFINE_STRING.OPEN_DEV_TOOLS),
OpenDevToolsPassword: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.OPEN_DEV_TOOLS_PASSWORD, value)),
}
// Use `contextBridge` APIs to expose Electron APIs to
// renderer only if context isolation is enabled, otherwise
// just add to the DOM global.
if (process.contextIsolated) {
try {
contextBridge.exposeInMainWorld('electron', electronAPI)
contextBridge.exposeInMainWorld('api', api)
contextBridge.exposeInMainWorld('mj', mj)
contextBridge.exposeInMainWorld('discord', discord)
contextBridge.exposeInMainWorld("sd", sd)
contextBridge.exposeInMainWorld('darkMode', {
toggle: (value) => ipcRenderer.invoke('dark-mode:toggle', value),
})
} catch (error) {
console.error(error)
}
} else {
window.electron = electronAPI
window.api = api;
window.mj = mj;
window.discord = discord;
window.sd = sd;
}