27c1cf37e3
- Add environment variable files (.env, .env.local, .env.*.local) - Add build output directories (dist/, build/) - Add test coverage directory (coverage/) - Add IDE workspace files (*.code-workspace) - Add TypeScript build info files (*.tsbuildinfo, *.tsxbuildinfo) - Remove docs/* to track documentation files
497 lines
12 KiB
Markdown
497 lines
12 KiB
Markdown
# 生成器库
|
|
|
|
## 分类概览
|
|
|
|
| 分类 | 生成器数量 | 说明 |
|
|
| ----------- | ---------- | ------------------------ |
|
|
| 👤 个人信息 | 5 个 | 中文姓名、邮箱、手机号等 |
|
|
| 💼 业务数据 | 4 个 | 订单号、价格、日期等 |
|
|
| 🔧 技术数据 | 3 个 | UUID、IP地址、URL |
|
|
| 📝 基础类型 | 4 个 | 整数、浮点数、字符串等 |
|
|
| **总计** | **16 个** | |
|
|
|
|
---
|
|
|
|
## 👤 个人信息生成器
|
|
|
|
### 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号
|
|
|
|
---
|
|
|
|
## 💼 业务数据生成器
|
|
|
|
### 1. 订单号 (orderId)
|
|
|
|
**说明**: 生成订单号
|
|
|
|
**参数**:
|
|
|
|
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
| ------------ | ------- | ---- | ------ | ------------ |
|
|
| prefix | string | 否 | 'ORD' | 前缀 |
|
|
| dateIncluded | boolean | 否 | true | 是否包含日期 |
|
|
|
|
**示例**:
|
|
|
|
```json
|
|
{
|
|
"name": "orderId",
|
|
"generator": "orderId",
|
|
"params": {
|
|
"prefix": "ORD",
|
|
"dateIncluded": true
|
|
}
|
|
}
|
|
```
|
|
|
|
**生成结果**: ORD20240115001, ORD20240115002
|
|
|
|
---
|
|
|
|
### 2. 价格 (price)
|
|
|
|
**说明**: 生成价格,保留 2 位小数
|
|
|
|
**参数**:
|
|
|
|
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
|
| -------- | ----------------------- | ---- | ------- | -------- |
|
|
| min | number | 否 | 0.01 | 最小值 |
|
|
| max | number | 否 | 9999.99 | 最大值 |
|
|
| currency | 'CNY' \| 'USD' \| 'EUR' | 否 | 'CNY' | 货币类型 |
|
|
|
|
**示例**:
|
|
|
|
```json
|
|
{
|
|
"name": "amount",
|
|
"generator": "price",
|
|
"params": {
|
|
"min": 10,
|
|
"max": 5000,
|
|
"currency": "CNY"
|
|
}
|
|
}
|
|
```
|
|
|
|
**生成结果**: 299.00, 1599.50, 0.01
|
|
|
|
---
|
|
|
|
### 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
|
|
|
|
---
|
|
|
|
## 🔧 技术数据生成器
|
|
|
|
### 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位身份证号 │ │ │
|
|
│ │ │ 🏠 中文地址 生成中国地址 │ │ │
|
|
│ │ └─────────────────────────────────────────────────────────┘ │ │
|
|
│ │ │ │
|
|
│ └───────────────────────────────────────────────────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
```
|