# 核心功能 ## 功能概览 | 功能模块 | 功能点 | 说明 | 优先级 | | -------------- | ------------- | ------------------ | ------ | | **字段配置** | 添加字段 | 可视化添加数据字段 | P0 | | | 删除字段 | 删除不需要的字段 | P0 | | | 字段排序 | 拖拽调整字段顺序 | P1 | | | 字段命名 | 自定义字段名称 | P0 | | | 必填/选填设置 | 控制字段是否必填 | P0 | | | 空值率配置 | 选填字段空值概率 | P1 | | **生成器系统** | 生成器选择 | 从生成器库中选择 | P0 | | | 参数配置 | 配置生成器参数 | P0 | | | 实时预览 | 配置时查看生成结果 | P1 | | **数据生成** | 批量生成 | 支持 10000+ 条数据 | P0 | | | 唯一性约束 | 保证字段值唯一 | P1 | | | 组合策略 | 自动选择生成策略 | P1 | | | 数据预览 | 生成前预览数据 | P1 | | **数据导出** | JSON 导出 | 导出为 JSON 格式 | P0 | | | CSV 导出 | 导出为 CSV 格式 | P0 | ## 功能详情 ### 1. 字段配置 #### 添加字段 - 用户点击"添加字段"按钮 - 弹出生成器选择器 - 选择生成器后,自动创建新字段 - 字段默认名称为生成器名称 #### 删除字段 - 每个字段右侧有删除按钮 - 点击后弹出确认对话框 - 确认后删除该字段 #### 字段排序 - 支持拖拽排序 - 支持上移/下移按钮 - 排序后预览数据同步更新 #### 字段命名 - 字段名称可自定义 - 支持中英文命名 - 同一规则内字段名不可重复 #### 必填/选填设置 - 每个字段可设置为"必填"或"选填" - **必填字段**: 100% 生成数据 - **选填字段**: 可配置空值概率(0-100%) - 默认所有字段为必填 #### 空值率配置 - 选填字段可单独设置空值率 - 提供预设值:低(20%)、中(50%)、高(80%) - 支持滑块精细调节(0-100%) - 未单独设置的选填字段使用全局默认空值率 --- ### 2. 生成器系统 #### 生成器选择 - 以分类方式展示生成器 - 支持搜索生成器 - 点击选择后添加到字段配置 #### 价格生成器(业务数据) 生成真实的价格数据,支持多种策略: | 策略 | 说明 | 适用场景 | | -------- | ------------------------------ | ------------ | | 真实分布 | 对数正态分布,模拟真实商品价格 | 通用电商场景 | | 均匀随机 | 所有价格等概率 | 测试数据 | | 心理定价 | .99/.98/.95 结尾 | 营销场景 | **参数配置**: - 最低价/最高价:控制价格区间 - 小数位数:0(整数)、1、2 位 - 生成策略:选择分布类型 #### 年龄生成器(个人信息) 生成真实分布的年龄数据: | 策略 | 说明 | 适用场景 | | -------- | ---------------------------- | ------------ | | 真实分布 | 正态分布,均值 35,标准差 10 | 通用用户数据 | | 人口比例 | 按中国人口年龄比例分布 | 市场调研数据 | | 均匀随机 | 所有年龄等概率 | 测试数据 | **参数配置**: - 最小年龄/最大年龄:控制年龄区间 - 生成策略:选择分布类型 #### 数量生成器(业务数据) 生成真实分布的数量数据: | 策略 | 说明 | 适用场景 | | -------- | --------------------------- | -------- | | 真实分布 | 泊松分布,大多数购买 1-3 件 | 零售订单 | | 批发模式 | 10-100 之间均匀分布 | 批发订单 | | 均匀随机 | 所有数量等概率 | 测试数据 | **参数配置**: - 最小值/最大值:控制数量区间 - 生成策略:选择分布类型 #### 评分生成器(业务数据) 生成真实分布的评分数据: | 策略 | 说明 | 适用场景 | | -------- | ------------------ | -------- | | 真实分布 | 偏态分布,偏向高分 | 电商平台 | | 严格评价 | 偏态分布,偏向低分 | 严格评审 | | 均匀随机 | 所有评分等概率 | 测试数据 | **参数配置**: - 最低分/最高分:控制评分区间 - 小数位数:0、1 位 - 生成策略:选择分布类型 #### 折扣生成器(业务数据) 生成真实分布的折扣数据: | 策略 | 说明 | 适用场景 | | -------- | ------------------------ | -------- | | 心理定价 | 常见折扣点(8折、9折等) | 电商促销 | | 清仓模式 | 大折扣区间(3-7折) | 清仓处理 | | 均匀随机 | 所有折扣等概率 | 测试数据 | **参数配置**: - 最低折扣/最高折扣:控制折扣区间(0.1-0.9) - 生成策略:选择分布类型 #### 库存生成器(业务数据) 生成真实分布的库存数据: | 策略 | 说明 | 适用场景 | | -------- | ------------------------ | -------- | | 真实分布 | 指数分布,大多数库存较少 | 通用商品 | | 热销商品 | 低库存区间(0-50) | 热销商品 | | 均匀随机 | 所有库存等概率 | 测试数据 | **参数配置**: - 最小库存/最大库存:控制库存区间 - 生成策略:选择分布类型 #### 参数配置 - 每个生成器有对应的参数配置界面 - 必填参数标记星号 - 修改参数后实时预览更新 #### 实时预览 - 配置参数时,右侧预览区实时更新 - 显示 5-10 条示例数据 - 帮助用户确认配置是否正确 --- ### 3. 数据生成 #### 批量生成 - 支持配置生成数量 - 使用 Web Worker 后台生成 - 支持 10000+ 条数据 - 生成过程中显示进度条 #### 唯一性约束 - 每个字段可单独设置唯一性约束 - 启用后,该字段生成的值不会重复 - 如果无法生成唯一值,使用重试机制 #### 组合策略(唯一性生成) 系统根据数据量自动选择最优生成策略: | 数据量 | 策略 | 说明 | | --------- | --------------- | ---------------------- | | ≤ 1000 条 | 随机生成 + 重试 | 保证随机性,性能可接受 | | > 1000 条 | 索引生成 | 高性能,保证唯一性 | **实现方式**: - 生成器提供两个方法:`generate()` 和 `generateAtIndex()` - `generate()`: 随机生成,用于小数据量或非唯一性字段 - `generateAtIndex()`: 索引生成,用于大数据量唯一性字段 - 系统根据配置自动选择合适的方法 **示例**: - 手机号字段:`generateAtIndex(params, index)` 使用 index 生成唯一手机号 - 姓名字段:`generateAtIndex(params, index)` 使用 index 组合姓和名 #### 数据预览 - 生成前可预览数据 - 显示前 10 条数据 - 支持分页查看更多数据 --- ### 4. 数据导出 #### JSON 导出 - 导出为标准 JSON 格式 - 支持压缩和格式化两种模式 - 包含字段名和数据 #### CSV 导出 - 导出为 CSV 格式 - 自动处理逗号转义 - 支持中文编码 (UTF-8 with BOM)