From c72fd7ee9c5d3315097fbb8c7c3b83363e96016c Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Mon, 11 Mar 2019 19:22:59 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=20ServerStorage,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=20=D1=81=20api=20reader/storage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/api/reader.js | 22 +++++++++++++ client/components/Reader/Reader.vue | 5 +++ .../Reader/ServerStorage/ServerStorage.vue | 33 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 client/components/Reader/ServerStorage/ServerStorage.vue diff --git a/client/api/reader.js b/client/api/reader.js index c89ccec0..a0b8d329 100644 --- a/client/api/reader.js +++ b/client/api/reader.js @@ -106,6 +106,28 @@ class Reader { return url; } + + async storage(request) { + let response = await api.post('/storage', request); + + const state = response.data.state; + if (!state) + throw new Error('Неверный ответ api'); + + return response.data; + } + + storageCheck(items) { + return this.storage({action: 'check', items}); + } + + storageGet(items) { + return this.storage({action: 'get', items}); + } + + storageSet(items, force) { + return this.storage({action: 'set', force, items}); + } } export default new Reader(); \ No newline at end of file diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index efb833a2..d35cc4eb 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -73,6 +73,7 @@ + @@ -92,6 +93,7 @@ import HistoryPage from './HistoryPage/HistoryPage.vue'; import SettingsPage from './SettingsPage/SettingsPage.vue'; import HelpPage from './HelpPage/HelpPage.vue'; import ClickMapPage from './ClickMapPage/ClickMapPage.vue'; +import ServerStorage from './ServerStorage/ServerStorage.vue'; import bookManager from './share/bookManager'; import readerApi from '../../api/reader'; @@ -112,6 +114,7 @@ export default @Component({ SettingsPage, HelpPage, ClickMapPage, + ServerStorage, }, watch: { bookPos: function(newValue) { @@ -166,6 +169,7 @@ class Reader extends Vue { actionList = []; actionCur = -1; + hidden = false; created() { this.loading = true; @@ -201,6 +205,7 @@ class Reader extends Vue { mounted() { (async() => { + this.$refs.serverStorage.init(); await bookManager.init(this.settings); await restoreOldSettings(this.settings, bookManager, this.commit); diff --git a/client/components/Reader/ServerStorage/ServerStorage.vue b/client/components/Reader/ServerStorage/ServerStorage.vue new file mode 100644 index 00000000..f65cf854 --- /dev/null +++ b/client/components/Reader/ServerStorage/ServerStorage.vue @@ -0,0 +1,33 @@ + + +