import Vue from 'vue' import Vuex from 'vuex' import * as actions from './actions' import * as getters from './getters' Vue.use(Vuex) // 应用初始状态 const state = { count: 10, //所有打开的路由 openTab:[], //激活状态, activeIndex: '/main', //用户菜单 userMenu:[], userInfo:{ userId: 0, username: '', companyId: 0, companyName: '', realname: '', userface: '', companyInfo:{} } } // 定义所需的 mutations const mutations = { // 添加tabs add_tabs (state, data) { const _this = this; let flag = false; if (this.state.openTab.length>0){ this.state.openTab.forEach(function (v) { if (data && v.route === data.route) { flag = true; } }); if (!flag) { _this.state.openTab.push(data); } }else{ _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; }, //设置用户菜单 set_user_menu(state, menu){ this.state.userMenu = menu; }, //设置用户信息 set_user_info(state,info){ state.userInfo = info; }, INCREMENT(state) { state.count++ }, DECREMENT(state) { state.count-- } } // 创建 store 实例 export default new Vuex.Store({ actions, getters, state, mutations })