feat: Blazor 增加登录日志功能
This commit is contained in:
parent
e13b87d202
commit
3a8621825d
|
@ -0,0 +1,32 @@
|
|||
@inherits LoginsBase
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span>查询结果</span>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<Table Id="logs" TItem="Bootstrap.DataAccess.LoginUser" ShowToolBar="true" ShowSearch="true" ShowRefresh="true" QueryModel="QueryModel" EditModel="DataContext" OnQuery="Query" OnResetSearch="ResetSearch">
|
||||
<TableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.UserName"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="DateTime" @bind-Value="@context.LoginTime"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.Ip"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.City"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.Browser"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.OS"></LgbTableHeader>
|
||||
<LgbTableHeader TItem="string" @bind-Value="@context.Result"></LgbTableHeader>
|
||||
</TableHeader>
|
||||
<RowTemplate>
|
||||
<td>@context.UserName</td>
|
||||
<td>@context.LoginTime</td>
|
||||
<td>@context.Ip</td>
|
||||
<td>@context.City</td>
|
||||
<td>@context.Browser</td>
|
||||
<td>@context.OS</td>
|
||||
<td>@context.Result</td>
|
||||
</RowTemplate>
|
||||
<SearchTemplate>
|
||||
<LgbInputText ColumnClass="col-12" @bind-Value="@context.Ip" maxlength="50" />
|
||||
</SearchTemplate>
|
||||
</Table>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,53 @@
|
|||
using Bootstrap.Admin.Pages.Components;
|
||||
using Bootstrap.Admin.Pages.Extensions;
|
||||
using Bootstrap.DataAccess;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System;
|
||||
|
||||
namespace Bootstrap.Admin.Pages.Views.Admin.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// 部门维护组件
|
||||
/// </summary>
|
||||
public class LoginsBase : ComponentBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 获得/设置 编辑类型实例
|
||||
/// </summary>
|
||||
protected LoginUser DataContext { get; set; } = new LoginUser();
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 查询绑定类型实例
|
||||
/// </summary>
|
||||
protected LoginUser QueryModel { get; set; } = new LoginUser();
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 开始时间
|
||||
/// </summary>
|
||||
protected DateTime? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 开始时间
|
||||
/// </summary>
|
||||
protected DateTime? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据查询方法
|
||||
/// </summary>
|
||||
/// <param name="options"></param>
|
||||
/// <returns></returns>
|
||||
protected QueryData<LoginUser> Query(QueryPageOptions options)
|
||||
{
|
||||
var data = LoginHelper.RetrievePages(options.ToPaginationOption(), StartTime, EndTime, QueryModel.Ip);
|
||||
return data.ToQueryData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重置搜索方法
|
||||
/// </summary>
|
||||
protected void ResetSearch()
|
||||
{
|
||||
QueryModel.Ip = "";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
using PetaPoco;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Bootstrap.DataAccess
|
||||
{
|
||||
|
@ -19,41 +20,49 @@ namespace Bootstrap.DataAccess
|
|||
/// <summary>
|
||||
/// 获得/设置 用户名
|
||||
/// </summary>
|
||||
[DisplayName("登录名称")]
|
||||
public string UserName { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录时间
|
||||
/// </summary>
|
||||
[DisplayName("登录时间")]
|
||||
public DateTime LoginTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录IP地址
|
||||
/// </summary>
|
||||
[DisplayName("主机")]
|
||||
public string Ip { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录浏览器
|
||||
/// </summary>
|
||||
[DisplayName("浏览器")]
|
||||
public string Browser { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录操作系统
|
||||
/// </summary>
|
||||
[DisplayName("操作系统")]
|
||||
public string OS { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录地点
|
||||
/// </summary>
|
||||
[DisplayName("登录地点")]
|
||||
public string City { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 登录是否成功
|
||||
/// </summary>
|
||||
[DisplayName("登录结果")]
|
||||
public string Result { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 用户 UserAgent
|
||||
/// </summary>
|
||||
[DisplayName("登录名称")]
|
||||
public string UserAgent { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue