Ejemplo n.º 1
0
        /// <summary>
        /// 根据手机号登录获取Token
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <ApiResult <UserResponseDto> > GetTokenByPhone(GetTokenByPhoneRequestDto dto)
        {
            var user = await _userRepository.GetEntityAsync(item => item.Phone == dto.Phone.Trim() && item.Password == dto.Password);

            if (user == null)
            {
                throw new CustomException("手机号码或密码错误!");
            }
            return(new ApiResult <UserResponseDto> {
                IsSuccess = true, Message = "登录成功!", Data = _mapper.Map <UserResponseDto>(user)
            });
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetTokenByPhone([FromBody] GetTokenByPhoneRequestDto dto)
        {
            //从数据库验证用户名,密码
            var result = await _userQueries.GetTokenByPhone(dto);

            if (result.IsSuccess)
            {
                var userClaims = new[] {
                    new Claim("UserId", result.Data.Id),
                    new Claim("UserType", result.Data.UserType),
                };
                string token = JwtHelper.GetToken(_configuration, userClaims);
                await  new CacheHelper(_cache).SetObjectAsync(result.Data.Id, result.Data);
                return(Ok(new ApiResult <string>()
                {
                    IsSuccess = true, Message = "登录成功!", Data = token
                }));
            }
            else
            {
                return(Ok(new ApiResult <string>()
                {
                    IsSuccess = false, Message = result.Message, Data = default
                }));