V 2.2.11 优化MJ代理模式

This commit is contained in:
2024-06-27 16:24:41 +08:00
parent bac97bc41c
commit 669e57824d
40 changed files with 3363 additions and 1643 deletions
-1
View File
@@ -1,4 +1,3 @@
import fs from 'node:fs';
const fspromises = fs.promises;
+40
View File
@@ -0,0 +1,40 @@
/**
* 将时间字符串转换为毫秒(number)
* 00:00:03.867 --》3867
* @param {*} timeString 时间字符串
* @returns
*/
export function TimeStringToMilliseconds(timeString) {
// 分割字符串获取小时、分钟、秒和毫秒
const parts = timeString.split(/[:.]/)
const hours = parseInt(parts[0], 10)
const minutes = parseInt(parts[1], 10)
const seconds = parseInt(parts[2], 10)
const milliseconds = parseInt(parts[3], 10)
// 将小时、分钟、秒转换为毫秒并计算总和
return hours * 3600000 + minutes * 60000 + seconds * 1000 + milliseconds
}
/**
* 将毫秒转换为时间字符串
* 85233 --》 '00:01:25.233'
* @param {*} milliseconds
* @returns
*/
export function MillisecondsToTimeString(milliseconds) {
let totalSeconds = milliseconds / 1000
const hours = Math.floor(totalSeconds / 3600)
totalSeconds %= 3600
const minutes = Math.floor(totalSeconds / 60)
const seconds = Math.floor(totalSeconds % 60)
const ms = milliseconds % 1000
// 将小时、分钟、秒格式化为两位数,毫秒格式化为三位数
const hoursFormatted = hours.toString().padStart(2, '0')
const minutesFormatted = minutes.toString().padStart(2, '0')
const secondsFormatted = seconds.toString().padStart(2, '0')
const msFormatted = ms.toString().padStart(3, '0')
return `${hoursFormatted}:${minutesFormatted}:${secondsFormatted}.${msFormatted}`
}
@@ -5,7 +5,7 @@ export class BookBackTaskList extends Realm.Object<BookBackTaskList> {
id: string
bookId: string
bookTaskId: string
name: string
name: string // 任务名称,小说名+批次名+分镜名
type: BookBackTaskType
status: BookBackTaskStatus
createTime: Date
+3 -1
View File
@@ -112,6 +112,7 @@ export class BookTaskDetailModel extends Realm.Object<BookTaskDetailModel> {
bookId: string
bookTaskId: string
videoPath: string | null // 视频地址
audioPath: string | null // 音频地址
word: string | null // 文案
oldImage: string | null // 旧图片(用于SD的图生图)
afterGpt: string | null // GPT生成的文案
@@ -123,7 +124,7 @@ export class BookTaskDetailModel extends Realm.Object<BookTaskDetailModel> {
gptPrompt: string | null // GPT提示词
mjMessage: MJMessage | null // MJ消息
outImagePath: string | null // 输出图片地址
subImagePath: string[] | null // 字幕图片地址
subImagePath: string[] | null // 图片地址
prompt: string | null // 提示
adetailer: boolean // 是否开启修脸
sdConifg: SDConfig | null // SD配置
@@ -139,6 +140,7 @@ export class BookTaskDetailModel extends Realm.Object<BookTaskDetailModel> {
bookId: { type: 'string', indexed: true },
bookTaskId: { type: 'string', indexed: true },
videoPath: 'string?',
audioPath: 'string?',
word: 'string?',
oldImage: 'string?',
afterGpt: 'string?',
+7 -5
View File
@@ -39,9 +39,10 @@ export class RemoteMJModel extends Realm.Object<RemoteMJModel> {
accountId: string | null
channelId: string
coreSize: number
guildId: string
mjBotChannelId: string
nijiBotChannelId: string
guildId: string
enable: boolean // 是否启用
mjBotChannelId: string | null
nijiBotChannelId: string | null
queueSize: number
remark: string
remixAutoSubmit: boolean
@@ -59,8 +60,9 @@ export class RemoteMJModel extends Realm.Object<RemoteMJModel> {
channelId: 'string',
coreSize: 'int',
guildId: 'string',
mjBotChannelId: 'string',
nijiBotChannelId: 'string',
enable: 'bool',
mjBotChannelId: 'string?',
nijiBotChannelId: 'string?',
queueSize: 'int',
remark: 'string',
remixAutoSubmit: 'bool',
@@ -26,14 +26,29 @@ export class BookBackTaskListService extends BaseRealmService {
BookBackTaskListService.instance = new BookBackTaskListService()
await super.getInstance()
}
await BookBackTaskListService.instance.open()
return BookBackTaskListService.instance
}
/**
* 获取指定条件的后台任务队列
* bookId 必填
* @param query bookIdbookTaskIdnametypestatus
*/
getBookBackTaskList(query) {
try {
// if()
} catch (error) {
throw error
}
}
/**
* 新增一个小说相关的后台任务队列
* @param bookBackTask 要添加的小说数据
*/
async AddBookBackTaskList(bookBackTask) {
AddBookBackTaskList(bookBackTask) {
try {
// 判断数据是不是存在
if (
+8 -1
View File
@@ -32,6 +32,13 @@ const migration = (oldRealm: Realm, newRealm: Realm) => {
newBookTask[i].isAuto = false // 为新属性设置默认值
}
}
if (oldRealm.schemaVersion < 3) {
const oldBookTask = oldRealm.objects('BookTask')
const newBookTask = newRealm.objects('BookTask')
for (let i = 0; i < oldBookTask.length; i++) {
newBookTask[i].audioPath = null // 为新属性设置默认值
}
}
}
export class BaseRealmService extends BaseService {
@@ -72,7 +79,7 @@ export class BaseRealmService extends BaseService {
BookTaskDetailModel
],
path: this.dbpath,
schemaVersion: 2,
schemaVersion: 3,
migration: migration
}
this.realm = await Realm.open(config)
+48 -11
View File
@@ -11,8 +11,8 @@ import { BookTaskService } from './bookTaskService'
import { BaseRealmService } from './bookBasic.js'
import { isEmpty } from 'lodash'
class BooKService extends BaseRealmService {
static instance: BooKService | null = null
export class BookService extends BaseRealmService {
static instance: BookService | null = null
realm: Realm
private constructor() {
@@ -24,20 +24,59 @@ class BooKService extends BaseRealmService {
* @returns
*/
public static async getInstance() {
if (BooKService.instance === null) {
BooKService.instance = new BooKService()
if (BookService.instance === null) {
BookService.instance = new BookService()
await super.getInstance()
}
return BooKService.instance
await BookService.instance.open()
return BookService.instance
}
/**
* 获取小说信息,没有找到返回null
* @param bookId
*/
GetBookDataById(bookId) {
try {
if (isEmpty(bookId)) {
throw new Error('获取小说信息失败,缺少小说ID')
}
let books = this.realm.objects<BookModel>('Book').filtered('id = $0', bookId)
if (books.length <= 0) {
return successMessage(null, '通过ID获取小说数据成功', 'ReverseBook_GetBookDataById')
} else {
// 对返回的数据进行处理
let resBooks = Array.from(books).map((book) => {
// 这里可以直接操作普通对象
let bookObj = {
...book,
bookFolderPath: path.resolve(
define.project_path,
book.bookFolderPath.replace(/\\/g, '/')
),
oldVideoPath: book.oldVideoPath
? path.resolve(define.project_path, book.oldVideoPath.replace(/\\/g, '/'))
: '',
imageFolder: book.imageFolder
? path.resolve(define.project_path, book.imageFolder.replace(/\\/g, '/'))
: ''
}
return bookObj
})
return successMessage(resBooks[0], '通过ID获取小说数据成功', 'ReverseBook_GetBookDataById')
}
} catch (error) {
throw error
}
}
/**
* 获取小说信息,通过参数查询
* @returns
*/
async GetBookData(bookQuery) {
GetBookData(bookQuery) {
try {
await this.open()
// 获取所有的小说数据,并进行时间降序排序
let books = this.realm.objects<BookModel>('Book')
let book_length = books.length
@@ -106,7 +145,6 @@ class BooKService extends BaseRealmService {
*/
async AddOrModifyBook(book) {
try {
await this.open()
if (book == null) {
throw new Error('小说数据为空,无法修改')
}
@@ -141,6 +179,7 @@ class BooKService extends BaseRealmService {
let bookFolderPath = path.resolve(define.project_path, book.id)
let imageFolder = path.resolve(define.project_path, `${book.id}/tmp`)
let oldVideoPath = path.resolve(define.project_path, `${book.id}/data/${book.id}.mp4`)
let bookTaskImageFolder = path.resolve(imageFolder, 'output_00001')
// 将视频拷贝一个到项目文件下面
if (book.oldVideoPath) {
@@ -150,11 +189,11 @@ class BooKService extends BaseRealmService {
// 创建对应的文件夹
await CheckFolderExistsOrCreate(bookFolderPath)
await CheckFolderExistsOrCreate(imageFolder)
await CheckFolderExistsOrCreate(bookTaskImageFolder) // 创建默认的任务文件夹
// 修改数据
book.oldVideoPath = path.relative(define.project_path, oldVideoPath)
this.realm.write(() => {
this.realm.create('Book', book)
let bookTaskImageFolder = path.resolve(imageFolder, 'output_00001')
// 添加一个任务
let bookTask = {
id: uuidv4(),
@@ -210,5 +249,3 @@ class BooKService extends BaseRealmService {
}
}
}
export default BooKService
@@ -6,6 +6,10 @@ import { BookTaskModel } from '../../model/Book/bookTask.js'
import { BookTaskStatus } from '../../../enum/bookEnum.js'
import { successMessage } from '../../../../main/generalTools.js'
import { BaseRealmService } from './bookBasic'
import { endsWith, isEmpty } from 'lodash'
import { book } from '../../../../preload/book.js'
import { DefaultObject } from 'realm/dist/public-types/schema.js'
import { JoinPath } from '../../../Tools/file.js'
const { v4: uuidv4 } = require('uuid')
let dbPath = path.resolve(define.db_path, 'book.realm')
@@ -30,16 +34,202 @@ export class BookTaskDetailService extends BaseRealmService {
BookTaskDetailService.instance = new BookTaskDetailService()
await super.getInstance()
}
await BookTaskDetailService.instance.open()
return BookTaskDetailService.instance
}
/**
* 添加一条小说人物对应的详细数据
* 更具条件查询执行的小说的分镜信息
* @param condition 查询的条件,idnamebookIdbookTaskId
*/
GetBookTaskData(condition) {
try {
if (condition == null) {
throw new Error('查询小说分镜信息,查询条件不能为空')
}
let query = [] as string[]
if (condition.id) {
query.push(`id = ${condition.id}`)
}
if (condition.bookId) {
query.push(`bookId = ${condition.bookId}`)
}
if (condition.bookTaskId) {
query.push(`bookTaskId = ${condition.bookTaskId}`)
}
if (condition.name) {
query.push(`name = ${condition.name}`)
}
const queryString = query.join(' && ')
let tasksToDelete: Realm.Results<Realm.Object<DefaultObject, never> & DefaultObject>
// 获取指定的数据
if (queryString) {
tasksToDelete = this.realm.objects('BookTaskDetail').filtered(queryString)
} else {
// 返回全部
tasksToDelete = this.realm.objects('BookTaskDetail')
}
let resData = Array.from(tasksToDelete).map((item) => {
let resObj = {
...item,
videoPath: JoinPath(define.project_path, item.videoPath),
audioPath: JoinPath(define.project_path, item.audioPath),
oldImage: JoinPath(define.project_path, item.oldImage),
outImagePath: JoinPath(define.project_path, item.outImagePath),
subImagePath: (item.subImagePath as string[])?.map((subImage) => {
return JoinPath(define.project_path, subImage)
})
}
return resObj
})
return successMessage(
resData,
'获取小说的分镜信息成功',
'BookTaskDetailService_GetBookTaskData'
)
} catch (error) {
throw error
}
}
/**
* 通过ID获取指定的小说任务分镜详细数据
* @param bookTaskDetailId
*/
public GetBookTaskDetailDataById(bookTaskDetailId: string) {
try {
if (bookTaskDetailId == null) {
throw new Error('获取小说任务详细信息失败,缺少ID')
}
let bookTaskDetails = this.GetBookTaskData({ id: bookTaskDetailId })
if (bookTaskDetails.data.length <= 0) {
return successMessage(
null,
'未找到对应的小说任务详细信息',
'BookTaskDetailService_GetBookTaskDetailDataById'
)
} else {
return successMessage(
bookTaskDetails.data[0],
'获取小说任务详细信息成功',
'BookTaskDetailService_GetBookTaskDetailDataById'
)
}
} catch (error) {
throw error
}
}
/**
* 添加一条小说任务对应的详细数据
* @param BookTaskDetail
*/
public async AddBookTaskDetail(BookTaskDetail) {
public AddBookTaskDetail(bookTaskDetail) {
try {
// 判断是不是又小说ID
// 判断是不是又小说ID
if (isEmpty(bookTaskDetail.bookId) || isEmpty(bookTaskDetail.bookTaskId)) {
throw new Error(
'新增小说任务详细信息到数据库失败,数据不完整,缺少小说ID或者小说批次任务ID'
)
}
// 开始初始化数据(获取指定的bookId和bookTaskId)中最大的no
let bookTaskDetails = this.realm
.objects<BookTaskModel>('BookTaskDetail')
.filtered(
'bookId = $0 AND bookTaskId = $1',
bookTaskDetail.bookId,
bookTaskDetail.bookTaskId
)
let maxNo = bookTaskDetails.max('no')
bookTaskDetail.no = maxNo ? Number(maxNo) + 1 : 1
let name = bookTaskDetail.no.tosString().padStart(5, '0')
bookTaskDetail.name = name
bookTaskDetail.id = uuidv4()
bookTaskDetail.createTime = new Date()
bookTaskDetail.updateTime = new Date()
// 开始添加
this.transaction(() => {
this.realm.create('BookTaskDetail', bookTaskDetail)
})
//创建成功,返回
return successMessage(
bookTaskDetail,
'新增小说任务详细信息成功',
'BookTaskDetailService_AddBookTaskDetail'
)
} catch (error) {
throw error
}
}
/**
* 更新指定ID的指定数据
* @param bookTaskDetailId
* @param updateData
*/
UpdateBookTaskDetail(bookTaskDetailId: string, updateData) {
try {
this.transaction(() => {
let bookTaskDetail = this.realm.objectForPrimaryKey('BookTaskDetail', bookTaskDetailId)
if (bookTaskDetail == null) {
throw new Error('未找到对应的小说任务详细信息')
}
// 开始修改
for (let key in updateData) {
bookTaskDetail[key] = updateData[key]
}
bookTaskDetail.updateTime = new Date()
})
return successMessage(
null,
'修改小说任务详细信息成功',
'BookTaskDetailService_UpdateBookTaskDetail'
)
} catch (error) {
throw error
}
}
/**
* 删除满足条件的对象吗,必传小说ID和小说任务ID
* @param condition bookIdbookTaskIdnameid
*/
DeleteBookTaskDetail(condition) {
try {
if (isEmpty(condition.id) && isEmpty(condition.bookTaskId) && isEmpty(condition.bookId)) {
throw new Error('删除小说分镜信息失败,没有必要参数')
}
let query = [] as string[]
if (condition.id) {
query.push(`id = ${condition.id}`)
}
if (condition.bookId) {
query.push(`bookId = ${condition.bookId}`)
}
if (condition.bookTaskId) {
query.push(`bookTaskId = ${condition.bookTaskId}`)
}
if (condition.name) {
query.push(`name = ${condition.name}`)
}
if (query.length <= 0) {
throw new Error('删除小说分镜任务失败,没有查询条件')
}
const queryString = query.join(' && ')
let tasksToDelete = this.realm.objects('BookTaskDetail').filtered(queryString)
this.transaction(() => {
this.realm.delete(tasksToDelete)
})
return successMessage(
null,
'删除指定的分镜任务成功',
'BookTaskDetailService_DeleteBookTaskDetail'
)
} catch (error) {
throw error
}
+58 -4
View File
@@ -29,6 +29,7 @@ export class BookTaskService extends BaseRealmService {
BookTaskService.instance = new BookTaskService()
await super.getInstance()
}
await BookTaskService.instance.open()
return BookTaskService.instance
}
@@ -36,9 +37,8 @@ export class BookTaskService extends BaseRealmService {
* 查询满足条件的小说子任务信息
* @param bookTaskCondition 查询条件 idbookIdnamenopage, pageSize
*/
async GetBookTaskData(bookTaskCondition) {
GetBookTaskData(bookTaskCondition) {
try {
await this.open()
// 获取所有的小说数据,并进行时间降序排序
let bookTasks = this.realm.objects<BookTaskModel>('BookTask')
@@ -98,10 +98,64 @@ export class BookTaskService extends BaseRealmService {
}
}
/**
* 通过ID获取小说批次任务的数据
* @param bookTaskId
*/
GetBookTaskDataById(bookTaskId: string) {
try {
if (bookTaskId == null) {
throw new Error('小说任务ID不能为空')
}
let bookTasks = this.GetBookTaskData({ id: bookTaskId })
if (bookTasks.data.bookTasks.length <= 0) {
return successMessage(null, '未找到对应的小说任务', 'BookTaskService_GetBookTaskDataById')
} else {
return successMessage(
bookTasks.data.bookTasks[0],
'查询小说任务成功',
'BookTaskService_GetBookTaskDataById'
)
}
} catch (error) {
throw error
}
}
/**
* 修改小说批次任务的状态
* @param bookTaskId 小说批次任务Id
* @param status 目标状态
*/
UpdateBookTaskStatus(bookTaskId: string, status: BookTaskStatus, errorMsg: string | null = null) {
try {
this.transaction(() => {
// 修改对应小说批次任务的状态
let bookTask = this.realm.objectForPrimaryKey('BookTask', bookTaskId)
if (bookTask == null) {
throw new Error('未找到对应的小说任务')
}
bookTask.status = status
bookTask.updateTime = new Date()
if (errorMsg != null) {
bookTask.errorMsg = errorMsg
}
})
return successMessage(
null,
`修改小说任务状态成功,修改后的状态为${status}`,
'BookTaskService_UpdateBookTaskStatus'
)
} catch (error) {
throw error
}
}
// 添加一条数据
async AddOrModifyBookTask(bookTask) {
AddOrModifyBookTask(bookTask) {
try {
await this.open()
if (bookTask == null) {
throw new Error('添加的小说任务不能为空')
}
@@ -249,7 +249,6 @@ export class MJSettingService extends BaseSoftWareService {
if (remoteMjQuery?.id) {
remoteMjSettings = this.realm.objects('RemoteMJ').filtered('id = $0', remoteMjQuery.id)
}
let resRemoteMj = Array.from(remoteMjSettings).map((remoteMj) => {
return {
...remoteMj
@@ -298,6 +297,7 @@ export class MJSettingService extends BaseSoftWareService {
remoteMjSetting.createTime = new Date()
remoteMjSetting.updateTime = new Date()
remoteMjSetting.version = version
remoteMjSetting.enable = true
remoteMjSetting.remark = global.machineId
// 判断当前this.relam 是不是已经处于一个事务中
@@ -374,6 +374,28 @@ export class MJSettingService extends BaseSoftWareService {
}
}
/**
* 删除指定ID的数据
* @param id
*/
DeleteRemoteMJSetting(id: string) {
try {
if (isEmpty(id)) {
throw new Error('删除代理模式配置,ID不能为空')
}
let remoteMjSettingRes = this.realm.objects('RemoteMJ').filtered('id = $0', id)
if (remoteMjSettingRes.length <= 0) {
throw new Error('没有找到对应的代理模式配置信息')
}
this.transaction(() => {
this.realm.delete(remoteMjSettingRes)
})
return successMessage(null, '删除代理API配置成功', 'MJSettingService_DeleteRemoteMjSetting')
} catch (error) {
throw error
}
}
//#endregion
//#region MJ设置的基础设置
@@ -540,22 +562,6 @@ export class MJSettingService extends BaseSoftWareService {
}
// 组合添加数据
this.realm.write(() => {
// 先添加RemoteMJ的数据
let remoteSetting = mjSetting.remoteSetting ? mjSetting.remoteSetting : null
if (remoteSetting != null) {
let remoteSettingRes: { code: number; data: any; message: any }
if (isEmpty(remoteSetting.id)) {
// 新增
remoteSettingRes = this.AddRemoteMjSetting(remoteSetting)
} else {
// 修改
remoteSettingRes = this.UpdateRemoteMjSetting(remoteSetting)
}
if (remoteSettingRes && remoteSettingRes.code == 1) {
mjSetting.remoteSetting = remoteSettingRes.data
}
}
// 判断API设置的数据是不是存在
let apiSetting = mjSetting.apiSetting ? mjSetting.apiSetting : null
if (apiSetting != null) {
@@ -60,7 +60,7 @@ const migration = (oldRealm: Realm, newRealm: Realm) => {
}
if (oldRealm.schemaVersion < 9) {
newRealm.write(() => {
const newSoftwares = newRealm.objects('MjSetting')
const newSoftwares = newRealm.objects('RemoteMJ')
for (let software of newSoftwares) {
software.accountId = null
}
@@ -74,6 +74,31 @@ const migration = (oldRealm: Realm, newRealm: Realm) => {
}
})
}
if (oldRealm.schemaVersion < 11) {
newRealm.write(() => {
const newSoftwares = newRealm.objects('MjSetting')
for (let software of newSoftwares) {
software.enable = true
}
})
}
if (oldRealm.schemaVersion < 12) {
newRealm.write(() => {
const newSoftwares = newRealm.objects('RemoteMJ')
for (let software of newSoftwares) {
software.nijiBotChannelId = null
software.mjBotChannelId = null
}
})
}
if (oldRealm.schemaVersion < 13) {
newRealm.write(() => {
const newSoftwares = newRealm.objects('RemoteMJ')
for (let software of newSoftwares) {
software.enable = true // 默认都是启用的
}
})
}
}
export class BaseSoftWareService extends BaseService {
@@ -112,7 +137,7 @@ export class BaseSoftWareService extends BaseService {
MjSettingModel
],
path: dbPath,
schemaVersion: 10, // 当前版本号
schemaVersion: 13, // 当前版本号
migration: migration
}
// 判断当前全局是不是又当前这个
+225 -220
View File
@@ -1,222 +1,227 @@
export const DEFINE_STRING = {
OPEN_DEV_TOOLS_PASSWORD: "OPEN_DEV_TOOLS_PASSWORD",
OPEN_DEV_TOOLS: "OPEN_DEV_TOOLS",
GET_FILE_BASE64: "GET_FILE_BASE64",
SAVE_DEFINE_CONFIG_JSON_BY_PROPERTY: "SAVE_DEFINE_CONFIG_JSON_BY_PROPERTY",
GET_DEFINE_CONFIG_JSON_BY_PROPERTY: "GET_DEFINE_CONFIG_JSON_BY_PROPERTY",
GET_IMAGE_GENERATE_CATEGORY: "GET_IMAGE_GENERATE_CATEGORY",
SHOW_MAIN_NOTIFICATION: "SHOW_MAIN_NOTIFICATION",
SHOW_GLOABAL_MESSAGE: "SHOW_GLOABAL_MESSAGE",
CHECK_MACHINE_ID: "CHECK_MACHINE_ID",
GET_CUSTOMIZE_GPT_PROMPT: "GET_CUSTOMIZE_GPT_PROMPT",
GENERATE_GPT_EXAMPLE_OUT: "GENERATE_GPT_EXAMPLE_OUT",
GET_PERMISSION: "GET_PERMISSION",
SAVE_IMAGE_TO_OTHER_FOLDER: "SAVE_IMAGE_TO_OTHER_FOLDER",
GET_IMAGE_AUTO_SAVE_SETTING: "GET_IMAGE_AUTO_SAVE_SETTING",
SAVE_IMAGE_AUTO_SAVE_SETTING: "SAVE_IMAGE_AUTO_SAVE_SETTING",
GET_AUTO_SAVE_IMAGE_CLASSIFY_OPTIONS: "GET_AUTO_SAVE_IMAGE_CLASSIFY_OPTIONS",
MODIFY_GENERATE_TASK_STATUS: "MODIFY_GENERATE_TASK_STATUS",
DELETE_BACK_TASK: "DELETE_BACK_TASK",
SAVE_VIDEO_SRT_AND_AUDIO_MESSAGE: "SAVE_VIDEO_SRT_AND_AUDIO_MESSAGE",
SAVE_KEY_FRAME_SETTING: "SAVE_KEY_FRAME_SETTING",
MODIFY_SAMPLE_SETTING: "MODIFY_SAMPLE_SETTING",
GET_SETTING_Dafault_DATA: "GET_SETTING_Dafault_DATA",
GET_DRAFT_FILE_LIST: "GET_DRAFT_FILE_LIST",
GET_FRAME: "GET_FRAME",
PYTHON_ERROR: "PYTHON_ERROR",
PYTHON_CLOSE: "PYTHON_CLOSE",
PYTHON_OUTPUT: "PYTHON_OUTPUT",
RESTART_GENERATE: "RESTART_GENERATE",
ALIGN_DRAFT_IMG: "ALIGN_DRAFT_IMG",
ALIGN_DRAFT_IMG_TO_TEXT: "ALIGN_DRAFT_IMG_TO_TEXT",
REGENERATE_IMAGE_RETUN: "REGENERATE_IMAGE_RETUN",
GET_SUBFOLDER_LIST: "GET_SUBFOLDER_LIST",
REFRASH_IMAGWE_DATA: "REFRASH_IMAGWE_DATA",
GET_IMAGE_PROMPTLIST: "GET_IMAGE_PROMPTLIST",
SELECT_FILE: "SELECT_FILE",
IMPROVE_IMAGE_RESOULTION: "IMPROVE_IMAGE_RESOULTION",
GET_BACKGROUND_MUSIC_CONFIG_LIST: "GET_BACKGROUND_MUSIC_CONFIG_LIST",
ADD_BACKGROUND_MUSIC_FOLDER: "ADD_BACKGROUND_MUSIC_FOLDER",
DELETE_CLIP_SETTING: "DELETE_CLIP_SETTING",
DELETE_FRIENDLY_REMINDER: "DELETE_FRIENDLY_REMINDER",
MODIFY_INPUT_CROP_JSON: "MODIFY_INPUT_CROP_JSON",
PUSH_BACK_PROMPT: "PUSH_BACK_PROMPT",
GET_FRIENDLY_REMINDER_DRAFT: "GET_FRIENDLY_REMINDER_DRAFT",
GET_FRIENDLY_REMINDER_LIST: "GET_FRIENDLY_REMINDER_LIST",
AUTO_GENERATION_VIDEO: "AUTO_GENERATION_VIDEO",
GET_PROJECT_WORD: "GET_PROJECT_WORD",
AIMODIFY_ONE_WORD: "AIMODIFY_ONE_WORD",
IMPORT_SRT_AND_GET_TIME: "IMPORT_SRT_AND_GET_TIME",
SAVE_NEW_WORD: "SAVE_NEW_WORD",
SAVE_COPYWRITING_INFOMATION: "SAVE_COPYWRITING_INFOMATION",
SAVE_SD_CONFIG: "SAVE_SD_CONFIG",
SAVE_GENERAL_SETTING: "SAVE_GENERAL_SETTING",
GET_VIDEO_CONFIG_MESSAGE: "GET_VIDEO_CONFIG_MESSAGE",
GET_SYSTEM_INSTALL_FONTNAME: "GET_SYSTEM_INSTALL_FONTNAME",
SAVE_ASS_CONFIG: "SAVE_ASS_CONFIG",
DELETE_VIDEO_CONFIG: "DELETE_VIDEO_CONFIG",
SHOW_NEW_WINDOW: "SHOW_NEW_WINDOW",
GET_DRAFT_FILE_LIST: "GET_DRAFT_FILE_LIST",
SELECT_FOLDER: "SELECT_FOLDER",
GET_DRAFT_TEXT_STYLE: "GET_DRAFT_TEXT_STYLE",
GET_TEXT_STYLE_LIST: "GET_TEXT_STYLE_LIST",
DELETE_DRAFT_TEXT_STYLE: "DELETE_DRAFT_TEXT_STYLE",
ADD_DRAFT: "ADD_DRAFT",
RETURN_IMAGE_PROMPT: "RETURN_IMAGE_PROMPT",
RE_GENERATE_IAMGE_ONE: "RE_GENERATE_IAMGE_ONE",
INIT_SD_CONFIG: "INIT_SD_CONFIG",
ADD_IMAGE_TASK_LIST: "ADD_IMAGE_TASK_LIST",
GET_GENERATE_TASK_LIST: "GET_GENERATE_TASK_LIST",
DELETE_IMAGE_TASK_LIST: "DELETE_IMAGE_TASK_LIST",
GENERATE_IMAGWE_IN_SELECT_TASK: "GENERATE_IMAGWE_IN_SELECT_TASK",
GET_MACHINE_ID: "GET_MACHINE_ID",
QUIT_APP: "QUIT_APP",
GET_BAD_PROMPT: "GET_BAD_PROMPT",
SAVE_BAD_PROMPT: "SAVE_BAD_PROMPT",
DELETE_BAD_PROMPT: "DELETE_BAD_PROMPT",
ADD_WEBUI_JSON: "ADD_WEBUI_JSON",
OPEN_GPT_BUY_URL: "OPEN_GPT_BUY_URL",
GET_IAMGE_PROMPT_LIST: "GET_IAMGE_PROMPT_LIST",
GET_ADETAILER_LIST: "GET_ADETAILER_LIST",
SAVE_DETAILER_CONFIG: "SAVE_DETAILER_CONFIG",
OPEN_URL: "OPEN_URL",
GET_VERSION: "GET_VERSION",
GET_FRAME_RETUN: "GET_FRAME_RETUN",
DOWNLOAD_MODEL: "DOWNLOAD_MODEL",
START_STORY_BOARDING: "START_STORY_BOARDING",
SHOW_MESSAGE_DIALOG: "SHOW_MESSAGE_DIALOG",
SHOW_GLOABAL_MESSAGE_DIALOG: "SHOW_GLOABAL_MESSAGE_DIALOG",
IMAGE_TASK_STATUS_REFRESH: "IMAGE_TASK_STATUS_REFRESH",
SAVE_TRIAL_END_TIME: "SAVE_TRIAL_END_TIME",
DOWNLOAD_IMAGE_FILE: "DOWNLOAD_IMAGE_FILE",
OPEN_FOLDER: "OPEN_FOLDER",
VIDEO_GENERATE_STATUS_REFRESH: "VIDEO_GENERATE_STATUS_REFRESH",
AUTO_CONDITION_CHECK: "AUTO_CONDITION_CHECK",
MODIFY_IMAGE_TASK_LIST: "MODIFY_IMAGE_TASK_LIST",
ACTION_AUTO_VIDEO_TASK: "ACTION_AUTO_VIDEO_TASK",
GET_VIDEO_GENERATE_CONFIG: "GET_VIDEO_GENERATE_CONFIG",
TRANSLATE_PROMPT: "TRANSLATE_PROMPT",
TRANSLATE_RETURN_NOW: "TRANSLATE_RETURN_NOW",
TRANSLATE_RETURN_REFRESH: "TRANSLATE_RETURN_REFRESH",
GET_SHOW_MESSAGE: "GET_SHOW_MESSAGE",
AUTO_ANALYZE_CHARACTER: "AUTO_ANALYZE_CHARACTER",
GET_CONFIG_JSON: "GET_CONFIG_JSON",
ORIGINAL_ADD_WEBUI_JSON: "ORIGINAL_ADD_WEBUI_JSON",
GET_PROMPT_JSON: "GET_PROMPT_JSON",
GPT_PROMPT: "GPT_PROMPT",
GPT_GENERATE_PROMPT_RETURN: "GPT_GENERATE_PROMPT_RETURN",
AUTO_SAVE_DATA_JSON: "AUTO_SAVE_DATA_JSON",
ORIGINAL_SD_SINGLE_IMAGE_GENERATE: "ORIGINAL_SD_SINGLE_IMAGE_GENERATE",
SD_ORIGINAL_GENERATE_IMAGE_RETURN: "SD_ORIGINAL_GENERATE_IMAGE_RETURN",
GET_STYLE_IMAGE_SUB_LIST: "GET_STYLE_IMAGE_SUB_LIST",
GET_IMAGE_STYLE_INFOMATION: "GET_IMAGE_STYLE_INFOMATION",
GET_IMAGE_STYLE_MENU: "GET_IMAGE_STYLE_MENU",
GET_GPT_BUSINESS_OPTION: "GET_GPT_BUSINESS_OPTION",
GET_GPT_MODEL_OPTION: "GET_GPT_MODEL_OPTION",
GET_GPT_AUTO_INFERENCE_OPTIONS: "GET_GPT_AUTO_INFERENCE_OPTIONS",
SAVE_DYNAMIC_GPT_OPTION: "SAVE_DYNAMIC_GPT_OPTION",
DELETE_DYNAMIC_GPT_OPTION: "DELETE_DYNAMIC_GPT_OPTION",
TEST_GPT_CONNECTION: "TEST_GPT_CONNECTION",
SAVE_WORD_TXT: "SAVE_WORD_TXT",
GET_KEY_FRAME_CONFIG_DATA: "GET_KEY_FRAME_CONFIG_DATA",
GET_KEYFRAME_OPTIONS: "GET_KEYFRAME_OPTIONS",
OPEN_DEV_TOOLS_PASSWORD: 'OPEN_DEV_TOOLS_PASSWORD',
OPEN_DEV_TOOLS: 'OPEN_DEV_TOOLS',
GET_FILE_BASE64: 'GET_FILE_BASE64',
SAVE_DEFINE_CONFIG_JSON_BY_PROPERTY: 'SAVE_DEFINE_CONFIG_JSON_BY_PROPERTY',
GET_DEFINE_CONFIG_JSON_BY_PROPERTY: 'GET_DEFINE_CONFIG_JSON_BY_PROPERTY',
GET_IMAGE_GENERATE_CATEGORY: 'GET_IMAGE_GENERATE_CATEGORY',
SHOW_MAIN_NOTIFICATION: 'SHOW_MAIN_NOTIFICATION',
SHOW_GLOABAL_MESSAGE: 'SHOW_GLOABAL_MESSAGE',
CHECK_MACHINE_ID: 'CHECK_MACHINE_ID',
GET_CUSTOMIZE_GPT_PROMPT: 'GET_CUSTOMIZE_GPT_PROMPT',
GENERATE_GPT_EXAMPLE_OUT: 'GENERATE_GPT_EXAMPLE_OUT',
GET_PERMISSION: 'GET_PERMISSION',
SAVE_IMAGE_TO_OTHER_FOLDER: 'SAVE_IMAGE_TO_OTHER_FOLDER',
GET_IMAGE_AUTO_SAVE_SETTING: 'GET_IMAGE_AUTO_SAVE_SETTING',
SAVE_IMAGE_AUTO_SAVE_SETTING: 'SAVE_IMAGE_AUTO_SAVE_SETTING',
GET_AUTO_SAVE_IMAGE_CLASSIFY_OPTIONS: 'GET_AUTO_SAVE_IMAGE_CLASSIFY_OPTIONS',
MODIFY_GENERATE_TASK_STATUS: 'MODIFY_GENERATE_TASK_STATUS',
DELETE_BACK_TASK: 'DELETE_BACK_TASK',
SAVE_VIDEO_SRT_AND_AUDIO_MESSAGE: 'SAVE_VIDEO_SRT_AND_AUDIO_MESSAGE',
SAVE_KEY_FRAME_SETTING: 'SAVE_KEY_FRAME_SETTING',
MODIFY_SAMPLE_SETTING: 'MODIFY_SAMPLE_SETTING',
GET_SETTING_Dafault_DATA: 'GET_SETTING_Dafault_DATA',
GET_DRAFT_FILE_LIST: 'GET_DRAFT_FILE_LIST',
GET_FRAME: 'GET_FRAME',
PYTHON_ERROR: 'PYTHON_ERROR',
PYTHON_CLOSE: 'PYTHON_CLOSE',
PYTHON_OUTPUT: 'PYTHON_OUTPUT',
RESTART_GENERATE: 'RESTART_GENERATE',
ALIGN_DRAFT_IMG: 'ALIGN_DRAFT_IMG',
ALIGN_DRAFT_IMG_TO_TEXT: 'ALIGN_DRAFT_IMG_TO_TEXT',
REGENERATE_IMAGE_RETUN: 'REGENERATE_IMAGE_RETUN',
GET_SUBFOLDER_LIST: 'GET_SUBFOLDER_LIST',
REFRASH_IMAGWE_DATA: 'REFRASH_IMAGWE_DATA',
GET_IMAGE_PROMPTLIST: 'GET_IMAGE_PROMPTLIST',
SELECT_FILE: 'SELECT_FILE',
IMPROVE_IMAGE_RESOULTION: 'IMPROVE_IMAGE_RESOULTION',
GET_BACKGROUND_MUSIC_CONFIG_LIST: 'GET_BACKGROUND_MUSIC_CONFIG_LIST',
ADD_BACKGROUND_MUSIC_FOLDER: 'ADD_BACKGROUND_MUSIC_FOLDER',
DELETE_CLIP_SETTING: 'DELETE_CLIP_SETTING',
DELETE_FRIENDLY_REMINDER: 'DELETE_FRIENDLY_REMINDER',
MODIFY_INPUT_CROP_JSON: 'MODIFY_INPUT_CROP_JSON',
PUSH_BACK_PROMPT: 'PUSH_BACK_PROMPT',
GET_FRIENDLY_REMINDER_DRAFT: 'GET_FRIENDLY_REMINDER_DRAFT',
GET_FRIENDLY_REMINDER_LIST: 'GET_FRIENDLY_REMINDER_LIST',
AUTO_GENERATION_VIDEO: 'AUTO_GENERATION_VIDEO',
GET_PROJECT_WORD: 'GET_PROJECT_WORD',
AIMODIFY_ONE_WORD: 'AIMODIFY_ONE_WORD',
IMPORT_SRT_AND_GET_TIME: 'IMPORT_SRT_AND_GET_TIME',
SAVE_NEW_WORD: 'SAVE_NEW_WORD',
SAVE_COPYWRITING_INFOMATION: 'SAVE_COPYWRITING_INFOMATION',
SAVE_SD_CONFIG: 'SAVE_SD_CONFIG',
SAVE_GENERAL_SETTING: 'SAVE_GENERAL_SETTING',
GET_VIDEO_CONFIG_MESSAGE: 'GET_VIDEO_CONFIG_MESSAGE',
GET_SYSTEM_INSTALL_FONTNAME: 'GET_SYSTEM_INSTALL_FONTNAME',
SAVE_ASS_CONFIG: 'SAVE_ASS_CONFIG',
DELETE_VIDEO_CONFIG: 'DELETE_VIDEO_CONFIG',
SHOW_NEW_WINDOW: 'SHOW_NEW_WINDOW',
GET_DRAFT_FILE_LIST: 'GET_DRAFT_FILE_LIST',
SELECT_FOLDER: 'SELECT_FOLDER',
GET_DRAFT_TEXT_STYLE: 'GET_DRAFT_TEXT_STYLE',
GET_TEXT_STYLE_LIST: 'GET_TEXT_STYLE_LIST',
DELETE_DRAFT_TEXT_STYLE: 'DELETE_DRAFT_TEXT_STYLE',
ADD_DRAFT: 'ADD_DRAFT',
RETURN_IMAGE_PROMPT: 'RETURN_IMAGE_PROMPT',
RE_GENERATE_IAMGE_ONE: 'RE_GENERATE_IAMGE_ONE',
INIT_SD_CONFIG: 'INIT_SD_CONFIG',
ADD_IMAGE_TASK_LIST: 'ADD_IMAGE_TASK_LIST',
GET_GENERATE_TASK_LIST: 'GET_GENERATE_TASK_LIST',
DELETE_IMAGE_TASK_LIST: 'DELETE_IMAGE_TASK_LIST',
GENERATE_IMAGWE_IN_SELECT_TASK: 'GENERATE_IMAGWE_IN_SELECT_TASK',
GET_MACHINE_ID: 'GET_MACHINE_ID',
QUIT_APP: 'QUIT_APP',
GET_BAD_PROMPT: 'GET_BAD_PROMPT',
SAVE_BAD_PROMPT: 'SAVE_BAD_PROMPT',
DELETE_BAD_PROMPT: 'DELETE_BAD_PROMPT',
ADD_WEBUI_JSON: 'ADD_WEBUI_JSON',
OPEN_GPT_BUY_URL: 'OPEN_GPT_BUY_URL',
GET_IAMGE_PROMPT_LIST: 'GET_IAMGE_PROMPT_LIST',
GET_ADETAILER_LIST: 'GET_ADETAILER_LIST',
SAVE_DETAILER_CONFIG: 'SAVE_DETAILER_CONFIG',
OPEN_URL: 'OPEN_URL',
GET_VERSION: 'GET_VERSION',
GET_FRAME_RETUN: 'GET_FRAME_RETUN',
DOWNLOAD_MODEL: 'DOWNLOAD_MODEL',
START_STORY_BOARDING: 'START_STORY_BOARDING',
SHOW_MESSAGE_DIALOG: 'SHOW_MESSAGE_DIALOG',
SHOW_GLOABAL_MESSAGE_DIALOG: 'SHOW_GLOABAL_MESSAGE_DIALOG',
IMAGE_TASK_STATUS_REFRESH: 'IMAGE_TASK_STATUS_REFRESH',
SAVE_TRIAL_END_TIME: 'SAVE_TRIAL_END_TIME',
DOWNLOAD_IMAGE_FILE: 'DOWNLOAD_IMAGE_FILE',
OPEN_FOLDER: 'OPEN_FOLDER',
VIDEO_GENERATE_STATUS_REFRESH: 'VIDEO_GENERATE_STATUS_REFRESH',
AUTO_CONDITION_CHECK: 'AUTO_CONDITION_CHECK',
MODIFY_IMAGE_TASK_LIST: 'MODIFY_IMAGE_TASK_LIST',
ACTION_AUTO_VIDEO_TASK: 'ACTION_AUTO_VIDEO_TASK',
GET_VIDEO_GENERATE_CONFIG: 'GET_VIDEO_GENERATE_CONFIG',
TRANSLATE_PROMPT: 'TRANSLATE_PROMPT',
TRANSLATE_RETURN_NOW: 'TRANSLATE_RETURN_NOW',
TRANSLATE_RETURN_REFRESH: 'TRANSLATE_RETURN_REFRESH',
GET_SHOW_MESSAGE: 'GET_SHOW_MESSAGE',
AUTO_ANALYZE_CHARACTER: 'AUTO_ANALYZE_CHARACTER',
GET_CONFIG_JSON: 'GET_CONFIG_JSON',
ORIGINAL_ADD_WEBUI_JSON: 'ORIGINAL_ADD_WEBUI_JSON',
GET_PROMPT_JSON: 'GET_PROMPT_JSON',
GPT_PROMPT: 'GPT_PROMPT',
GPT_GENERATE_PROMPT_RETURN: 'GPT_GENERATE_PROMPT_RETURN',
AUTO_SAVE_DATA_JSON: 'AUTO_SAVE_DATA_JSON',
ORIGINAL_SD_SINGLE_IMAGE_GENERATE: 'ORIGINAL_SD_SINGLE_IMAGE_GENERATE',
SD_ORIGINAL_GENERATE_IMAGE_RETURN: 'SD_ORIGINAL_GENERATE_IMAGE_RETURN',
GET_STYLE_IMAGE_SUB_LIST: 'GET_STYLE_IMAGE_SUB_LIST',
GET_IMAGE_STYLE_INFOMATION: 'GET_IMAGE_STYLE_INFOMATION',
GET_IMAGE_STYLE_MENU: 'GET_IMAGE_STYLE_MENU',
GET_GPT_BUSINESS_OPTION: 'GET_GPT_BUSINESS_OPTION',
GET_GPT_MODEL_OPTION: 'GET_GPT_MODEL_OPTION',
GET_GPT_AUTO_INFERENCE_OPTIONS: 'GET_GPT_AUTO_INFERENCE_OPTIONS',
SAVE_DYNAMIC_GPT_OPTION: 'SAVE_DYNAMIC_GPT_OPTION',
DELETE_DYNAMIC_GPT_OPTION: 'DELETE_DYNAMIC_GPT_OPTION',
TEST_GPT_CONNECTION: 'TEST_GPT_CONNECTION',
SAVE_WORD_TXT: 'SAVE_WORD_TXT',
GET_KEY_FRAME_CONFIG_DATA: 'GET_KEY_FRAME_CONFIG_DATA',
GET_KEYFRAME_OPTIONS: 'GET_KEYFRAME_OPTIONS',
QUEUE_BATCH: {
SD_ORIGINAL_GENERATE_IMAGE: "SD_ORIGINAL_GENERATE_IMAGE",
SD_ORIGINAL_GPT_PROMPT: "SD_ORIGINAL_GPT_PROMPT",
SD_BACKSTEP_GENERATE_IMAGE: "SD_BACKSTEP_GENERATE_IMAGE",
MJ_ORIGINAL_GENERATE_IMAGE: "MJ_ORIGINAL_GENERATE_IMAGE",
LOCAL_IMAGE_IMPROVE: "LOCAL_IMAGE_IMPROVE",
AUTO_VIDEO_GENERATE: "AUTO_VIDEO_GENERATE",
AUTO_VIDEO_GENERATE_SINGLE: "AUTO_VIDEO_GENERATE_SINGLE",
TRANSLATE_PROMPT: "TRANSLATE_PROMPT",
TRANSLATE_RETURN_NOW_TASK: "TRANSLATE_RETURN_NOW_TASK",
IMAGE_SAVE_TO_OTHER_FOLDER: "IMAGE_SAVE_TO_OTHER_FOLDER",
SAVE_FILE_QUEUE: "SAVE_FILE_QUEUE",
AUTO_SAVE_DATA_JSON: "AUTO_SAVE_DATA_JSON"
},
PERMISSIONS: {
NORMAL_PERMISSION: "NORMAL_PERMISSION",
AUTO_SAVE_IMAGE_PERMISSION: "AUTO_SAVE_IMAGE_PERMISSION",
},
SD: {
LOAD_SD_SERVICE_DATA: "LOAD_SD_SERVICE_DATA",
TXT2IMG: "TXT2IMG",
},
MJ: {
SAVE_WORD_SRT: "SAVE_WORD_SRT",
GET_MJ_CONFIG_SRT_INFORMATION: "GET_MJ_CONFIG_SRT_INFORMATION",
GET_TAG_DATA_BY_TYPE_AND_PROPERTY: "GET_TAG_DATA_BY_TYPE_AND_PROPERTY",
SAVE_TAG_PROPERTY_DATA: "SAVE_TAG_PROPERTY_DATA",
DELETE_TAG_PROPERTY_DATA: "DELETE_TAG_PROPERTY_DATA",
GET_TAG_SELECT_MODEL: "GET_TAG_SELECT_MODEL",
TRANSLATE_RETURN_NOW_TASK: "TRANSLATE_RETURN_NOW_TASK",
ORIGINAL_MJ_IMAGE_GENERATE: "ORIGINAL_MJ_IMAGE_GENERATE",
GET_CHANNEL_ROBOTS: "GET_CHANNEL_ROBOTS",
GET_MJ_GENERATE_CATEGORY: "GET_MJ_GENERATE_CATEGORY",
IMAGE_SPLIT: "IMAGE_SPLIT",
ADD_MJ_BAD_PROMPT: "ADD_MJ_BAD_PROMPT",
MJ_BAD_PROMPT_CHECK: "MJ_BAD_PROMPT_CHECK",
GET_GENERATED_MJ_IMAGE_AND_SPLIT: "GET_GENERATED_MJ_IMAGE_AND_SPLIT",
DOWNLOAD_IMAGE_URL_AND_SPLIT: "DOWNLOAD_IMAGE_URL_AND_SPLIT",
GET_MJ_IMAGE_SCALE: 'GET_MJ_IMAGE_SCALE',
GET_MJ_IMAGE_ROBOT_MODEL: "GET_MJ_IMAGE_ROBOT_MODEL",
MACTH_USER_RETURN: "MACTH_USER_RETURN",
AUTO_MATCH_USER: "AUTO_MATCH_USER",
},
DISCORD: {
OPERATE_REFRASH_DISCORD_URL: "OPERATE_REFRASH_DISCORD_URL",
GET_DISCORD_WINDOW_URL: "GET_DISCORD_WINDOW_URL",
CREATE_MESSAGE: "CREATE_MESSAGE",
UPDATE_MESSAGE: "UPDATE_MESSAGE",
DELETE_MESSAGE: "DELETE_MESSAGE",
MAIN_DISCORD_MESSAGE_CHANGE: "MAIN_DISCORD_MESSAGE_CHANGE",
},
DISCORD_REQUEST_LISTENER_TYPE: {
INPUT_MODEL_IMAGINE_REQUEST: "INPUT_MODEL_IMAGINE_REQUEST",
},
DISCORD_SIMPLE_DATA_TYPE: {
URL: "URL",
TOKEN: "TOKEN",
},
MAIN: {
OPEN_DISCORD_WINDOW: "OPEN_DISCORD_WINDOW"
},
IMG: {
ONE_SPLIT_FOUR: "ONE_SPLIT_FOUR",
BASE64_TO_FILE: "BASE64_TO_FILE",
PROCESS_IMAGE: "PROCESS_IMAGE",
BATCH_PROCESS_IMAGE: "BATCH_PROCESS_IMAGE",
BATCH_PROCESS_IMAGE_RESULT: "BATCH_PROCESS_IMAGE_RESULT"
},
BOOK: {
GET_BOOK_TYPE: "GET_BOOK_TYPE",
ADD_OR_MODIFY_BOOK: "ADD_OR_MODIFY_BOOK",
GET_BOOK_DATA: "GET_BOOK_DATA",
GET_FRAME_DATA: "GET_FRAME_DATA",
GET_BOOK_TASK_DATA: "GET_BOOK_TASK_DATA"
},
SYSTEM: {
OPEN_FILE: "OPEN_FILE",
RETURN_LOGGER: "RETURN_LOGGER",
},
SETTING: {
GET_DATA_BY_TYPE_AND_PROPERTY: "GET_DATA_BY_TYPE_AND_PROPERTY",
SAVE_DATA_BY_TYPE_AND_PROPERTY: "SAVE_DATA_BY_TYPE_AND_PROPERTY",
DELETE_DATA_BY_TYPE_AND_PROPERTY: "DELETE_DATA_BY_TYPE_AND_PROPERTY",
GET_SOFTWARE_SETTING: "GET_SOFTWARE_SETTING",
SAVE_SOFT_WARE_SETTING: "SAVE_SOFT_WARE_SETTING",
GET_COMPONENT_SIZE: "GET_COMPONENT_SIZE",
GET_MJ_SETTING_TREE_DATA: "GET_MJ_SETTING_TREE_DATA",
SAVE_MJ_SETTING_TREE_DATA: "SAVE_MJ_SETTING_TREE_DATA",
MJ_REMOTE_ACCOUNT_SYNC: "MJ_REMOTE_ACCOUNT_SYNC",
GET_MJ_SETTING: "GET_MJ_SETTING",
UPDATE_MJ_SETTING: "UPDATE_MJ_SETTING"
},
PROMPT: {
GET_SORT_OPTIONS: "GET_SORT_OPTIONS",
SAVE_PROMPT_SORT_DATA: "SAVE_PROMPT_SORT_DATA",
GET_PROMPT_SORT_DATA: "GET_PROMPT_SORT_DATA",
OPEN_PROMPT_FILE_TXT: "OPEN_PROMPT_FILE_TXT"
}
}
QUEUE_BATCH: {
SD_ORIGINAL_GENERATE_IMAGE: 'SD_ORIGINAL_GENERATE_IMAGE',
SD_ORIGINAL_GPT_PROMPT: 'SD_ORIGINAL_GPT_PROMPT',
SD_BACKSTEP_GENERATE_IMAGE: 'SD_BACKSTEP_GENERATE_IMAGE',
MJ_ORIGINAL_GENERATE_IMAGE: 'MJ_ORIGINAL_GENERATE_IMAGE',
LOCAL_IMAGE_IMPROVE: 'LOCAL_IMAGE_IMPROVE',
AUTO_VIDEO_GENERATE: 'AUTO_VIDEO_GENERATE',
AUTO_VIDEO_GENERATE_SINGLE: 'AUTO_VIDEO_GENERATE_SINGLE',
TRANSLATE_PROMPT: 'TRANSLATE_PROMPT',
TRANSLATE_RETURN_NOW_TASK: 'TRANSLATE_RETURN_NOW_TASK',
IMAGE_SAVE_TO_OTHER_FOLDER: 'IMAGE_SAVE_TO_OTHER_FOLDER',
SAVE_FILE_QUEUE: 'SAVE_FILE_QUEUE',
AUTO_SAVE_DATA_JSON: 'AUTO_SAVE_DATA_JSON'
},
PERMISSIONS: {
NORMAL_PERMISSION: 'NORMAL_PERMISSION',
AUTO_SAVE_IMAGE_PERMISSION: 'AUTO_SAVE_IMAGE_PERMISSION'
},
SD: {
LOAD_SD_SERVICE_DATA: 'LOAD_SD_SERVICE_DATA',
TXT2IMG: 'TXT2IMG'
},
MJ: {
SAVE_WORD_SRT: 'SAVE_WORD_SRT',
GET_MJ_CONFIG_SRT_INFORMATION: 'GET_MJ_CONFIG_SRT_INFORMATION',
GET_TAG_DATA_BY_TYPE_AND_PROPERTY: 'GET_TAG_DATA_BY_TYPE_AND_PROPERTY',
SAVE_TAG_PROPERTY_DATA: 'SAVE_TAG_PROPERTY_DATA',
DELETE_TAG_PROPERTY_DATA: 'DELETE_TAG_PROPERTY_DATA',
GET_TAG_SELECT_MODEL: 'GET_TAG_SELECT_MODEL',
TRANSLATE_RETURN_NOW_TASK: 'TRANSLATE_RETURN_NOW_TASK',
ORIGINAL_MJ_IMAGE_GENERATE: 'ORIGINAL_MJ_IMAGE_GENERATE',
GET_CHANNEL_ROBOTS: 'GET_CHANNEL_ROBOTS',
GET_MJ_GENERATE_CATEGORY: 'GET_MJ_GENERATE_CATEGORY',
IMAGE_SPLIT: 'IMAGE_SPLIT',
ADD_MJ_BAD_PROMPT: 'ADD_MJ_BAD_PROMPT',
MJ_BAD_PROMPT_CHECK: 'MJ_BAD_PROMPT_CHECK',
GET_GENERATED_MJ_IMAGE_AND_SPLIT: 'GET_GENERATED_MJ_IMAGE_AND_SPLIT',
DOWNLOAD_IMAGE_URL_AND_SPLIT: 'DOWNLOAD_IMAGE_URL_AND_SPLIT',
GET_MJ_IMAGE_SCALE: 'GET_MJ_IMAGE_SCALE',
GET_MJ_IMAGE_ROBOT_MODEL: 'GET_MJ_IMAGE_ROBOT_MODEL',
MACTH_USER_RETURN: 'MACTH_USER_RETURN',
AUTO_MATCH_USER: 'AUTO_MATCH_USER'
},
DISCORD: {
OPERATE_REFRASH_DISCORD_URL: 'OPERATE_REFRASH_DISCORD_URL',
GET_DISCORD_WINDOW_URL: 'GET_DISCORD_WINDOW_URL',
CREATE_MESSAGE: 'CREATE_MESSAGE',
UPDATE_MESSAGE: 'UPDATE_MESSAGE',
DELETE_MESSAGE: 'DELETE_MESSAGE',
MAIN_DISCORD_MESSAGE_CHANGE: 'MAIN_DISCORD_MESSAGE_CHANGE'
},
DISCORD_REQUEST_LISTENER_TYPE: {
INPUT_MODEL_IMAGINE_REQUEST: 'INPUT_MODEL_IMAGINE_REQUEST'
},
DISCORD_SIMPLE_DATA_TYPE: {
URL: 'URL',
TOKEN: 'TOKEN'
},
MAIN: {
OPEN_DISCORD_WINDOW: 'OPEN_DISCORD_WINDOW'
},
IMG: {
ONE_SPLIT_FOUR: 'ONE_SPLIT_FOUR',
BASE64_TO_FILE: 'BASE64_TO_FILE',
PROCESS_IMAGE: 'PROCESS_IMAGE',
BATCH_PROCESS_IMAGE: 'BATCH_PROCESS_IMAGE',
BATCH_PROCESS_IMAGE_RESULT: 'BATCH_PROCESS_IMAGE_RESULT'
},
BOOK: {
GET_BOOK_TYPE: 'GET_BOOK_TYPE',
ADD_OR_MODIFY_BOOK: 'ADD_OR_MODIFY_BOOK',
GET_BOOK_DATA: 'GET_BOOK_DATA',
GET_FRAME_DATA: 'GET_FRAME_DATA',
GET_BOOK_TASK_DATA: 'GET_BOOK_TASK_DATA',
AUTO_ACTION: 'AUTO_ACTION'
},
SYSTEM: {
OPEN_FILE: 'OPEN_FILE',
RETURN_LOGGER: 'RETURN_LOGGER'
},
SETTING: {
GET_DATA_BY_TYPE_AND_PROPERTY: 'GET_DATA_BY_TYPE_AND_PROPERTY',
SAVE_DATA_BY_TYPE_AND_PROPERTY: 'SAVE_DATA_BY_TYPE_AND_PROPERTY',
DELETE_DATA_BY_TYPE_AND_PROPERTY: 'DELETE_DATA_BY_TYPE_AND_PROPERTY',
GET_SOFTWARE_SETTING: 'GET_SOFTWARE_SETTING',
SAVE_SOFT_WARE_SETTING: 'SAVE_SOFT_WARE_SETTING',
GET_COMPONENT_SIZE: 'GET_COMPONENT_SIZE',
GET_MJ_SETTING_TREE_DATA: 'GET_MJ_SETTING_TREE_DATA',
SAVE_MJ_SETTING_TREE_DATA: 'SAVE_MJ_SETTING_TREE_DATA',
MJ_REMOTE_ACCOUNT_SYNC: 'MJ_REMOTE_ACCOUNT_SYNC',
GET_MJ_SETTING: 'GET_MJ_SETTING',
UPDATE_MJ_SETTING: 'UPDATE_MJ_SETTING',
GET_REMOTE_MJ_SETTINGS: 'GET_REMOTE_MJ_SETTINGS',
ADD_REMOTE_MJ_SETTING: 'ADD_REMOTE_MJ_SETTING',
UPDATE_REMOTE_MJ_SETTING: 'UPDATE_REMOTE_MJ_SETTING',
DELETE_REMOTE_MJ_SETTING: 'DELETE_REMOTE_MJ_SETTING'
},
PROMPT: {
GET_SORT_OPTIONS: 'GET_SORT_OPTIONS',
SAVE_PROMPT_SORT_DATA: 'SAVE_PROMPT_SORT_DATA',
GET_PROMPT_SORT_DATA: 'GET_PROMPT_SORT_DATA',
OPEN_PROMPT_FILE_TXT: 'OPEN_PROMPT_FILE_TXT'
}
}