public IActionResult Logon([FromBody] AppUserLogon user) { ServicesResult result = new ServicesResult(); var logonUser = _appUserServices.Get(x => (x.Name.Equals(user.Name) || x.Phone.Equals(user.Name)) && x.Pwd.Equals(user.Pwd)).FirstOrDefault(); if (logonUser != null && logonUser.Id != 0) { List <Claim> userClaims = new List <Claim>(); userClaims.Add(new Claim(ClaimTypes.NameIdentifier, logonUser.Id.ToString())); userClaims.Add(new Claim(ClaimTypes.Name, logonUser.Name.ToString())); userClaims.Add(new Claim(ClaimTypes.Email, logonUser.Email.ToString())); string token = _tokenServices.GenerateToken(userClaims); result.Result = 200; result.Data = new { user = new { Id = logonUser.Id, Name = logonUser.Name }, token }; } else { var count = _appUserServices.Get(x => x.Name.Equals(user.Name) || x.Phone.Equals(user.Name)).Count(); if (count > 0) { result.Result = 201; result.Msg = "请输入正确的用户名密码"; } else { result.Result = 204; result.Msg = "用户名不存在,请注册"; } } return(Ok(result)); }
// protected IActionResult ParseResult(ServicesResult result) // { // if (result == null) // throw new ArgumentException("Informe um result", "result"); // if (result.Success && result.Data == null) // return NoContent(); // if (result.Success && result.Data != null) // return Ok(result.Data); // var reponse = new NotOkDefaultReponse // { // Message = result.Error // }; // return new ObjectResult(reponse) // { // StatusCode = (int)result.StatusCode // }; // } protected IActionResult ParseResult(ServicesResult result, string actionName = "") { if (result == null) { throw new ArgumentException("Informe um result", "result"); } if (!result.Success) { var reponse = new NotOkDefaultReponse { Message = result.Error }; return(new ObjectResult(reponse) { StatusCode = (int)result.StatusCode }); } if (result.Data == null) { return(NoContent()); } if (string.IsNullOrWhiteSpace(actionName)) { return(new OkObjectResult(result.Data) { StatusCode = (int)result.StatusCode }); } //Obter o valor da prop ID var idProp = result.Data.GetType().GetProperty("ID"); if (idProp == null) { return(NoContent()); } var idValue = idProp.GetValue(result.Data); return(CreatedAtAction(actionName, new { id = idValue, version = Request.HttpContext.GetRequestedApiVersion().ToString() }, result.Data)); }