private void LoopNaviBarAppendChildren(List<NavigationBarDto> list, NavigationBarDto curentItem)
 {
     var childrenList = list.Where(m => m.pid == curentItem.id).ToList();
     curentItem.children.AddRange(childrenList);
     foreach (var item in childrenList)
     {
         LoopNaviBarAppendChildren(list, item);
     }
 }
        public async Task<ApiResponseModel<NavigationBarDto>> GetNavigationBar(int uid)
        {
            var token = _httpContext.HttpContext.Request.Headers["Authorization"].ObjToString().Replace("Bearer ", "");
            var id = JwtHelper.SerializeJwt(token)?.Uid;
            if (id != uid)
            {
                return ApiResponse.Error<NavigationBarDto>("参数和token不一样");
            }
            var roleIds = (await _userRoleServices.Query(m => m.IsDeleted == false && m.UserId == id)).Select(m => m.RoleId).Distinct().ToList();
            if (!roleIds.Any())
            {
                return ApiResponse.Error<NavigationBarDto>("用户未分配角色");
            }
            var permissionIds = (await _roleModulePermissionServices.Query(d => d.IsDeleted == false && roleIds.Contains(d.RoleId))).Select(m => m.PermissionId).Distinct().ToList();
            var permissionList = (await _permissionServices.Query(m => permissionIds.Contains(m.Id) && m.IsDeleted == false)).OrderBy(c => c.OrderSort).ToList();
            var permissionTree = permissionList.Select(child => new NavigationBarDto
            {

                id = child.Id,
                name = child.Name,
                pid = child.Pid,
                order = child.OrderSort,
                path = child.Code,
                iconCls = child.Icon,
                Func = child.Func,
                IsHide = child.IsHide.ObjToBool(),
                IsButton = child.IsButton.ObjToBool(),
                meta = new NavigationBarMetaDto
                {
                    requireAuth = true,
                    title = child.Name,
                    NoTabPage = child.IsHide.ObjToBool()
                }
            }).ToList();
            NavigationBarDto rootRoot = new NavigationBarDto
            {
                id = 0,
                pid = 0,
                order = 0,
                name = "根节点",
                path = "",
                iconCls = "",
                meta = new NavigationBarMetaDto(),

            };
            LoopNaviBarAppendChildren(permissionTree, rootRoot);
            return ApiResponse.Success(rootRoot);
        }