import Vue from 'vue' import Vuex from 'vuex' import * as actions from './actions' import * as getters from './getters' import {getServerList, getHostList} from "../api/message_bus" Vue.use(Vuex) // 应用初始状态 const state = { count: 10, serverList: [], virtualHostList: [], openTab:[],//所有打开的路由 activeIndex: '/main' //激活状态 } // 定义所需的 mutations const mutations = { StoreServerList(state) { getServerList().then((response) => { let res = response.data; if (res.code !== '200') { return; } // 获取服务器列表数据 state.serverList = res.data; }).catch(error => { this.$message.error(error.toString()); }); }, StoreHostList(state, serverId) { getHostList(serverId).then((response) => { let res = response.data; if (res.code !== '200') { return; } state.virtualHostList = res.data; }).catch(error => { this.$message.error(error.toString()); }); }, // 添加tabs add_tabs (state, data) { this.state.openTab.push(data); }, set_tabs(state,value){ this.state.openTab= value; }, // 删除tabs delete_tabs (state, route) { let index = 0; for (let option of state.openTab) { if (option.route === route) { break; } index++; } this.state.openTab.splice(index, 1); }, // 设置当前激活的tab set_active_index (state, index) { this.state.activeIndex = index; }, INCREMENT(state) { state.count++ }, DECREMENT(state) { state.count-- } } // 创建 store 实例 export default new Vuex.Store({ actions, getters, state, mutations })