feat: Blazor 增加登录日志功能

This commit is contained in:
Argo Zhang 2020-02-03 17:32:12 +08:00
parent e13b87d202
commit 3a8621825d
No known key found for this signature in database
GPG Key ID: 152E398953DDF19F
3 changed files with 94 additions and 0 deletions

View File

@ -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>

View File

@ -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 = "";
}
}
}

View File

@ -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>