feat: error page
This commit is contained in:
parent
e8fad24cc8
commit
fc02c22f40
@ -151,10 +151,31 @@ namespace QRRapidoApp.Controllers
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
|
//public IActionResult Error()
|
||||||
|
//{
|
||||||
|
// return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
|
||||||
|
//}
|
||||||
|
|
||||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
public IActionResult Error()
|
public IActionResult Error()
|
||||||
{
|
{
|
||||||
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
|
var errorCode = Request.Query["code"].ToString();
|
||||||
|
var errorMessage = "";
|
||||||
|
|
||||||
|
// Interpretar códigos de erro específicos
|
||||||
|
if (errorCode.StartsWith("M.C506"))
|
||||||
|
{
|
||||||
|
errorMessage = "Erro de autenticação. Verifique suas credenciais e tente novamente.";
|
||||||
|
}
|
||||||
|
|
||||||
|
ViewBag.ErrorCode = errorCode;
|
||||||
|
ViewBag.ErrorMessage = errorMessage;
|
||||||
|
|
||||||
|
return View(new ErrorViewModel
|
||||||
|
{
|
||||||
|
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dynamic QR redirect endpoint
|
// Dynamic QR redirect endpoint
|
||||||
@ -277,9 +298,9 @@ namespace QRRapidoApp.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ErrorViewModel
|
//public class ErrorViewModel
|
||||||
{
|
//{
|
||||||
public string? RequestId { get; set; }
|
// public string? RequestId { get; set; }
|
||||||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
// public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
11
Models/ErrorViewModel.cs
Normal file
11
Models/ErrorViewModel.cs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
namespace QRRapidoApp.Models
|
||||||
|
{
|
||||||
|
public class ErrorViewModel
|
||||||
|
{
|
||||||
|
public string? RequestId { get; set; }
|
||||||
|
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||||
|
public string? ErrorCode { get; set; }
|
||||||
|
public string? ErrorMessage { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -37,7 +37,6 @@
|
|||||||
<Folder Include="wwwroot\css\" />
|
<Folder Include="wwwroot\css\" />
|
||||||
<Folder Include="Data\" />
|
<Folder Include="Data\" />
|
||||||
<Folder Include="Services\" />
|
<Folder Include="Services\" />
|
||||||
<Folder Include="Models\" />
|
|
||||||
<Folder Include="Middleware\" />
|
<Folder Include="Middleware\" />
|
||||||
<Folder Include="Tests\" />
|
<Folder Include="Tests\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
43
Views/Shared/Error.cshtml
Normal file
43
Views/Shared/Error.cshtml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
@using QRRapidoApp.Models
|
||||||
|
@model ErrorViewModel
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Erro";
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="container mt-5">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-md-8">
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<h1 class="display-4">Erro</h1>
|
||||||
|
<p>Ocorreu um erro durante o processamento da sua solicitação.</p>
|
||||||
|
|
||||||
|
@if (Model?.ShowRequestId == true)
|
||||||
|
{
|
||||||
|
<p>
|
||||||
|
<strong>Request ID:</strong> <code>@Model.RequestId</code>
|
||||||
|
</p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (!string.IsNullOrEmpty(ViewBag.ErrorCode))
|
||||||
|
{
|
||||||
|
<p>
|
||||||
|
<strong>Código do erro:</strong> <code>@ViewBag.ErrorCode</code>
|
||||||
|
</p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (!string.IsNullOrEmpty(ViewBag.ErrorMessage))
|
||||||
|
{
|
||||||
|
<p>
|
||||||
|
<strong>Mensagem:</strong> @ViewBag.ErrorMessage
|
||||||
|
</p>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mt-3">
|
||||||
|
<a href="/pt-BR" class="btn btn-primary">Voltar ao Início</a>
|
||||||
|
<a href="/pt-BR/Account/Login" class="btn btn-secondary">Tentar Login Novamente</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
Loading…
Reference in New Issue
Block a user