Browse Source

Небольшие поправки

Book Pauk 6 years ago
parent
commit
77c68d4e11

+ 1 - 1
client/components/Reader/ServerStorage/ServerStorage.vue

@@ -90,7 +90,7 @@ class ServerStorage extends Vue {
             this.prevServerStorageKey = this.serverStorageKey;
             this.hashedStorageKey = utils.toBase58(cryptoUtils.sha256(this.serverStorageKey));
             this.keyInited = true;
-            
+
             await this.loadProfiles(force);
             this.checkCurrentProfile();
             await this.currentProfileChanged(force);

+ 19 - 11
client/components/Reader/share/bookManager.js

@@ -79,19 +79,22 @@ class BookManager {
             }
         }
 
-        let key = null;
-        len = await bmRecentStore.length();
-        for (let i = 0; i < len; i++) {
-            key = await bmRecentStore.key(i);
-            if (key) {
-                let r = await bmRecentStore.getItem(key);
-                if (_.isObject(r) && r.key) {
-                    this.recent[r.key] = r;
+        //"ленивая" загрузка
+        (async() => {
+            let key = null;
+            len = await bmRecentStore.length();
+            for (let i = 0; i < len; i++) {
+                key = await bmRecentStore.key(i);
+                if (key) {
+                    let r = await bmRecentStore.getItem(key);
+                    if (_.isObject(r) && r.key) {
+                        this.recent[r.key] = r;
+                    }
+                } else  {
+                    await bmRecentStore.removeItem(key);
                 }
-            } else  {
-                await bmRecentStore.removeItem(key);
             }
-        }
+        })();
 
         //размножение для дебага
         /*if (key) {
@@ -410,6 +413,11 @@ class BookManager {
         this.recentLast = value;
         await bmCacheStore.setItem('recent-last', this.recentLast);
         if (value && value.key) {
+            //гарантия переключения книги
+            const mostRecent = this.mostRecentBook();
+            if (mostRecent)
+                this.recent[mostRecent.key].touchTime = value.touchTime - 1;
+
             this.recent[value.key] = value;
             await bmRecentStore.setItem(value.key, value);
             await bmCacheStore.setItem('recent', this.recent);