// 权限信息仓库 export default { state: { authList:[], menuArr:[] //菜单 }, getters: { // 检查菜单是否存在 getAuth:(state) => { return function (key) { let arr = state.authList.filter(item => item.name == key) return arr.length == 0 ? false : true } }, // 返回菜单名 getAuthName:(state) => { return function (key) { let arr = state.authList.filter(item => item.name == key) return arr.length == 0 ? '' : arr[0].label } }, // 返回用户是否拥有该按钮权限 getOperation(state){ return function(key){ let curRoute = '/' + this.$mp.page.route; let arr = state.authList.filter(item => (curRoute.indexOf(item.name) != -1 || item.name.indexOf(curRoute) != -1)) let operation = arr[0] ? arr[0].operation : [] return operation.indexOf(key) > -1 ? true : false } }, // 获取菜单 getMenu(state){ return function(key){ let arr = state.menuArr.filter(item => item.url == key) return arr.length ? arr[0].children : [] } } }, mutations: { // 设置权限信息 'SETAUTH':function(state, payload){ state.authList = payload }, // 清除权限信息 'CLEARAUTH':function(state){ state.authList = [] }, // 设置菜单信息 'SETMENU':function(state, payload){ state.menuArr = payload }, // 清除菜单信息 'CLEARMENU':function(state){ state.menuArr = [] }, }, actions: { setAuth({ commit },payload){ commit('SETAUTH',payload) }, clearAuth({ commit }){ commit('CLEARAUTH') }, setMenu({ commit },payload){ commit('SETMENU',payload) }, clearMenu({ commit }){ commit('CLEARMENU') } } }