fix: indexDB 消息表

main
Lei OT 7 months ago
parent d83c1ad3fd
commit 7920a5a939

@ -107,7 +107,7 @@ export const clearWebsocketLog = () => {
} }
} }
export const createIndexedDBStore = (tables, database) => { export const createIndexedDBStore = (tables, database, keySet = {keyPath: 'key' }) => {
var open = indexedDB.open(database, INDEXED_DB_VERSION) var open = indexedDB.open(database, INDEXED_DB_VERSION)
// console.trace('createIndexedDBStore'); // console.trace('createIndexedDBStore');
open.onupgradeneeded = function () { open.onupgradeneeded = function () {
@ -116,7 +116,7 @@ export const createIndexedDBStore = (tables, database) => {
// 数据库是否存在 // 数据库是否存在
for (const table of tables) { for (const table of tables) {
if (!db.objectStoreNames.contains(table)) { if (!db.objectStoreNames.contains(table)) {
var store = db.createObjectStore(table, { keyPath: 'key' }) var store = db.createObjectStore(table, keySet)
store.createIndex('timestamp', 'timestamp', { unique: false }) store.createIndex('timestamp', 'timestamp', { unique: false })
} else { } else {
const objectStore = open.transaction.objectStore(table) const objectStore = open.transaction.objectStore(table)
@ -189,9 +189,9 @@ export const readIndexDB = (keys=null, table, database) => {
var store = db.createObjectStore(table, { keyPath: 'key' }) var store = db.createObjectStore(table, { keyPath: 'key' })
store.createIndex('timestamp', 'timestamp', { unique: false }) store.createIndex('timestamp', 'timestamp', { unique: false })
} else { } else {
const logStore = openRequest.transaction.objectStore(table) const store = openRequest.transaction.objectStore(table)
if (!logStore.indexNames.contains('timestamp')) { if (!store.indexNames.contains('timestamp')) {
logStore.createIndex('timestamp', 'timestamp', { unique: false }) store.createIndex('timestamp', 'timestamp', { unique: false })
} }
} }
} }
@ -362,7 +362,7 @@ export const deleteIndexDBbyKey = (keys=null, table, database) => {
}; };
function cleanOldData(database, storeNames=[], dateKey = 'timestamp', keySet = { keyPath: 'key' }) { function cleanOldData(database, storeNames=[], dateKey = 'timestamp', keySet = { keyPath: 'key' }) {
createIndexedDBStore(storeNames, database); createIndexedDBStore(storeNames, database, keySet);
return function (daysToKeep = 7) { return function (daysToKeep = 7) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let deletedCount = 0 let deletedCount = 0

Loading…
Cancel
Save