|
|
|
@ -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
|
|
|
|
|