namespace AmtScanner.Api.Models; /// /// 统一 API 响应格式 /// /// 数据类型 public class ApiResponse { /// /// 状态码 /// public int Code { get; set; } = 200; /// /// 消息 /// public string Msg { get; set; } = "success"; /// /// 数据 /// public T? Data { get; set; } /// /// 成功响应 /// public static ApiResponse Success(T? data, string msg = "success") { return new ApiResponse { Code = 200, Msg = msg, Data = data }; } /// /// 失败响应 /// public static ApiResponse Fail(int code, string msg) { return new ApiResponse { Code = code, Msg = msg, Data = default }; } } /// /// 无数据的统一响应 /// public class ApiResponse : ApiResponse { /// /// 成功响应(无数据) /// public static ApiResponse Ok(string msg = "success") { return new ApiResponse { Code = 200, Msg = msg, Data = null }; } /// /// 失败响应 /// public static new ApiResponse Fail(int code, string msg) { return new ApiResponse { Code = code, Msg = msg, Data = null }; } } /// /// 分页响应 /// /// 数据项类型 public class PaginatedResponse { /// /// 数据记录 /// public List Records { get; set; } = new(); /// /// 当前页码 /// public int Current { get; set; } /// /// 每页大小 /// public int Size { get; set; } /// /// 总记录数 /// public int Total { get; set; } }