From 03e19fbf58ec4e9e8c7a2940ba0d241c9313ca8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A7=89?= Date: Fri, 8 Mar 2024 11:03:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=AF=B9=20indexeddb=20?= =?UTF-8?q?=E7=9A=84=E9=A2=9D=E5=A4=96=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/indexeddb.js | 92 ------------------------------------------------ 1 file changed, 92 deletions(-) delete mode 100644 src/indexeddb.js diff --git a/src/indexeddb.js b/src/indexeddb.js deleted file mode 100644 index 118a106..0000000 --- a/src/indexeddb.js +++ /dev/null @@ -1,92 +0,0 @@ -export default class IndexedDB { - constructor(databaseName, databaseVersion) { - this.databaseName = databaseName - this.databaseVersion = databaseVersion - this.db = null - } - - open(name) { - return new Promise((resolve, reject) => { - const request = indexedDB.open(this.databaseName, this.databaseVersion) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - this.db = event.target.result - resolve(this.db) - } - request.onupgradeneeded = (event) => { - const db = event.target.result - if (!db.objectStoreNames.contains(name)) { - db.createObjectStore(name, { keyPath: 'id' }) - console.log('store created:', name) - } - } - }) - } - - async store(name) { - if (!this.db) await this.open(name) - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - resolve(objectStore) - }) - } - - getAll(name) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readonly') - const objectStore = transaction.objectStore(name) - const request = objectStore.getAll() - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - add(name, data) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.add(data) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - put(name, data) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.put(data) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - delete(name, id) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.delete(id) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } -} \ No newline at end of file