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

This commit is contained in:
Book Pauk
2019-03-11 19:22:59 +07:00
parent 7dc76b4222
commit c72fd7ee9c
3 changed files with 60 additions and 0 deletions

View File

@@ -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();

View File

@@ -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);

View File

@@ -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>