// 定义抽象基类 import Realm from 'realm' export abstract class BaseService { protected realm: Realm | null = null // 抽象类的构造函数应该是protected,以防止外部直接实例化 protected constructor() { // 构造函数逻辑,使用someValue进行初始化 } // 定义抽象方法,子类必须实现,打开数据库连接 abstract open(dbPath: string): void // 关闭数据库连接 close(): void { // 关闭数据库的连接,防止内存溢出 // 实现关闭数据库连接的逻辑 if (this.realm != null) { console.log('Closing database connection') this.realm.close() this.realm = null // 清理引用,确保垃圾回收 } } transaction(func: () => unknown): void { if (this.realm != null) { // 判断当前的relam是不是在一个事务中 if (this.realm.isInTransaction) { func() } else { this.realm.write(() => { func() }) } } } }