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