Files
inpx-web/client/components/Api/Api.vue
2022-08-19 00:24:05 +07:00

74 lines
1.4 KiB
Vue

<template>
<div>
</div>
</template>
<script>
//-----------------------------------------------------------------------------
import vueComponent from '../vueComponent.js';
import wsc from './webSocketConnection';
//import _ from 'lodash';
const componentOptions = {
components: {
},
watch: {
},
};
class Api {
_options = componentOptions;
created() {
this.commit = this.$store.commit;
}
mounted() {
this.updateConfig();//no await
}
async updateConfig() {
try {
const config = await this.getConfig();
this.commit('setConfig', config);
} catch (e) {
this.$root.stdDialog.alert(e.message, 'Ошибка');
}
}
get config() {
return this.$store.state.config;
}
async request(params) {
return await wsc.message(await wsc.send(params));
}
async search(query) {
const response = await this.request({action: 'search', query});
if (response.error) {
throw new Error(response.error);
}
return response;
}
async getConfig() {
const response = await this.request({action: 'get-config'});
if (response.error) {
throw new Error(response.error);
}
return response;
}
}
export default vueComponent(Api);
//-----------------------------------------------------------------------------
</script>
<style scoped>
</style>