2024-09-12 14:13:09 +08:00

150 lines
4.5 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 { ipcMain } from 'electron'
import { DEFINE_STRING } from '../../define/define_string'
import { MjSimple } from '../discord/mjSimple'
import { TagCustomize } from '../Original/TagCustomize'
import { MJOriginalImageGenerate } from '../Original/MJOriginalImageGenerate'
import { PublicMethod } from '../Public/publicMethod'
import { DiscordSimple } from '../discord/discordSimple'
import { Tools } from '../tools'
import path from 'path'
import { MJOpt } from '../Service/MJ/mj'
let mjSimple = new MjSimple(global)
let discordSimple = new DiscordSimple(null)
let tagCustomize = new TagCustomize(global)
let mJOriginalImageGenerate = new MJOriginalImageGenerate(global)
let publicMethod = new PublicMethod(global)
let mjOpt = new MJOpt()
function MjIpc() {
// 监听保存mj的文案配置信息
ipcMain.handle(
DEFINE_STRING.MJ.SAVE_WORD_SRT,
async (event, value) => await mjSimple.SvaeMJWordSrt(value)
)
// 监听获取MJ的文件配置信息
ipcMain.handle(
DEFINE_STRING.MJ.GET_MJ_CONFIG_SRT_INFORMATION,
async (event, value) => await mjSimple.GetMJConfigSrtInformation(value)
)
// 监听获取标签数据
ipcMain.handle(
DEFINE_STRING.MJ.GET_TAG_DATA_BY_TYPE_AND_PROPERTY,
async (event, value) => await tagCustomize.GetTagDataByTypeAndProperty(value)
)
// 保存指定的标签数据
ipcMain.handle(
DEFINE_STRING.MJ.SAVE_TAG_PROPERTY_DATA,
async (event, value) => await tagCustomize.SaveTagPropertyData(value)
)
// 删除指定的标签数据
ipcMain.handle(
DEFINE_STRING.MJ.DELETE_TAG_PROPERTY_DATA,
async (event, value) => await tagCustomize.DeleteTagPropertyData(value)
)
// MJ 原创生图
ipcMain.handle(
DEFINE_STRING.MJ.ORIGINAL_MJ_IMAGE_GENERATE,
async (event, value) => await mJOriginalImageGenerate.OriginalMJImageGenerate(value)
)
// 获取discord的频道机器人
ipcMain.handle(
DEFINE_STRING.MJ.GET_CHANNEL_ROBOTS,
async (event, value) => await mjSimple.GetChannelRobots(value)
)
// 获取MJ生图的方式
// GetMJGenerateCategory: async (callback) => callback(await ipcRenderer.invoke(DEFINE_STRING.MJ.GET_MJ_GENERATE_CATEGORY)),
ipcMain.handle(
DEFINE_STRING.MJ.GET_MJ_GENERATE_CATEGORY,
async (event) => await mjSimple.GetMJGenerateCategory()
)
// MJ生成的图片分割
ipcMain.handle(
DEFINE_STRING.MJ.IMAGE_SPLIT,
async (event, value) => await mJOriginalImageGenerate.ImageSplit(value)
)
// 添加MJ敏感词
ipcMain.handle(
DEFINE_STRING.MJ.ADD_MJ_BAD_PROMPT,
async (event, value) => await mjSimple.AddMJBadPrompt(value)
)
// 添加MJ敏感词检查
ipcMain.handle(
DEFINE_STRING.MJ.MJ_BAD_PROMPT_CHECK,
async (event, value) => await mjSimple.MJBadPromptCheck(value)
)
// 获取已经生图完成的数据,并获取图片
ipcMain.handle(
DEFINE_STRING.MJ.GET_GENERATED_MJ_IMAGE_AND_SPLIT,
async (event, value) => await mJOriginalImageGenerate.GetGeneratedMJImageAndSplit(value)
)
// 给图片链接,下载指定的图片并分割保存
ipcMain.handle(
DEFINE_STRING.MJ.DOWNLOAD_IMAGE_URL_AND_SPLIT,
async (event, value) => await mJOriginalImageGenerate.DownloadImageUrlAndSplit(value)
)
// 获取MJ图片的所有的分割尺寸
ipcMain.handle(
DEFINE_STRING.MJ.GET_MJ_IMAGE_SCALE,
async (event) => await mjSimple.GetMJImageScale()
)
// 获取所有的MJ生图模型
ipcMain.handle(
DEFINE_STRING.MJ.GET_MJ_IMAGE_ROBOT_MODEL,
async (event) => await mjSimple.GetMJImageRobotModel()
)
// 自动匹配用户表标签
ipcMain.handle(
DEFINE_STRING.MJ.AUTO_MATCH_USER,
async (event, value) => await mJOriginalImageGenerate.AutoMatchUser(value)
)
/**
* 监听DISCORD界面创建消息并修改数据
*/
ipcMain.on(
DEFINE_STRING.DISCORD.CREATE_MESSAGE,
async (event, value) => await discordSimple.DiscordCreateMessage(value)
)
/**
* 监听DISCORD界面的更新消息并修改数据
*/
ipcMain.on(
DEFINE_STRING.DISCORD.UPDATE_MESSAGE,
async (event, value) => await discordSimple.DiscordUpdateMessage(value)
)
/**
* 监听DISCORD界面的删除消息并修改数据
*/
ipcMain.on(
DEFINE_STRING.DISCORD.DELETE_MESSAGE,
async (event, value) => await discordSimple.DiscordDeleteMessage(value)
)
// MJ出单张图
ipcMain.handle(
DEFINE_STRING.MJ.ADD_MJ_GENADD_MJ_GENERATE_IMAGE_TASK,
async (event, id, operateBookType, responseMessageName, coverData) =>
await mjOpt.AddMJGenerateImageTask(id, operateBookType, responseMessageName, coverData)
)
}
export { MjIpc }