lq1405 b5ed4e313d V 4.0.4
1. 新增预设库的批量删除
2. 添加两个高图文一致性推理出图提示词预设
3. 新增两个通用的高图文一致性推理出图和图转视频提示词预设
4. 新增 ComfyUI 图转视频功能(之前的工作流需要重新配置)
5. 优化 ComfyUI 设置
6. 新增导入图转视频提示词
7. 新增同步出图提示词到图转视频提示词
2025-11-05 19:39:42 +08:00

94 lines
2.6 KiB
TypeScript

import Realm from 'realm'
import { BaseService } from './baseService'
import path from 'path'
import fs from 'fs'
import { BookModel } from '../../model/book'
import {
BookTaskDetailModel,
MJMessage,
ReversePrompt,
SDConfig,
Subtitle,
VideoMessage,
WebuiConfig
} from '../../model/bookTaskDetail'
import { TaskListModel } from '../../model/taskList'
import { OptionModel } from '../../model/options'
import { BookTaskModel } from '../../model/bookTask'
import { PresetModel } from '../../model/preset'
import { define } from '@/define/define'
import { WorkFlowModel } from '../../model/workflow'
const { app } = require('electron')
// Determine database path based on environment
const isDev = !app.isPackaged
let dbPath = isDev
? path.resolve(process.cwd(), 'Database/option.realm') // Development path
: path.resolve(app.getPath('userData'), '../laitool-pro/Database/option.realm') // Production path
// 版本迁移
const migration = (_oldRealm: Realm, _newRealm: Realm) => { }
export class RealmBaseService extends BaseService {
static instance: RealmBaseService | null = null
protected realm: Realm | null = null
dbpath: string
protected constructor() {
super()
this.dbpath = dbPath
}
public static async getInstance() {
if (RealmBaseService.instance === null) {
// 将数写道本地文件
await fs.promises.writeFile(path.join(process.cwd(), '123.txt'),
`
dbPath : ${dbPath}
resourcesPath : ${define.resources_path},
log_folder : ${define.log_folder}
image_path : ${define.image_path}
cache_path : ${define.cache_path}
__dirname : ${__dirname}
`, 'utf-8')
RealmBaseService.instance = new RealmBaseService()
await RealmBaseService.instance.open()
}
return RealmBaseService.instance
}
/**
* 创建数据库连接,如果已经存在则直接返回
* @returns
*/
async open() {
try {
if (this.realm != null) return
// 判断当前全局是不是又当前这个
const config = {
schema: [
BookModel,
BookTaskDetailModel,
TaskListModel,
OptionModel,
MJMessage,
VideoMessage,
WebuiConfig,
SDConfig,
ReversePrompt,
Subtitle,
BookTaskModel,
PresetModel,
WorkFlowModel
],
path: this.dbpath,
schemaVersion: 25, // 数据库版本号,修改时需要增加
migration: migration
}
this.realm = await Realm.open(config)
} catch (error) {
throw error
}
}
}