public async Task <ApiRequestResult> GetAsync()
        {
            var token     = HttpContext.Request.Headers["Authorization"].ToString();
            var key       = token.Replace("Bearer", "").Trim();
            var jsonRedis = await _cache.GetStringAsync(key);

            if (jsonRedis.IsNullOrEmpty())
            {
                return(ApiRequestResult.Error("登录已过期", HttpStatusCode.Unauthorized));
            }
            var jsonWebToken = JsonConvert.DeserializeObject <JsonWebToken>(jsonRedis);
            var accountUser  = await _identityServices.GetAsync(Guid.Parse(jsonWebToken.Id));

            var roles = new List <string>
            {
                "TEST"
            };
            var userInfo = new UserInfoDto
            {
                UserName = accountUser.UserName,
                Roles    = roles,
            };

            return(ApiRequestResult.Success(userInfo, ""));
        }
Example #2
0
        public async Task <MsMenuJsonDto> QueryMsMenuAsync(Guid userId)
        {
            var user = await _identityServices.GetAsync(userId);

            if (user == null)
            {
                return(new MsMenuJsonDto());
            }
            var menuList = new List <Menu>();

            //获取系统菜单
            var msMenus = await _menuRepository.QueryMsMenuAsync(user.MsId == null?Guid.Empty : user.MsId.Value);

            //获取用户角色
            var userRoles = await _roleRepository.QueryRoleAsync(userId);

            foreach (var item in userRoles)
            {
                //获取角色菜单
                var menus = msMenus.Where(c => c.Id == item.Id);
                menuList = menuList.Intersect(menus.ToList(), new MenuComparer()).ToList();
            }

            var parentMenus = menuList.Where(c => c.ParentId == null).ToList();
            var menuDtos    = new List <LayUiMenuDto>();

            foreach (var menu in parentMenus)
            {
                var menuDto = new LayUiMenuDto
                {
                    Name  = menu.MenuName,
                    Title = menu.MenuName,
                    Jump  = menu.MenuUri,
                    Icon  = menu.Icon,
                    List  = GetSubMenuAsync(parentMenus, menuList),
                };
                menuDtos.Add(menuDto);
            }
            return(new MsMenuJsonDto
            {
                Code = 0,
                Msg = "",
                Data = menuDtos,
            });
        }
Example #3
0
        public async Task <ApiRequestResult> Get()
        {
            var userName = await _identityService.GetAsync(UserId.ToString());

            return(ApiRequestResult.Success(userName, "用户信息获取成功"));
        }