示例#1
0
        /// <summary>
        /// 递归处理数据
        /// </summary>
        /// <param name="systemMenuEntities"></param>
        /// <param name="rootNode"></param>
        public static List <SysTemMenus> GetTreeNodeListByNoLockedDTOArray(List <SystemMenuEntity> systemMenuEntities, SysTemMenus rootNode)
        {
            if (systemMenuEntities == null || systemMenuEntities.Count() <= 0)
            {
                return(null);
            }
            var childreDataList = systemMenuEntities.Where(p => p.Pid == rootNode.id);

            if (childreDataList != null && childreDataList.Count() > 0)
            {
                rootNode.child = new List <SysTemMenus>();

                foreach (var item in childreDataList)
                {
                    SysTemMenus treeNode = new SysTemMenus()
                    {
                        id    = item.Id,
                        icon  = item.Icon,
                        href  = item.Href,
                        title = item.Title,
                    };
                    rootNode.child.Add(treeNode);
                }

                foreach (var item in rootNode.child)
                {
                    GetTreeNodeListByNoLockedDTOArray(systemMenuEntities, item);
                }
            }
            return(rootNode.child);
        }
示例#2
0
        public IActionResult GetMenuList()
        {
            SysTemMenus rootNode = new SysTemMenus()
            {
                id    = 0,
                icon  = "",
                href  = "",
                title = "根目录",
            };
            var systemMenuEntities = _dbContext.systemMenus.Where(s => s.Id > 0).ToList();

            //将rootNode的Child 赋值返回给 MenusInfoResultDTO.MenuInfo 返回给前端就行
            MenusInfoResultDTO menusInfoResultDTO = new MenusInfoResultDTO()
            {
                menuInfo = GetTreeNodeListByNoLockedDTOArray(systemMenuEntities, rootNode),
                //rootNode.Child,
                logoInfo = new LogoInfo(),
                homeInfo = new HomeInfo()
            };

            return(Json(menusInfoResultDTO));
        }