35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using IPTools.Core;
|
|
using Microsoft.AspNetCore.Http;
|
|
using UAParser;
|
|
using ZR.Admin.WebApi.Extensions;
|
|
using ZR.Model.System;
|
|
|
|
namespace ZR.Admin.WebApi.Framework
|
|
{
|
|
public class AsyncFactory
|
|
{
|
|
/// <summary>
|
|
/// 记录用户登陆信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <param name="status"></param>
|
|
/// <param name="message"></param>
|
|
/// <returns></returns>
|
|
public static SysLogininfor RecordLogInfo(HttpContext context, string status, string message)
|
|
{
|
|
ClientInfo clientInfo = context.GetClientInfo();
|
|
SysLogininfor sysLogininfor = new SysLogininfor();
|
|
sysLogininfor.browser = clientInfo.Device.Family;
|
|
sysLogininfor.os = clientInfo.OS.ToString();
|
|
sysLogininfor.ipaddr = context.GetClientUserIp();
|
|
sysLogininfor.msg = message;
|
|
sysLogininfor.userName = context.GetName();
|
|
sysLogininfor.status = status;
|
|
var ip_info = IpTool.Search(sysLogininfor.ipaddr);
|
|
sysLogininfor.loginLocation = ip_info.Province + "-" + ip_info.City;
|
|
|
|
return sysLogininfor;
|
|
}
|
|
}
|
|
}
|