using System.ComponentModel.DataAnnotations;
|
|
namespace KH.WMS.Core.Api.Responses;
|
|
/// <summary>
|
/// API 统一响应格式
|
/// </summary>
|
public class ApiResponse
|
{
|
/// <summary>
|
/// 响应码
|
/// </summary>
|
public string Code { get; set; } = "200";
|
|
/// <summary>
|
/// 响应消息
|
/// </summary>
|
public string Message { get; set; } = "操作成功";
|
|
/// <summary>
|
/// 时间戳
|
/// </summary>
|
public long Timestamp { get; set; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
/// <summary>
|
/// 响应数据
|
/// </summary>
|
public object? Data { get; set; }
|
|
/// <summary>
|
/// 请求跟踪ID
|
/// </summary>
|
public string? TraceId { get; set; }
|
|
/// <summary>
|
/// 创建成功响应
|
/// </summary>
|
public static ApiResponse Ok(object? data = null, string message = "操作成功")
|
{
|
return new ApiResponse
|
{
|
Code = "200",
|
Message = message,
|
Data = data
|
};
|
}
|
|
/// <summary>
|
/// 创建失败响应
|
/// </summary>
|
public static ApiResponse Fail(string code, string message)
|
{
|
return new ApiResponse
|
{
|
Code = code,
|
Message = message
|
};
|
}
|
|
}
|
|
/// <summary>
|
/// API 泛型响应格式
|
/// </summary>
|
public class ApiResponse<T> : ApiResponse
|
{
|
/// <summary>
|
/// 响应数据
|
/// </summary>
|
public new T? Data { get; set; }
|
|
/// <summary>
|
/// 创建成功响应
|
/// </summary>
|
public static ApiResponse<T> Ok(T? data, string message = "操作成功")
|
{
|
return new ApiResponse<T>
|
{
|
Code = "200",
|
Message = message,
|
Data = data
|
};
|
}
|
|
/// <summary>
|
/// 创建失败响应
|
/// </summary>
|
public static new ApiResponse<T> Fail(string code, string message)
|
{
|
return new ApiResponse<T>
|
{
|
Code = code,
|
Message = message
|
};
|
}
|
}
|