/**
 * 数据分析/运营监控相关类型定义
 */

// ==================== 统计数据 ====================

/** 概览统计数据 */
export interface OverviewStats {
  todayUv?: number        // 今日 UV
  todayPv?: number        // 今日 PV
  todayApiCalls?: number  // 今日 API 调用
  todayErrors?: number    // 今日错误数
  activeUsers?: number    // 活跃用户
  newUsers?: number       // 新增用户
  retention?: number     // 留存率
  avgDuration?: number    // 平均时长
}

/** API 调用统计 */
export interface ApiCallStat {
  time?: string
  count?: number
  successCount?: number
  failCount?: number
  avgLatency?: number
}

/** 错误统计 */
export interface ErrorStat {
  id?: number
  type?: string
  message?: string
  count?: number
  lastTime?: string
  level?: 'warning' | 'error' | 'critical'
}

/** 性能指标 */
export interface PerformanceMetric {
  metric?: string
  value?: number
  unit?: string
  trend?: 'up' | 'down' | 'stable'
  change?: number
}

/** 区域分布 */
export interface RegionStat {
  region?: string
  count?: number
  percentage?: number
}

// ==================== 设备统计 ====================

/** 设备类型统计 */
export interface DeviceStat {
  device?: string
  count?: number
  percentage?: number
}

/** 浏览器统计 */
export interface BrowserStat {
  browser?: string
  count?: number
  percentage?: number
}

/** 操作系统统计 */
export interface OsStat {
  os?: string
  count?: number
  percentage?: number
}

// ==================== 来源统计 ====================

/** 流量来源 */
export interface SourceStat {
  source?: string
  count?: number
  percentage?: number
}

/** 页面访问 */
export interface PageStat {
  path?: string
  title?: string
  pv?: number
  uv?: number
  avgDuration?: number
  bounceRate?: number
}

/** 事件追踪 */
export interface EventTrack {
  id?: number
  name?: string
  key?: string
  count?: number
  users?: number
}

// ==================== 搜索参数 ====================

/** 统计搜索参数 */
export interface AnalyticsParam {
  page?: number
  limit?: number
  websiteId?: number
  startDate?: string
  endDate?: string
  granularity?: 'hour' | 'day' | 'week' | 'month'
}
