瀏覽代碼

Компонент ServerStorage, добавлена работа с api reader/storage

Book Pauk 6 年之前
父節點
當前提交
c72fd7ee9c
共有 3 個文件被更改,包括 60 次插入0 次删除
  1. 22 0
      client/api/reader.js
  2. 5 0
      client/components/Reader/Reader.vue
  3. 33 0
      client/components/Reader/ServerStorage/ServerStorage.vue

+ 22 - 0
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();

+ 5 - 0
client/components/Reader/Reader.vue

@@ -73,6 +73,7 @@
             <SettingsPage v-if="settingsActive" ref="settingsPage" @settings-toggle="settingsToggle"></SettingsPage>
             <HelpPage v-if="helpActive" ref="helpPage" @help-toggle="helpToggle"></HelpPage>
             <ClickMapPage v-show="clickMapActive" ref="clickMapPage"></ClickMapPage>
+            <ServerStorage v-show="hidden" ref="serverStorage"></ServerStorage>
         </el-main>
     </el-container>
 </template>
@@ -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);
 

+ 33 - 0
client/components/Reader/ServerStorage/ServerStorage.vue

@@ -0,0 +1,33 @@
+<template>
+    <div></div>
+</template>
+
+<script>
+//-----------------------------------------------------------------------------
+import Vue from 'vue';
+import Component from 'vue-class-component';
+
+import bookManager from '../share/bookManager';
+import readerApi from '../../../api/reader';
+
+export default @Component({
+})
+class ServerStorage extends Vue {
+    created() {
+        this.commit = this.$store.commit;
+    }
+
+    async init() {
+        /*const items = {
+            '1': {rev: 1, data: 1},
+        };
+        console.log(await readerApi.storageSet(items));*/
+    }
+
+    get settings() {
+        return this.$store.state.reader.settings;
+    }
+
+}
+//-----------------------------------------------------------------------------
+</script>