V 3.2.5(2025.02.26)

1. 修复新用户合并MJ设置初始化问题
2. 修复原创MJ设置数据缺失
This commit is contained in:
2025-02-26 12:03:01 +08:00
parent 03d3ff7e9d
commit 77ee38d302
10 changed files with 85 additions and 66 deletions
@@ -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