public async Task <LoginViewModel> Login(LoginViewModel model) { try { var page = await base.InitPage(); model.SetInitInfo(page); var customer = await _customerService.GetFromDbByEmailOrMobile(model.UserName); if (customer == null) { model.AddMessage(ResourceKey.Account_Login_FailMessage); return(model); } if (!await _customerService.ComparePassword(customer, model.Password)) { model.AddMessage(ResourceKey.Account_Login_FailMessage); return(model); } if (customer.Status == EnumDefine.CustomerStatusEnum.Lock) { model.AddMessage(ResourceKey.Account_Login_AccountIsLock); return(model); } await Login(model.UserName, model.Remember, customer); return(model); } catch (Exception e) { _logger.LogError(e, e.Message, model); throw e; } }