import checkAccessPermission from '../utils/_permission'; /** * 根据用户拥有的菜单权限过滤菜单列表 * @param {原菜单列表} menuList * @param {用户拥有的权限列表} permList */ export default function getMenuListByPermission(menuList=[], permList=[]) { const filterPermission = (item) => { // 根据菜单权限permKey值判断是否拥有权限 const { children, permKey } = item || {} if (Array.isArray(children) && children.length) { // tips:这里会改变原数组 item.children = children.filter(filterPermission) } return checkAccessPermission(permKey, permList) } // 添加assign处理,防止修改原数组 return menuList.map((item) => Object.assign({}, item)).filter(filterPermission) }