WorkCamera/client/WorkCameraExport/Models/ApiModels.cs
2026-01-06 00:42:25 +08:00

157 lines
4.4 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>
/// 用户信息响应(/system/user/profile 接口)
/// </summary>
public class UserProfileResponse
{
public UserProfileDto? User { get; set; }
public List<string>? Roles { get; set; }
public string? PostGroup { get; set; }
}
/// <summary>
/// 用户详细信息
/// </summary>
public class UserProfileDto
{
public long UserId { get; set; }
public string? UserName { get; set; }
public string? NickName { get; set; }
public string? DeptName { get; set; }
public string? Email { get; set; }
public string? Phonenumber { get; set; }
public string? Avatar { 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; } = "";
/// <summary>
/// 施工人员名称列表(与服务端保持一致,为字符串列表)
/// </summary>
public List<string> 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 ?? new List<string>();
}
}