LaiTool/src/preload/index.js

428 lines
18 KiB
JavaScript
Raw Normal View History

2024-05-15 12:57:15 +08:00
import { contextBridge, ipcRenderer } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'
import { DEFINE_STRING } from '../define/define_string.js';
2024-05-24 13:46:19 +08:00
import { discord } from './discord.js';
import { mj } from './mj.js';
import { sd } from './sd.js';
2024-05-15 12:57:15 +08:00
// 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),
2024-05-24 13:46:19 +08:00
// 知道文件地址获取文件base64编码
GetFileBase64: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.GET_FILE_BASE64, value)),
2024-05-26 12:12:15 +08:00
OpenDevTools: () => ipcRenderer.send(DEFINE_STRING.OPEN_DEV_TOOLS),
OpenDevToolsPassword: async (value, callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.OPEN_DEV_TOOLS_PASSWORD, value)),
2024-05-15 12:57:15 +08:00
}
// 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)
2024-05-24 13:46:19 +08:00
contextBridge.exposeInMainWorld("sd", sd)
2024-05-15 12:57:15 +08:00
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;
2024-05-24 13:46:19 +08:00
window.sd = sd;
2024-05-15 12:57:15 +08:00
}