初始化
This commit is contained in:
60
FutureMailAPI/DTOs/CommonDTOs.cs
Normal file
60
FutureMailAPI/DTOs/CommonDTOs.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
namespace FutureMailAPI.DTOs
|
||||
{
|
||||
public class ApiResponse<T>
|
||||
{
|
||||
public bool Success { get; set; }
|
||||
public string Message { get; set; } = string.Empty;
|
||||
public T? Data { get; set; }
|
||||
public List<string>? Errors { get; set; }
|
||||
|
||||
public static ApiResponse<T> SuccessResult(T data, string message = "操作成功")
|
||||
{
|
||||
return new ApiResponse<T>
|
||||
{
|
||||
Success = true,
|
||||
Message = message,
|
||||
Data = data
|
||||
};
|
||||
}
|
||||
|
||||
public static ApiResponse<T> ErrorResult(string message, List<string>? errors = null)
|
||||
{
|
||||
return new ApiResponse<T>
|
||||
{
|
||||
Success = false,
|
||||
Message = message,
|
||||
Errors = errors
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public class PagedResponse<T>
|
||||
{
|
||||
public IEnumerable<T> Items { get; set; } = new List<T>();
|
||||
public int PageIndex { get; set; }
|
||||
public int PageSize { get; set; }
|
||||
public int TotalCount { get; set; }
|
||||
public int TotalPages { get; set; }
|
||||
public bool HasPreviousPage { get; set; }
|
||||
public bool HasNextPage { get; set; }
|
||||
|
||||
public PagedResponse(IEnumerable<T> items, int pageIndex, int pageSize, int totalCount)
|
||||
{
|
||||
Items = items;
|
||||
PageIndex = pageIndex;
|
||||
PageSize = pageSize;
|
||||
TotalCount = totalCount;
|
||||
TotalPages = (int)Math.Ceiling(totalCount / (double)pageSize);
|
||||
HasPreviousPage = pageIndex > 1;
|
||||
HasNextPage = pageIndex < TotalPages;
|
||||
}
|
||||
}
|
||||
|
||||
public class AuthResponseDto
|
||||
{
|
||||
public string Token { get; set; } = string.Empty;
|
||||
public string? RefreshToken { get; set; }
|
||||
public DateTime Expires { get; set; }
|
||||
public UserResponseDto User { get; set; } = new();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user