157 lines
4.4 KiB
C#
157 lines
4.4 KiB
C#
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>();
|
||
}
|
||
}
|