import { fetchMenuTree } from '@/api/base/index'; const GET_MENUS_TREE = 'GET_MENUS_TREE'; const FETCH_STATE = 'FETCH_STATE'; const state = () => ({ list: [], fetching: false, }); const getters = { MenuTree: state => state.list, }; const actions = { fetchMenuTree({ state, commit }) { if (state.fetching) return; commit(FETCH_STATE, true); return fetchMenuTree().then(res => { const list = res.data; commit(GET_MENUS_TREE, list); commit(FETCH_STATE, false); }); }, }; const mutations = { [GET_MENUS_TREE](state, list) { state.list = list; }, [FETCH_STATE](state, fetching) { state.fetching = fetching; }, }; export default { namespaced: true, state, getters, actions, mutations, };