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; } } }