WorkCamera/client/WorkCameraExport/Models/ApiModels.cs
2026-01-05 23:58:56 +08:00

130 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace WorkCameraExport.Models
{
/// <summary>
/// API 响应基类
/// </summary>
public class ApiResult<T>
{
public int Code { get; set; }
public string Msg { get; set; } = "";
public T? Data { get; set; }
public bool IsSuccess => Code == 200;
}
/// <summary>
/// API 响应包装类ApiResult 的别名,用于语义清晰)
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
public class ApiResponse<T> : ApiResult<T>
{
}
/// <summary>
/// 分页响应
/// </summary>
public class PagedResult<T>
{
public int Code { get; set; }
public string Msg { get; set; } = "";
public PagedData<T>? Data { get; set; }
public bool IsSuccess => Code == 200;
}
public class PagedData<T>
{
public List<T> Result { get; set; } = new();
public int TotalNum { get; set; }
public int TotalPage { get; set; }
public int PageNum { get; set; }
public int PageSize { get; set; }
}
/// <summary>
/// 登录请求
/// </summary>
public class LoginRequest
{
public string Username { get; set; } = "";
public string Password { get; set; } = "";
public string Code { get; set; } = "";
public string Uuid { get; set; } = "";
}
/// <summary>
/// 登录响应(直接返回 Token 字符串)
/// </summary>
public class LoginResponse
{
public string Token { get; set; } = "";
public UserInfo? User { get; set; }
}
/// <summary>
/// 验证码响应
/// </summary>
public class CaptchaResponse
{
/// <summary>
/// 验证码开关off 表示关闭)
/// </summary>
public string CaptchaOff { get; set; } = "";
/// <summary>
/// 验证码唯一标识
/// </summary>
public string Uuid { get; set; } = "";
/// <summary>
/// 验证码图片 Base64
/// </summary>
public string Img { get; set; } = "";
}
public class UserInfo
{
public long UserId { get; set; }
public string UserName { get; set; } = "";
public string NickName { get; set; } = "";
}
/// <summary>
/// 工作记录导出查询请求
/// </summary>
public class WorkRecordExportQuery
{
public int PageNum { get; set; } = 1;
public int PageSize { get; set; } = 50;
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string? DeptName { get; set; }
public string? WorkerName { get; set; }
public string? Content { get; set; }
}
/// <summary>
/// 工作记录导出响应
/// </summary>
public class WorkRecordExportDto
{
public int Id { get; set; }
public string DeptName { get; set; } = "";
public DateTime? RecordTime { get; set; }
public string Longitude { get; set; } = "";
public string Latitude { get; set; } = "";
public string Address { get; set; } = "";
public string Content { get; set; } = "";
public string StatusName { get; set; } = "";
public List<WorkerDto> Workers { get; set; } = new();
public List<string> Images { get; set; } = new();
public DateTime? CreateTime { get; set; }
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 获取工作人员名称列表(便捷属性)
/// </summary>
public List<string> WorkerNames => Workers?.Select(w => w.WorkerName).ToList() ?? new List<string>();
}
}