From d5404fd2606af6057b4c184b1b7d54ab82b2ea08 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 11 Jan 2022 21:30:43 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88=D0=B8=D0=B9=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/Reader.vue | 6 +- .../Reader/ServerStorage/ServerStorage.vue | 2 +- client/components/Reader/share/bookManager.js | 71 +------------------ 3 files changed, 7 insertions(+), 72 deletions(-) diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index 198c1455..e964f730 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -585,7 +585,11 @@ class Reader { //сохранение в serverStorage if (value) { await utils.sleep(500); - await this.$refs.serverStorage.saveRecent(value); + try { + await this.$refs.serverStorage.saveRecent(value); + } catch (e) { + this.$root.notify.error(e.message); + } } } } diff --git a/client/components/Reader/ServerStorage/ServerStorage.vue b/client/components/Reader/ServerStorage/ServerStorage.vue index af8c29d3..c62a2508 100644 --- a/client/components/Reader/ServerStorage/ServerStorage.vue +++ b/client/components/Reader/ServerStorage/ServerStorage.vue @@ -627,7 +627,7 @@ class ServerStorage { this.warning(`Последние изменения отменены. Данные синхронизированы с сервером.`); if (!recurse && itemKey) { this.savingRecent = false; - this.saveRecent(itemKey, true); + await this.saveRecent(itemKey, true); return; } } else if (result.state == 'success') { diff --git a/client/components/Reader/share/bookManager.js b/client/components/Reader/share/bookManager.js index 0c93379e..ad07c0d0 100644 --- a/client/components/Reader/share/bookManager.js +++ b/client/components/Reader/share/bookManager.js @@ -63,48 +63,6 @@ class BookManager { } await this.cleanRecentBooks(); - - //TODO: убрать после 06.2021, когда bmRecentStoreOld устареет - { - await this.convertFileToDiskPrefix(); - if (this.recentRev > 10) - await bmRecentStoreOld.clear(); - } - } else {//TODO: убрать после 06.2021, когда bmRecentStoreOld устареет - this.recentLast = await bmRecentStoreOld.getItem('recent-last'); - if (this.recentLast) { - this.recent[this.recentLast.key] = this.recentLast; - const meta = await bmMetaStore.getItem(`bmMeta-${this.recentLast.key}`); - if (_.isObject(meta)) { - this.books[meta.key] = meta; - } - } - - let key = null; - const len = await bmRecentStoreOld.length(); - for (let i = len - 1; i >= 0; i--) { - key = await bmRecentStoreOld.key(i); - if (key) { - let r = await bmRecentStoreOld.getItem(key); - if (_.isObject(r) && r.key) { - this.recent[r.key] = r; - } - } else { - await bmRecentStoreOld.removeItem(key); - } - } - - //размножение для дебага - /*if (key) { - for (let i = 0; i < 1000; i++) { - const k = this.keyFromUrl(i.toString()); - this.recent[k] = Object.assign({}, _.cloneDeep(this.recent[key]), {key: k, touchTime: Date.now() - 1000000, url: utils.randomHexString(300)}); - } - }*/ - - await bmRecentStoreNew.setItem('recent', this.recent); - this.recentRev = 1; - await bmRecentStoreNew.setItem('rev', this.recentRev); } this.recentChanged = true; @@ -374,7 +332,7 @@ class BookManager { //-- recent -------------------------------------------------------------- async recentSetItem(item = null, skipCheck = false) { const rev = await bmRecentStoreNew.getItem('rev'); - if (rev != this.recentRev && !skipCheck) { + if (rev != this.recentRev && !skipCheck) {//если изменение произошло в другой вкладке барузера const newRecent = await bmRecentStoreNew.getItem('recent'); Object.assign(this.recent, newRecent); this.recentItem = await bmRecentStoreNew.getItem('recent-item'); @@ -455,33 +413,6 @@ class BookManager { return isDel; } - async convertFileToDiskPrefix() { - let isConverted = false; - - const newRecent = {}; - for (let key of Object.keys(this.recent)) { - let newKey = key; - let newUrl = this.recent[key].url; - - if (newKey.indexOf('66696c65') == 0) { - newKey = newKey.replace(/^66696c65/, '6469736b'); - if (newUrl) - newUrl = newUrl.replace(/^file/, 'disk'); - isConverted = true; - } - - newRecent[newKey] = this.recent[key]; - newRecent[newKey].key = newKey; - if (newUrl) - newRecent[newKey].url = newUrl; - } - if (isConverted) { - this.recent = newRecent; - await this.recentSetItem(null, true); - } - return isConverted; - } - mostRecentBook() { if (this.recentLastKey) { return this.recent[this.recentLastKey];