/* * @Date: 2025-10-23 14:48:48 * @LastEditors: shirlwang * @LastEditTime: 2025-10-23 15:02:32 */ // BaseStore.js - 基础Store类 import IndexedDBHelper from '@/common/IndexedDBHelper.js' // import UniStorageHelper from '../common/UniStorageHelper' import useChatGroupDBStore from './userChatGroupStore' import config from '@/config' class BaseStore { db = null isDBReady = false dbName = 'BrowsingHistory' constructor() { this.checkAndInitDB() } checkAndInitDB() { // 获取本地数据库版本 if (config.OnlyUseCachedDB) { return this.initDB() } const localVersion = uni.getStorageSync('indexedDBVersion') || 1 console.log('DBVersion: ', localVersion, config.DBversion) if (localVersion === config.DBversion) { this.initDB() } else { console.log('清空本地数据库') this.clearDB().then(() => { uni.setStorageSync('indexedDBVersion', config.DBversion); this.initDB(); }); } } initDB() { // // #ifdef H5 this.db = new IndexedDBHelper(this.dbName, config.DBversion); // // #endif // // #ifndef H5 // this.db = new UniStorageHelper(this.dbName, config.DBversion); // // #endif // this.db.openDB([{ // name: 'record', // keyPath: "id", // autoIncrement: true, // }, { // name: 'messageGroup', // keyPath: "id", // autoIncrement: true, // }, { // name: 'messages', // keyPath: "id", // autoIncrement: true, // indexes: [{ // name: 'parentGroupId', // key: 'parentGroupId', // unique: false // }] // }]).then(async () => { // useChatGroupDBStore().init() // this.isDBReady = true // }); } async clearDB() { return new Promise((resolve, rejetc) => { new IndexedDBHelper().deleteDB(this.dbName).then(() => { resolve() }) }) } } const baseDB = new BaseStore() export default baseDB