V 3.2.5(2025.02.26)
1. 修复新用户合并MJ设置初始化问题 2. 修复原创MJ设置数据缺失
This commit is contained in:
parent
03d3ff7e9d
commit
77ee38d302
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "laitool",
|
||||
"version": "3.2.4",
|
||||
"version": "3.2.5",
|
||||
"description": "An AI tool for image processing, video processing, and other functions.",
|
||||
"main": "./out/main/index.js",
|
||||
"author": "laitool.cn",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,16 +1,15 @@
|
||||
import Realm, { UpdateMode } from 'realm'
|
||||
import path from 'path'
|
||||
import { BaseService } from '../baseService'
|
||||
import { define } from '../../../define'
|
||||
import { SoftwareModel } from '../../model/SoftWare/software'
|
||||
import { ComponentSize, SoftwareThemeType } from '../../../enum/softwareEnum.js'
|
||||
import { errorMessage, successMessage } from '../../../../main/Public/generalTools'
|
||||
import { successMessage } from '../../../../main/Public/generalTools'
|
||||
import { BaseSoftWareService } from './softwareBasic.js'
|
||||
import { isEmpty, isNumber } from 'lodash'
|
||||
import { cloneDeep, isEmpty } from 'lodash'
|
||||
const { v4: uuidv4 } = require('uuid')
|
||||
import { version } from '../../../../../package.json'
|
||||
import { GeneralResponse } from '../../../../model/generalResponse'
|
||||
import { MJCategroy } from '../../../enum/bookEnum'
|
||||
import { OptionRealmService } from './optionRealmService'
|
||||
import { OptionKeyName } from '@/define/enum/option'
|
||||
import { OptionModel } from '@/model/option/option'
|
||||
import { ValidateJson } from '@/define/Tools/validate'
|
||||
|
||||
export class MJSettingService extends BaseSoftWareService {
|
||||
static instance: MJSettingService | null = null
|
||||
@ -462,21 +461,29 @@ export class MJSettingService extends BaseSoftWareService {
|
||||
* @param mjSettingQuery 查询的条件 Id ,null 返回全部
|
||||
* @returns
|
||||
*/
|
||||
GetMjSetting(mjSettingQuery) {
|
||||
GetMjSetting() {
|
||||
try {
|
||||
let mjSettings = this.realm.objects('MjSetting')
|
||||
|
||||
if (mjSettingQuery?.id) {
|
||||
mjSettings = this.realm.objects('MjSetting').filtered('id = $0', mjSettingQuery.id)
|
||||
}
|
||||
let res = this.realm.objects('Options').filtered(`key = "${OptionKeyName.MJ_GlobalSetting}"`);
|
||||
|
||||
let resMjSetting = Array.from(mjSettings).map((mjSetting) => {
|
||||
return {
|
||||
...mjSetting
|
||||
let mjSetting: OptionModel.OptionItem | null = null;
|
||||
if (res.length > 0) {
|
||||
let resData = Array.from(res).map((item) => {
|
||||
let resObj = {
|
||||
...item
|
||||
}
|
||||
return cloneDeep(resObj)
|
||||
})
|
||||
mjSetting = resData[0] as OptionModel.OptionItem
|
||||
|
||||
if (!ValidateJson(mjSetting.value)) {
|
||||
throw new Error('MJ设置的数据格式不正确,请检查数据格式')
|
||||
}
|
||||
})
|
||||
return JSON.parse(mjSetting.value)?.mj_simpleSetting
|
||||
|
||||
return successMessage(resMjSetting, '获取MJ基础设置成功', 'MJSettingService_getMjSetting')
|
||||
} else {
|
||||
throw new Error('没有找到MJ的设置信息,请检查')
|
||||
}
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
@ -582,11 +589,14 @@ export class MJSettingService extends BaseSoftWareService {
|
||||
GetMJSettingTreeData() {
|
||||
try {
|
||||
// 获取MJ的基础配置信息
|
||||
let mjSettings = this.GetMjSetting(null)
|
||||
if (mjSettings.data.length <= 0) {
|
||||
this.InitData();
|
||||
mjSettings = this.GetMjSetting(null)
|
||||
let mjSettings = this.GetMjSetting()
|
||||
// if (mjSettings.data.length <= 0) {
|
||||
// this.InitData();
|
||||
// mjSettings = this.GetMjSetting(null)
|
||||
|
||||
// }
|
||||
if (mjSettings == null) {
|
||||
throw new Error('未找到MJ的设置信息,请检查');
|
||||
}
|
||||
// 获取API的配置信息
|
||||
let apiSettings = this.GetAPIMjSetting(null)
|
||||
@ -594,7 +604,7 @@ export class MJSettingService extends BaseSoftWareService {
|
||||
let remoteSettings = this.GetRemoteMJSettings(null)
|
||||
// 获取浏览器模式的配置信息
|
||||
let browserSettings = this.GetBrowserMJSetting(null)
|
||||
let mjSetting = mjSettings.data[0]
|
||||
let mjSetting = mjSettings
|
||||
mjSetting.apiSetting = apiSettings.data.length > 0 ? apiSettings.data[0] : null
|
||||
mjSetting.remoteSetting = remoteSettings.data.length > 0 ? remoteSettings.data[0] : null
|
||||
mjSetting.browserSetting = browserSettings.data.length > 0 ? browserSettings.data[0] : null
|
||||
|
||||
@ -23,6 +23,9 @@ import path from "path"
|
||||
const { v4: uuidv4 } = require('uuid')
|
||||
import fs from "fs"
|
||||
import { TaskModal } from "@/model/task";
|
||||
import { OptionServices } from "../Options/optionServices";
|
||||
import { OptionKeyName } from "@/define/enum/option";
|
||||
import { ValidateJson } from "@/define/Tools/validate";
|
||||
const fspromise = fs.promises
|
||||
|
||||
export class MJOpt {
|
||||
@ -34,6 +37,8 @@ export class MJOpt {
|
||||
bookServiceBasic: BookServiceBasic
|
||||
presetService: PresetService
|
||||
softWareServiceBasic: SoftWareServiceBasic
|
||||
mj_globalSetting: MJSettingModel.MJ_GlobalSettingModel
|
||||
|
||||
constructor() {
|
||||
this.imageStyle = new ImageStyle()
|
||||
this.logScheduler = new LogScheduler()
|
||||
@ -48,9 +53,20 @@ export class MJOpt {
|
||||
* 获取MJ设置
|
||||
*/
|
||||
async GetMJSetting() {
|
||||
if (!this.mjSimpleSetting) {
|
||||
this.mjSimpleSetting = await this.softWareServiceBasic.GetMjSetting()
|
||||
let optionServices = new OptionServices()
|
||||
let mjSettingData = await optionServices.GetOptionByKey(OptionKeyName.MJ_GlobalSetting);
|
||||
if (mjSettingData.code == 0) {
|
||||
throw new Error("加载MJ设置失败,失败原因如下:" + mjSettingData.message)
|
||||
}
|
||||
if (mjSettingData.data == null) {
|
||||
throw new Error("加载MJ设置失败,失败原因如下:没有找到对应的MJ设置,请先去MJ设置中设置")
|
||||
}
|
||||
if (!ValidateJson(mjSettingData.data.value)) {
|
||||
throw new Error("MJ设置的数据格式不正确,请检查数据格式")
|
||||
}
|
||||
|
||||
this.mj_globalSetting = JSON.parse(mjSettingData.data.value) as MJSettingModel.MJ_GlobalSettingModel
|
||||
this.mjSimpleSetting = this.mj_globalSetting.mj_simpleSetting
|
||||
}
|
||||
|
||||
|
||||
@ -378,8 +394,7 @@ export class MJOpt {
|
||||
}
|
||||
|
||||
// let suffixParam = imageBaseSetting.mj_config.image_suffix ; // 没有就直接报错
|
||||
let mjSettingDb = await this.softWareServiceBasic.GetMjSetting()
|
||||
let suffixParam = mjSettingDb.imageSuffix
|
||||
let suffixParam = this.mjSimpleSetting.imageSuffix
|
||||
|
||||
// let styleString = '';
|
||||
// 拿到所有的风格
|
||||
|
||||
@ -36,11 +36,11 @@ class MJApi {
|
||||
*/
|
||||
async InitMJSetting(): Promise<void> {
|
||||
// 获取MJ配置,从数据库中
|
||||
let _mjSettingService = await MJSettingService.getInstance()
|
||||
let mjSettings = _mjSettingService.GetMJSettingTreeData()
|
||||
if (mjSettings.code == 0) {
|
||||
throw new Error(mjSettings.message)
|
||||
}
|
||||
// let _mjSettingService = await MJSettingService.getInstance()
|
||||
// let mjSettings = _mjSettingService.GetMJSettingTreeData()
|
||||
// if (mjSettings.code == 0) {
|
||||
// throw new Error(mjSettings.message)
|
||||
// }
|
||||
|
||||
|
||||
let mjSettingData = await this.optionServices.GetOptionByKey(OptionKeyName.MJ_GlobalSetting);
|
||||
|
||||
@ -87,16 +87,9 @@ export class SoftWareServiceBasic {
|
||||
*/
|
||||
async GetMjSetting(): Promise<MJSettingModel.MjSimpleSettingModel> {
|
||||
await this.InitService();
|
||||
let mjSetting = this.mjSettingService.GetMjSetting({})
|
||||
if (mjSetting.code == 1) {
|
||||
if (mjSetting.data.length <= 0) {
|
||||
throw new Error("未找到MJ的设置信息,请检查");
|
||||
}
|
||||
// 这边只是返回第一个
|
||||
return mjSetting.data[0]
|
||||
} else {
|
||||
throw new Error(mjSetting.message)
|
||||
}
|
||||
let mjSetting = this.mjSettingService.GetMjSetting()
|
||||
|
||||
return mjSetting
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
@ -142,7 +142,7 @@ async function AutoSyncMJConfig2210() {
|
||||
}
|
||||
|
||||
// 判断基础数据,不存在同步
|
||||
let mjSetting = _mjSettingService.GetMjSetting(null)
|
||||
let mjSetting = _mjSettingService.GetMjSetting()
|
||||
if (mjSetting.code == 1 && mjSetting.data.length <= 0) {
|
||||
//判断数据然后选择同步
|
||||
if (
|
||||
|
||||
@ -93,7 +93,7 @@ export class MJSetting {
|
||||
async GetMJSetting(mjSettingQuery) {
|
||||
try {
|
||||
let _mjSetting = await MJSettingService.getInstance()
|
||||
let res = _mjSetting.GetMjSetting(mjSettingQuery)
|
||||
let res = _mjSetting.GetMjSetting()
|
||||
return res
|
||||
} catch (error) {
|
||||
return errorMessage(
|
||||
|
||||
@ -157,6 +157,9 @@ import {
|
||||
import { DEFINE_STRING } from '../../../../../define/define_string'
|
||||
import InputDialogContent from './InputDialogContent.vue'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import MJDefine from '@/main/Service/MJ/mjDefine'
|
||||
import { OptionKeyName, OptionType } from '@/define/enum/option'
|
||||
import { ValidateJson } from '@/define/Tools/validate'
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
@ -230,35 +233,28 @@ export default defineComponent({
|
||||
character_select_model_options.value = value.data
|
||||
})
|
||||
}
|
||||
|
||||
let mj_globalSetting
|
||||
/**
|
||||
* 初始化MJ的option
|
||||
*/
|
||||
async function InitMjOptions() {
|
||||
// 获取当前mj配置信息,加载基础信息
|
||||
let res = await window.setting.GetMjSetting()
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
return
|
||||
let mjSettingData = await window.options.GetOptionByKey(OptionKeyName.MJ_GlobalSetting)
|
||||
if (mjSettingData.code == 0) {
|
||||
throw new Error('加载MJ设置失败,失败原因如下:' + mjSettingData.message)
|
||||
}
|
||||
if (mjSettingData.data == null) {
|
||||
throw new Error('加载MJ设置失败,失败原因如下:没有找到对应的MJ设置,请先去MJ设置中设置')
|
||||
}
|
||||
if (!ValidateJson(mjSettingData.data.value)) {
|
||||
throw new Error('MJ设置的数据格式不正确,请检查数据格式')
|
||||
}
|
||||
|
||||
if (res.data.length <= 0) {
|
||||
message.error('当前没有MJ配置信息,请先配置MJ信息')
|
||||
return
|
||||
}
|
||||
mj_globalSetting = JSON.parse(mjSettingData.data.value)
|
||||
let mjSimpleSetting = mj_globalSetting.mj_simpleSetting
|
||||
|
||||
mjSetting.value = Object.assign(mjSetting.value, res.data[0])
|
||||
mjSetting.value = Object.assign(mjSetting.value, mjSimpleSetting)
|
||||
|
||||
await window.mj.GetMJGenerateCategory((value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
return
|
||||
}
|
||||
request_model_options.value = value.data.filter((item) => !item.disable)
|
||||
if (request_model_options.value.length > 0 && mjSetting.value.request_model == null) {
|
||||
mjSetting.value.request_model = request_model_options.value[0].value
|
||||
}
|
||||
})
|
||||
request_model_options.value = MJDefine.GetMJRequestModelOptions()
|
||||
|
||||
mj_speed_options.value = [
|
||||
{
|
||||
@ -324,8 +320,13 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
|
||||
debugger
|
||||
// 保存MJ的基础设置
|
||||
let saveMjRes = await window.setting.UpdateMJSetting(toRaw(mjSetting.value))
|
||||
let saveMjRes = await window.options.ModifyOptionByKey(
|
||||
OptionKeyName.MJ_GlobalSetting,
|
||||
JSON.stringify({ ...mj_globalSetting, mj_simpleSetting: mjSetting.value }),
|
||||
OptionType.JSON
|
||||
)
|
||||
if (saveMjRes.code == 0) {
|
||||
throw new Error(saveMjRes.message)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user