LaiTool/src/define/db/service/SoftWare/softwareService.ts

132 lines
3.5 KiB
TypeScript
Raw Normal View History

2024-06-24 13:11:19 +08:00
import Realm, { UpdateMode } from 'realm'
import path from 'path'
import { BaseService } from '../baseService.js'
import { define } from '../../../define.js'
import { SoftwareModel } from '../../model/SoftWare/software.js'
import { ComponentSize, SoftwareThemeType } from '../../../enum/softwareEnum.js'
import { successMessage } from '../../../../main/generalTools.js'
import { BaseSoftWareService } from './softwareBasic.js'
const { v4: uuidv4 } = require('uuid')
export class SoftwareService extends BaseSoftWareService {
static instance: SoftwareService | null = null
realm: Realm
private constructor() {
super()
}
/**
*
* @returns
*/
public static async getInstance() {
if (SoftwareService.instance === null) {
SoftwareService.instance = new SoftwareService()
await super.getInstance()
}
2024-07-13 15:44:13 +08:00
await SoftwareService.instance.open()
2024-06-24 13:11:19 +08:00
return SoftwareService.instance
}
// 修改数据库中行中的某个属性数据
2024-07-13 15:44:13 +08:00
UpdateSoftware(software) {
2024-06-24 13:11:19 +08:00
try {
this.realm.write(() => {
this.realm.create('Software', software, UpdateMode.Modified)
})
// 返回成功信息
return successMessage(null, '修改软件配置信息成功', 'SoftwareService_UpdateSoftware')
} catch (error) {
throw error
}
}
2024-07-13 15:44:13 +08:00
/**
*
* @param software
* @returns
*/
AddSfotware(software) {
2024-06-24 13:11:19 +08:00
try {
software.id = uuidv4()
this.realm.write(() => {
this.realm.create('Software', software)
})
2024-07-13 15:44:13 +08:00
return successMessage(null, '添加软件配置信息成功', 'SoftwareService_AddSfotware')
2024-06-24 13:11:19 +08:00
} catch (error) {
throw error
}
}
/**
*
*/
2024-07-13 15:44:13 +08:00
GetSoftwareData() {
2024-06-24 13:11:19 +08:00
try {
let software = this.realm.objects('Software')
return successMessage(
software.toJSON(),
'获取软件配置信息成功',
'SoftwareService_GetSoftwareData'
)
} catch (error) {
global.logger.error(
'SoftwareService_GetSoftwareData',
'获取软件的基础设置失败 ,错误信息如下:' + error.toString()
)
throw error
}
}
2024-07-13 15:44:13 +08:00
/**
*
* @param property
*/
GetSoftWarePropertyData(property: string) {
try {
let software = this.realm.objects('Software')
if (software.length <= 0) {
throw new Error('数据库中没有软件配置信息')
}
let softwareData = software.toJSON()[0]
let res = softwareData[property]
return successMessage(res, '获取软件配置信息成功', 'SoftwareService_GetSoftWarePropertyData')
} catch (error) {
global.logger.error(
'SoftwareService_GetSoftWarePropertyData',
'获取软件的基础设置失败 ,错误信息如下:' + error.toString()
)
throw error
}
}
/**
*
* @param property
* @param data
* @returns
*/
SaveSoftwarePropertyData(property: string, data: string) {
try {
this.transaction(() => {
let software = this.realm.objects('Software')
// 遍历修改
for (let item of software) {
item[property] = data
}
})
return successMessage(
null,
'保存软件配置信息成功',
'SoftwareService_SaveSoftwarePropertyData'
)
} catch (error) {
throw error
}
}
2024-06-24 13:11:19 +08:00
}
export default SoftwareService