import type { ResultDomain } from '@/types';

/**
 * 配置项接口定义（对应后端 TbSysConfig）
 */
export interface ConfigItem {
  // 后端 TbSysConfig 字段（完全匹配）
  configKey: string;          // 配置键
  configName?: string;        // 配置显示名称
  configValue: string;        // 配置值
  configType: string;         // 数据类型：string/number/boolean/json
  renderType?: string;        // 前端渲染类型：input/textarea/number/switch/select/password
  configGroup: string;        // 配置分组
  description?: string;       // 配置描述
  placeholder?: string;       // 输入框占位符
  remark?: string;           // 备注说明（显示在表单项下方）
  rows?: number;             // 文本框行数（textarea用）
  minValue?: number;         // 最小值（number用）
  maxValue?: number;         // 最大值（number用）
  unit?: string;             // 单位（number用）
  options?: string;          // 下拉选项（select用，JSON字符串）
  orderNum?: number;         // 排序号
  isSystem?: boolean;        // 是否系统配置
  creator?: string;          // 创建者
  updater?: string;          // 更新者
  createTime?: string;       // 创建时间
  updateTime?: string;       // 更新时间
}

/**
 * 保存配置项参数
 */
export interface SaveConfigParam {
  configKey: string;
  configValue: string;
  configGroup: string;
}
