Слияние кода завершено, страница обновится автоматически
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;
}
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )