1. 新增预设库的批量删除 2. 添加两个高图文一致性推理出图提示词预设 3. 新增两个通用的高图文一致性推理出图和图转视频提示词预设 4. 新增 ComfyUI 图转视频功能(之前的工作流需要重新配置) 5. 优化 ComfyUI 设置 6. 新增导入图转视频提示词 7. 新增同步出图提示词到图转视频提示词
94 lines
2.6 KiB
TypeScript
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
|
|
}
|
|
}
|
|
}
|