/**
 * API 响应类型定义模块
 *
 * 提供统一的 API 响应结构类型定义
 *
 * ## 主要功能
 *
 * - 基础响应结构定义
 * - 泛型支持（适配不同数据类型）
 * - 统一的响应格式约束
 *
 * ## 使用场景
 *
 * - API 请求响应类型约束
 * - 接口数据类型定义
 * - 响应数据解析
 *
 * @module types/common/response
 * @author Art Design Pro Team
 */

/** 基础 API 响应结构 */
export interface BaseResponse<T = unknown> {
  /** 是否成功 */
  success?: boolean
  /** 状态码 */
  code?: number
  /** 提示消息 */
  message?: string
  /** 兼容旧字段 */
  msg?: string
  /** 数据 */
  data?: T
  /** 错误详情（如字段错误） */
  errors?: unknown
  /** TraceId，便于链路追踪 */
  traceId?: string
  /** 时间戳 */
  timestamp?: string
}

/** 后端标准分页结果 */
export interface PagedResult<T = unknown> {
  /** 数据列表 */
  items: T[]
  /** 当前页码（从 1 开始） */
  page: number
  /** 每页条数 */
  pageSize: number
  /** 总条数 */
  totalCount: number
  /** 总页数 */
  totalPages: number
}
