public async Task <ApiResult> RegisterAsync(UserRegisterInput userRegisterInput) { userRegisterInput.Password = Md5Crypt.Encrypt(userRegisterInput.Password); var userModel = _mapper.Map <User>(userRegisterInput); userModel.CreateTime = DateTime.Now; userModel.Ip = _accessor.HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); userModel.Address = IpParse.GetAddressByIP(userModel.Ip); var i = await AddAsync(userModel); return(new ApiResult(i)); }
public async Task <ApiResult> AddMsg([FromBody] MessageInput messageInput) { messageInput.IP = HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? HttpContext.Connection.RemoteIpAddress.ToString(); var list = await _messageService.GetListAsync(m => m.IP == messageInput.IP, m => m.CreateTime, true); if (list.Count() > 3) { throw new FriendlyException("您提交的次数过多,请稍后重试!~"); } messageInput.Address = IpParse.GetAddressByIP(messageInput.IP); var model = _mapper.Map <Message>(messageInput); await _messageService.AddAsync(model); return(new ApiResult()); }
public async Task <ApiResult <LoginOutput> > LoginAsync(LoginInput loginInput) { loginInput.Password = Md5Crypt.Encrypt(loginInput.Password); var loginModel = await GetModelAsync(d => d.Name.Equals(loginInput.LoginName) && d.Password.Equals(loginInput.Password)); if (loginModel.Id == 0) { return(new ApiResult <LoginOutput>("用户名或密码错误", 500)); } string ip = _accessor.HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); string address = IpParse.GetAddressByIP(ip); await UpdateAsync(d => new User() { LastLoginTime = DateTime.Now, Ip = ip, Address = address }, d => d.Id == loginModel.Id); var data = _mapper.Map <LoginOutput>(loginModel); return(new ApiResult <LoginOutput>(data)); }