diff --git a/src/indexeddb.js b/src/indexeddb.js index 631d302..0dec502 100644 --- a/src/indexeddb.js +++ b/src/indexeddb.js @@ -48,6 +48,34 @@ export default class IndexedDB { }) } + 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') diff --git a/src/main.js b/src/main.js index 3a5939b..e6758e8 100644 --- a/src/main.js +++ b/src/main.js @@ -69,7 +69,8 @@ const musicList = new MusicList({ onlike: (item, list) => { console.log('喜欢音乐', item.name) if (item.arrayBuffer) { - musicStore.add(item) + //musicStore.add(item) + database.add('musicObjectStore', item) clientList.send('base', JSON.stringify({ type: 'set_music_list', list: list.map(({ id, name, size, type }) => ({ id, name, size, type }))