コード例 #1
0
        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));
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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));
        }