public async Task <ApiRequestResult> SignIn([FromBody] SignInCommand command) { try { var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString(); var result = await _identityServices.SignInAsync(command.UserName, command.Password, UserType.Member); var redisExpireTime = _configuration.GetSection("redis:expiryMinutes").Value.ToString(); var expirtime = new DistributedCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(Convert.ToInt32(redisExpireTime)) }; await _cache.SetStringAsync(result.AccessToken, JsonConvert.SerializeObject(result), expirtime); var data = new { tokenHead = "Bearer", token = result.AccessToken }; //添加登录记录 await _userLoginRepository.AddAsync(new UserLogin { UserId = Guid.Parse(result.Id), LoginProvider = "ManageSystem", ProviderDisplayName = "管理系统", ProviderKey = Guid.NewGuid().ToString(), LoginIp = ip }); return(ApiRequestResult.Success(data, "登录成功")); } catch (Exception ex) { return(ApiRequestResult.Error("账号密码错误,请重新输入")); throw ex; } }