namespace Dpz.Core.Public.ViewModel.Request;
/// <summary>
/// 客户端会话元数据,用于记录登录时的设备、浏览器与定位信息
/// </summary>
public class SessionMetadataRequest
{
/// <summary>
/// 设备名称
/// </summary>
public string? DeviceName { get; set; }
/// <summary>
/// 设备类型(如 mobile、desktop、tablet)
/// </summary>
public string? DeviceType { get; set; }
/// <summary>
/// 浏览器名称
/// </summary>
public string? BrowserName { get; set; }
/// <summary>
/// 浏览器版本
/// </summary>
public string? BrowserVersion { get; set; }
/// <summary>
/// 操作系统名称
/// </summary>
public string? OsName { get; set; }
/// <summary>
/// 操作系统版本
/// </summary>
public string? OsVersion { get; set; }
/// <summary>
/// 客户端平台标识
/// </summary>
public string? Platform { get; set; }
/// <summary>
/// 屏幕宽度(像素)
/// </summary>
public int? ScreenWidth { get; set; }
/// <summary>
/// 屏幕高度(像素)
/// </summary>
public int? ScreenHeight { get; set; }
/// <summary>
/// 客户端语言
/// </summary>
public string? Language { get; set; }
/// <summary>
/// 定位纬度
/// </summary>
public double? Latitude { get; set; }
/// <summary>
/// 定位经度
/// </summary>
public double? Longitude { get; set; }
/// <summary>
/// 定位精度(米)
/// </summary>
public double? LocationAccuracy { get; set; }
/// <summary>
/// 定位来源(如 GPS、IP)
/// </summary>
public string? LocationSource { get; set; }
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
代码解释
这是一个 C# 数据传输对象 (DTO) 类,用于在客户端和服务器之间传递会话元数据信息。
命名空间
namespace Dpz.Core.Public.ViewModel.Request;
属于 Dpz.Core.Public.ViewModel.Request 命名空间,表明这是一个请求视图模型,用于接收客户端发送的数据。
类的用途
SessionMetadataRequest 用于记录用户登录时的客户端环境信息,包括:
1. 设备信息
DeviceName: 设备名称(如 "iPhone 13", "Samsung Galaxy")DeviceType: 设备类型(mobile/desktop/tablet)
2. 浏览器信息
BrowserName: 浏览器名称(如 Chrome、Firefox、Safari)BrowserVersion: 浏览器版本号
3. 操作系统信息
OsName: 操作系统名称(如 Windows、iOS、Android)OsVersion: 操作系统版本
4. 平台与显示信息
Platform: 客户端平台标识ScreenWidth: 屏幕宽度(像素)ScreenHeight: 屏幕高度(像素)Language: 客户端语言设置(如 "zh-CN", "en-US")
5. 地理定位信息
Latitude: 纬度坐标Longitude: 经度坐标LocationAccuracy: 定位精度(单位:米)LocationSource: 定位方式(GPS/IP/WiFi 等)
设计特点
所有属性都是可空类型 (
string?,int?,double?),表示这些信息都是可选的,客户端可能无法提供全部数据安全与审计用途:这类数据通常用于:
- 安全审计(检测异常登录)
- 用户会话管理
- 多设备登录控制
- 用户行为分析
符合 GDPR 等隐私规范:收集地理位置等敏感信息需要用户授权
这是一个典型的现代 Web/移动应用中用于增强安全性和用户体验的元数据收集模型。
AI 正在分析代码…
评论加载中...