fetch config
This commit is contained in:
parent
47a594dda2
commit
fc67d035f7
11
src/App.vue
11
src/App.vue
@ -7,7 +7,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {};
|
import { mapActions } from "vuex";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
methods: {
|
||||||
|
...mapActions(["fetchConfig"]),
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
await this.fetchConfig();
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
|
@ -73,10 +73,6 @@ import { mapGetters, mapActions } from "vuex";
|
|||||||
import InfobaseURLEditor from "@/components/InfobaseURLEditor.vue";
|
import InfobaseURLEditor from "@/components/InfobaseURLEditor.vue";
|
||||||
import ItemLoading from "@/components/ItemLoading.vue";
|
import ItemLoading from "@/components/ItemLoading.vue";
|
||||||
|
|
||||||
import config from "@/config.js";
|
|
||||||
|
|
||||||
const url_base = config.publication.url_base;
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "InfobaseListItem",
|
name: "InfobaseListItem",
|
||||||
components: {
|
components: {
|
||||||
@ -97,7 +93,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(["getInfobaseByName"]),
|
...mapGetters(["getInfobaseByName, Config"]),
|
||||||
name() {
|
name() {
|
||||||
return this.infobase.name;
|
return this.infobase.name;
|
||||||
},
|
},
|
||||||
@ -108,7 +104,7 @@ export default {
|
|||||||
return this.infobase.url;
|
return this.infobase.url;
|
||||||
},
|
},
|
||||||
url_full() {
|
url_full() {
|
||||||
return `${url_base}${this.infobase.url}`;
|
return `${this.$store.getters.Config.url_prefix}${this.infobase.url}`;
|
||||||
},
|
},
|
||||||
is_locked() {
|
is_locked() {
|
||||||
return this.$store.getters.isInfobaseLocked(this.infobase.name);
|
return this.$store.getters.isInfobaseLocked(this.infobase.name);
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{
|
{
|
||||||
"api": "http://localhost:17653",
|
"api": "http://localhost:17653",
|
||||||
"publication": {
|
"url_prefix": "http://localhost:11111"
|
||||||
"url_base": "http://localhost:11111"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,12 @@ import { createStore } from "vuex";
|
|||||||
|
|
||||||
import infobases from "@/store/modules/infobases.js";
|
import infobases from "@/store/modules/infobases.js";
|
||||||
import apache_restart from "@/store/modules/apache_restart.js";
|
import apache_restart from "@/store/modules/apache_restart.js";
|
||||||
|
import config from "@/store/modules/config.js";
|
||||||
|
|
||||||
export default createStore({
|
export default createStore({
|
||||||
modules: {
|
modules: {
|
||||||
infobases,
|
infobases,
|
||||||
apache_restart,
|
apache_restart,
|
||||||
|
config,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
37
src/store/modules/config.js
Normal file
37
src/store/modules/config.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import axios from "axios";
|
||||||
|
|
||||||
|
import const_config from "@/config.js";
|
||||||
|
|
||||||
|
const api_base = const_config.api;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
state: {
|
||||||
|
config: {
|
||||||
|
...const_config,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
setConfig(state, new_config) {
|
||||||
|
state.config = {
|
||||||
|
...const_config,
|
||||||
|
...new_config,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
async fetchConfig(ctx) {
|
||||||
|
try {
|
||||||
|
const res = await axios.get(`${api_base}/config`);
|
||||||
|
const new_config = res.data;
|
||||||
|
ctx.commit("setConfig", new_config);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
getters: {
|
||||||
|
Config(state) {
|
||||||
|
return state.config;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user