# 生成器库 ## 分类概览 | 分类 | 生成器数量 | 说明 | | ----------- | ---------- | ------------------------------------------------ | | 👤 个人信息 | 6 个 | 中文姓名、邮箱、手机号、年龄等 | | 💼 业务数据 | 8 个 | 订单号、价格、日期、状态、数量、评分、折扣、库存 | | 技术数据 | 3 个 | UUID、IP地址、URL | | 基础类型 | 4 个 | 整数、浮点数、字符串等 | | **总计** | **21 个** | | --- ## 👤 个人信息生成器 ### 1. 中文姓名 (chineseName) **说明**: 生成中文姓名,如张三、李四 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | --------------- | ---------------------------- | ---- | ------------------ | ------------ | | surnamePool | string \| string[] | 否 | 百家姓前100个 | 姓氏池 | | givenNameLength | { min: number, max: number } | 否 | { min: 1, max: 2 } | 名字长度范围 | **示例**: ```json { "name": "name", "generator": "chineseName", "params": { "surnamePool": ["张", "王", "李", "赵"], "givenNameLength": { "min": 1, "max": 2 } } } ``` **生成结果**: 张伟, 李娜, 王强, 赵敏 --- ### 2. 邮箱地址 (email) **说明**: 生成邮箱地址 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | --------- | -------------------- | ---- | ------------------------------------------------------------ | ---------- | | domains | string[] | 否 | ['qq.com', '163.com', '126.com', 'gmail.com', 'outlook.com'] | 域名列表 | | nameStyle | 'pinyin' \| 'random' | 否 | 'pinyin' | 用户名风格 | **示例**: ```json { "name": "email", "generator": "email", "params": { "domains": ["qq.com", "163.com"], "nameStyle": "pinyin" } } ``` **生成结果**: zhangwei@qq.com, lina@163.com --- ### 3. 中国手机号 (chinesePhone) **说明**: 生成 11 位中国手机号 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------ | -------- | ---- | -------------- | ---------- | | prefix | string[] | 否 | 常见手机号前缀 | 手机号前缀 | **示例**: ```json { "name": "phone", "generator": "chinesePhone", "params": { "prefix": ["138", "139", "150", "151"] } } ``` **生成结果**: 13812345678, 15087654321 --- ### 4. 身份证号 (idCard) **说明**: 生成 18 位中国身份证号 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------ | ------ | ---- | ------ | ------ | | region | string | 否 | 随机 | 地区码 | **示例**: ```json { "name": "idCard", "generator": "idCard", "params": { "region": "110101" } } ``` **生成结果**: 110101199001011234 --- ### 5. 中文地址 (chineseAddress) **说明**: 生成中国地址 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------ | ------------------------------ | ---- | ------ | -------- | | level | 'full' \| 'province' \| 'city' | 否 | 'full' | 详细程度 | **示例**: ```json { "name": "address", "generator": "chineseAddress", "params": { "level": "full" } } ``` **生成结果**: 北京市朝阳区建国路88号 --- ### 6. 年龄 (age) **说明**: 生成真实分布的年龄数据 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ----------------------------------------- | ---- | ----------- | -------- | | min | number | 否 | 1 | 最小年龄 | | max | number | 否 | 100 | 最大年龄 | | strategy | 'realistic' \| 'demographic' \| 'uniform' | 否 | 'realistic' | 生成策略 | **策略说明**: | 策略 | 说明 | 适用场景 | | ----------- | ---------------------------- | ------------ | | realistic | 正态分布,均值 35,标准差 10 | 通用用户数据 | | demographic | 按中国人口年龄比例分布 | 市场调研数据 | | uniform | 均匀随机 | 测试数据 | **示例**: ```json { "name": "age", "generator": "age", "params": { "min": 18, "max": 65, "strategy": "realistic" } } ``` **生成结果**: 28, 42, 35, 51, 23 --- ## 💼 业务数据生成器 ### 1. 订单号 (orderId) **说明**: 生成订单号 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------------ | ------- | ---- | ------ | ------------ | | prefix | string | 否 | 'ORD' | 前缀 | | dateIncluded | boolean | 否 | true | 是否包含日期 | **示例**: ```json { "name": "orderId", "generator": "orderId", "params": { "prefix": "ORD", "dateIncluded": true } } ``` **生成结果**: ORD20240115001, ORD20240115002 --- ### 2. 价格 (price) **说明**: 生成真实的价格数据,支持多种分布策略 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ------------------------------------------- | ---- | ----------- | -------- | | min | number | 是 | 1 | 最低价 | | max | number | 是 | 9999 | 最高价 | | decimals | 0 \| 1 \| 2 | 否 | 2 | 小数位数 | | strategy | 'realistic' \| 'uniform' \| 'psychological' | 否 | 'realistic' | 生成策略 | **生成策略说明**: | 策略 | 说明 | 适用场景 | | ------------- | ------------------------------ | ------------ | | realistic | 对数正态分布,模拟真实商品价格 | 通用电商场景 | | uniform | 均匀随机,所有价格等概率 | 测试数据 | | psychological | 心理定价,.99/.98/.95 结尾 | 营销场景 | **示例**: ```json { "name": "price", "generator": "price", "params": { "min": 10, "max": 5000, "decimals": 2, "strategy": "realistic" } } ``` **生成结果**: - 真实分布: 299.00, 1599.50, 49.99, 1299.00 - 心理定价: 299.99, 1599.98, 49.95, 1299.99 - 均匀随机: 1234.56, 5678.90, 890.12 --- ### 3. 日期时间 (date) **说明**: 生成日期时间 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------ | ------ | ---- | --------------------- | -------- | | format | string | 否 | 'YYYY-MM-DD HH:mm:ss' | 日期格式 | | min | string | 否 | '2020-01-01' | 最早日期 | | max | string | 否 | 当前日期 | 最晚日期 | **示例**: ```json { "name": "createdAt", "generator": "date", "params": { "format": "YYYY-MM-DD HH:mm:ss", "min": "2024-01-01" } } ``` **生成结果**: 2024-01-15 14:30:22 --- ### 4. 状态 (status) **说明**: 从选项中随机选择 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------- | -------- | ---- | -------- | ------------ | | options | string[] | 是 | - | 状态选项列表 | | weights | number[] | 否 | 均匀分布 | 各选项权重 | **示例**: ```json { "name": "status", "generator": "status", "params": { "options": ["pending", "paid", "shipped", "completed"], "weights": [30, 40, 20, 10] } } ``` **生成结果**: pending, paid, shipped, completed --- ### 5. 数量 (quantity) **说明**: 生成真实分布的数量数据 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ---------------------------------- | ---- | ----------- | -------- | | min | number | 否 | 1 | 最小值 | | max | number | 否 | 100 | 最大值 | | strategy | 'realistic' \| 'bulk' \| 'uniform' | 否 | 'realistic' | 生成策略 | **策略说明**: | 策略 | 说明 | 适用场景 | | --------- | --------------------------- | -------- | | realistic | 泊松分布,大多数购买 1-3 件 | 零售订单 | | bulk | 10-100 之间均匀分布 | 批发订单 | | uniform | 均匀随机 | 测试数据 | **示例**: ```json { "name": "quantity", "generator": "quantity", "params": { "min": 1, "max": 50, "strategy": "realistic" } } ``` **生成结果**: 2, 1, 5, 3, 1 --- ### 6. 评分 (rating) **说明**: 生成真实分布的评分数据 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ------------------------------------ | ---- | ----------- | -------- | | min | number | 否 | 1 | 最低分 | | max | number | 否 | 5 | 最高分 | | decimals | number | 否 | 1 | 小数位数 | | strategy | 'realistic' \| 'strict' \| 'uniform' | 否 | 'realistic' | 生成策略 | **策略说明**: | 策略 | 说明 | 适用场景 | | --------- | ------------------ | -------- | | realistic | 偏态分布,偏向高分 | 电商平台 | | strict | 偏态分布,偏向低分 | 严格评审 | | uniform | 均匀随机 | 测试数据 | **示例**: ```json { "name": "rating", "generator": "rating", "params": { "min": 1, "max": 5, "decimals": 1, "strategy": "realistic" } } ``` **生成结果**: 4.5, 4.8, 3.9, 5.0, 4.2 --- ### 7. 折扣 (discount) **说明**: 生成真实分布的折扣数据 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ------------------------------------------- | ---- | --------------- | -------- | | min | number | 否 | 0.1 | 最低折扣 | | max | number | 否 | 0.9 | 最高折扣 | | strategy | 'psychological' \| 'clearance' \| 'uniform' | 否 | 'psychological' | 生成策略 | **策略说明**: | 策略 | 说明 | 适用场景 | | ------------- | ------------------------ | -------- | | psychological | 常见折扣点(8折、9折等) | 电商促销 | | clearance | 大折扣区间(3-7折) | 清仓处理 | | uniform | 均匀随机 | 测试数据 | **示例**: ```json { "name": "discount", "generator": "discount", "params": { "min": 0.1, "max": 0.9, "strategy": "psychological" } } ``` **生成结果**: 0.80, 0.90, 0.85, 0.95, 0.70 --- ### 8. 库存 (stock) **说明**: 生成真实分布的库存数据 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | --------------------------------- | ---- | ----------- | -------- | | min | number | 否 | 0 | 最小库存 | | max | number | 否 | 1000 | 最大库存 | | strategy | 'realistic' \| 'hot' \| 'uniform' | 否 | 'realistic' | 生成策略 | **策略说明**: | 策略 | 说明 | 适用场景 | | --------- | ------------------------ | -------- | | realistic | 指数分布,大多数库存较少 | 通用商品 | | hot | 低库存区间(0-50) | 热销商品 | | uniform | 均匀随机 | 测试数据 | **示例**: ```json { "name": "stock", "generator": "stock", "params": { "min": 0, "max": 500, "strategy": "realistic" } } ``` **生成结果**: 23, 8, 156, 45, 12 --- ## 技术数据生成器 ### 1. UUID (uuid) **说明**: 生成 UUID **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------- | ------------ | ---- | ------ | --------- | | version | 'v4' \| 'v1' | 否 | 'v4' | UUID 版本 | **示例**: ```json { "name": "id", "generator": "uuid", "params": { "version": "v4" } } ``` **生成结果**: 550e8400-e29b-41d4-a716-446655440000 --- ### 2. IPv4 地址 (ipv4) **说明**: 生成 IPv4 地址 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------- | ------- | ---- | ------ | ------------ | | private | boolean | 否 | false | 是否私有地址 | **示例**: ```json { "name": "ip", "generator": "ipv4", "params": { "private": true } } ``` **生成结果**: 192.168.1.1, 10.0.0.1 --- ### 3. URL (url) **说明**: 生成 URL **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ----------------- | ---- | ------------- | ---- | | protocol | 'http' \| 'https' | 否 | 'https' | 协议 | | domain | string | 否 | 'example.com' | 域名 | **示例**: ```json { "name": "website", "generator": "url", "params": { "protocol": "https", "domain": "shop.com" } } ``` **生成结果**: https://shop.com/product/123 --- ## 基础类型生成器 ### 1. 随机整数 (randomInt) **说明**: 生成指定范围的随机整数 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------ | ------ | ---- | ------ | ------ | | min | number | 是 | - | 最小值 | | max | number | 是 | - | 最大值 | **示例**: ```json { "name": "age", "generator": "randomInt", "params": { "min": 18, "max": 60 } } ``` **生成结果**: 25, 42, 18, 60 --- ### 2. 随机浮点数 (randomFloat) **说明**: 生成指定范围的随机浮点数 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | -------- | ------ | ---- | ------ | -------- | | min | number | 是 | - | 最小值 | | max | number | 是 | - | 最大值 | | decimals | number | 否 | 2 | 小数位数 | **示例**: ```json { "name": "score", "generator": "randomFloat", "params": { "min": 0, "max": 100, "decimals": 1 } } ``` **生成结果**: 85.3, 42.7, 99.9 --- ### 3. 随机字符串 (randomString) **说明**: 生成指定长度的随机字符串 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------- | ------ | ---- | -------------- | ---------- | | length | number | 是 | - | 字符串长度 | | charset | string | 否 | 'alphanumeric' | 字符集 | **示例**: ```json { "name": "code", "generator": "randomString", "params": { "length": 8, "charset": "alphanumeric" } } ``` **生成结果**: aB3kL9mN, xY7zW2pQ --- ### 4. 从列表选择 (fromList) **说明**: 从选项列表中随机选择 **参数**: | 参数名 | 类型 | 必填 | 默认值 | 说明 | | ------- | -------- | ---- | -------- | -------- | | options | any[] | 是 | - | 选项列表 | | weights | number[] | 否 | 均匀分布 | 权重 | **示例**: ```json { "name": "category", "generator": "fromList", "params": { "options": ["电子产品", "服装", "食品", "图书"], "weights": [40, 30, 20, 10] } } ``` **生成结果**: 电子产品, 服装, 食品 --- ## 生成器选择界面 ### 界面设计 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ 选择生成器 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 搜索: [搜索生成器... ] │ │ │ │ 分类筛选 │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 全部 │ │ 个人信息 │ │ 业务数据 │ │ 技术数据 │ │ 基础类型 │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ 生成器列表 │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ 👤 个人信息 │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 👤 中文姓名 生成中文姓名,如张三 │ │ │ │ │ │ 📧 邮箱地址 生成邮箱地址 │ │ │ │ │ │ 📱 中国手机号 生成11位手机号 │ │ │ │ │ │ 🆔 身份证号 生成18位身份证号 │ │ │ │ │ │ 🏠 中文地址 生成中国地址 │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ ```