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 { /// /// 记录用户登陆信息 /// /// /// /// /// 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; } } }