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() } return SoftwareService.instance } // 修改数据库中行中的某个属性数据 async UpdateSoftware(software) { try { await this.open() this.realm.write(() => { this.realm.create('Software', software, UpdateMode.Modified) }) // 返回成功信息 return successMessage(null, '修改软件配置信息成功', 'SoftwareService_UpdateSoftware') } catch (error) { throw error } } async AddSfotware(software) { try { await this.open() software.id = uuidv4() this.realm.write(() => { this.realm.create('Software', software) }) } catch (error) { throw error } } /** * 或软件基础配置信息 */ async GetSoftwareData() { try { await this.open() let software = this.realm.objects('Software') return successMessage( software.toJSON(), '获取软件配置信息成功', 'SoftwareService_GetSoftwareData' ) } catch (error) { global.logger.error( 'SoftwareService_GetSoftwareData', '获取软件的基础设置失败 ,错误信息如下:' + error.toString() ) throw error } } } export default SoftwareService