public async Task <ApiResult> SignIn(Model.RequestModel.SysUserLoginModel model) { try { var data = await _sysUserServices.UserLogin(model); return(ApiResult.OK(data)); } catch (Exception ex) { return(ApiResult.Failed(ex.Message)); } }
/// <summary> /// 用户登录 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <Model.ResponseModel.LoginUserInfo> UserLogin(Model.RequestModel.SysUserLoginModel model) { var pwd = model.Password.EncryptMD5Encode(); var entity = await _sysUserRepository.GetModelAsync(p => p.LoginName == model.Account && p.Password == pwd); if (entity == null) { throw new NullReferenceException("用户名或密码有误"); } if (!entity.Status) { throw new NullReferenceException("账户已被禁用"); } var exp_time = DateTime.Now.AddHours(_config.GetValue <double>("Jwt:TokenExpires")).ToTimeStamp(); var responseModel = new Model.ResponseModel.LoginUserInfo() { LoginName = entity.LoginName, UserName = entity.UserName, FailureTime = exp_time, }; if (_config.GetValue <bool>("Jwt:IsEnabled")) { var jsonData = JsonHelper.Serialize(responseModel); responseModel.Token = _jwtService.GenerateToken(new JwtTokenObject() { exp = exp_time, open_id = entity.UserId, json_data = jsonData, }); } else { responseModel.Token = entity.LoginName; //使用登录名做token,方便开发环境下开发 } return(responseModel); }