/// <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) }); }
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 }));