feat: 实现测试数据生成器完整功能

- 添加类型定义 (FieldConfig, DataRule, GeneratorDefinition 等)
- 实现 21 个数据生成器 (个人信息/业务数据/技术数据/基础类型)
- 实现 Web Worker 后台数据生成引擎
- 实现规则存储与管理功能
- 实现 JSON/CSV 数据导出功能
- 开发完整 UI 组件 (字段管理/生成器选择/数据预览/导出面板等)
- 集成到应用功能配置,添加国际化支持

功能特性:
- 实时预览生成的数据
- 字段配置 (名称/描述/必填/空值率/唯一性约束)
- 规则管理 (保存/加载/搜索/导入导出)
- Web Worker 后台生成,支持进度显示和取消
- 响应式布局,支持多种设备

docs: 更新 TASKS.md 所有子任务复选框为已完成状态
This commit is contained in:
雨霖铃
2026-06-06 09:23:02 +08:00
parent 2b84eda24f
commit 1a92e88934
27 changed files with 4795 additions and 1 deletions
+268
View File
@@ -920,5 +920,273 @@
"common_pageErrorBoundary_description": {
"message": "该页面在加载或渲染时遇到了内部脚本错误。您可以尝试重试,或者通过导航菜单切换到其他工具。",
"description": "Translation key: pageErrorBoundary_description"
},
"testDataGenerator_title": {
"message": "测试数据生成器",
"description": "Translation key: testDataGenerator_title"
},
"testDataGenerator_description": {
"message": "自定义字段配置,批量生成测试数据",
"description": "Translation key: testDataGenerator_description"
},
"testDataGenerator_fields": {
"message": "字段",
"description": "Translation key: testDataGenerator_fields"
},
"testDataGenerator_addField": {
"message": "添加字段",
"description": "Translation key: testDataGenerator_addField"
},
"testDataGenerator_noFields": {
"message": "暂无字段",
"description": "Translation key: testDataGenerator_noFields"
},
"testDataGenerator_addFieldHint": {
"message": "点击上方按钮添加第一个字段",
"description": "Translation key: testDataGenerator_addFieldHint"
},
"testDataGenerator_unique": {
"message": "唯一",
"description": "Translation key: testDataGenerator_unique"
},
"testDataGenerator_fieldName": {
"message": "字段名称",
"description": "Translation key: testDataGenerator_fieldName"
},
"testDataGenerator_fieldNamePlaceholder": {
"message": "请输入字段名称",
"description": "Translation key: testDataGenerator_fieldNamePlaceholder"
},
"testDataGenerator_fieldDescription": {
"message": "字段描述",
"description": "Translation key: testDataGenerator_fieldDescription"
},
"testDataGenerator_fieldDescriptionPlaceholder": {
"message": "可选,添加字段说明",
"description": "Translation key: testDataGenerator_fieldDescriptionPlaceholder"
},
"testDataGenerator_required": {
"message": "必填",
"description": "Translation key: testDataGenerator_required"
},
"testDataGenerator_nullRate": {
"message": "空值率",
"description": "Translation key: testDataGenerator_nullRate"
},
"testDataGenerator_nullRateLow": {
"message": "低 (5%)",
"description": "Translation key: testDataGenerator_nullRateLow"
},
"testDataGenerator_nullRateMedium": {
"message": "中 (20%)",
"description": "Translation key: testDataGenerator_nullRateMedium"
},
"testDataGenerator_nullRateHigh": {
"message": "高 (50%)",
"description": "Translation key: testDataGenerator_nullRateHigh"
},
"testDataGenerator_uniqueConstraint": {
"message": "唯一性约束",
"description": "Translation key: testDataGenerator_uniqueConstraint"
},
"testDataGenerator_generator": {
"message": "数据生成器",
"description": "Translation key: testDataGenerator_generator"
},
"testDataGenerator_generatorParams": {
"message": "生成器参数",
"description": "Translation key: testDataGenerator_generatorParams"
},
"testDataGenerator_searchGenerator": {
"message": "搜索生成器...",
"description": "Translation key: testDataGenerator_searchGenerator"
},
"testDataGenerator_searchResults": {
"message": "搜索结果",
"description": "Translation key: testDataGenerator_searchResults"
},
"testDataGenerator_fieldConfig": {
"message": "字段配置",
"description": "Translation key: testDataGenerator_fieldConfig"
},
"testDataGenerator_ruleManagement": {
"message": "规则管理",
"description": "Translation key: testDataGenerator_ruleManagement"
},
"testDataGenerator_selectFieldToEdit": {
"message": "选择左侧字段进行编辑",
"description": "Translation key: testDataGenerator_selectFieldToEdit"
},
"testDataGenerator_count": {
"message": "生成数量",
"description": "Translation key: testDataGenerator_count"
},
"testDataGenerator_format": {
"message": "数据格式",
"description": "Translation key: testDataGenerator_format"
},
"testDataGenerator_defaultNullRate": {
"message": "默认空值率",
"description": "Translation key: testDataGenerator_defaultNullRate"
},
"testDataGenerator_generate": {
"message": "生成数据",
"description": "Translation key: testDataGenerator_generate"
},
"testDataGenerator_cancel": {
"message": "取消生成",
"description": "Translation key: testDataGenerator_cancel"
},
"testDataGenerator_progress": {
"message": "已生成 {{current}} / {{total}} 条",
"description": "Translation key: testDataGenerator_progress"
},
"testDataGenerator_estimatedTime": {
"message": "预计剩余 {{time}} 秒",
"description": "Translation key: testDataGenerator_estimatedTime"
},
"testDataGenerator_dataPreview": {
"message": "数据预览",
"description": "Translation key: testDataGenerator_dataPreview"
},
"testDataGenerator_noData": {
"message": "暂无数据",
"description": "Translation key: testDataGenerator_noData"
},
"testDataGenerator_noDataHint": {
"message": "配置字段后点击「生成数据」按钮",
"description": "Translation key: testDataGenerator_noDataHint"
},
"testDataGenerator_copied": {
"message": "已复制",
"description": "Translation key: testDataGenerator_copied"
},
"testDataGenerator_copy": {
"message": "复制",
"description": "Translation key: testDataGenerator_copy"
},
"testDataGenerator_pageInfo": {
"message": "第 {{current}} / {{total}} 页",
"description": "Translation key: testDataGenerator_pageInfo"
},
"testDataGenerator_prevPage": {
"message": "上一页",
"description": "Translation key: testDataGenerator_prevPage"
},
"testDataGenerator_nextPage": {
"message": "下一页",
"description": "Translation key: testDataGenerator_nextPage"
},
"testDataGenerator_success": {
"message": "生成成功",
"description": "Translation key: testDataGenerator_success"
},
"testDataGenerator_partialSuccess": {
"message": "部分成功",
"description": "Translation key: testDataGenerator_partialSuccess"
},
"testDataGenerator_failed": {
"message": "生成失败",
"description": "Translation key: testDataGenerator_failed"
},
"testDataGenerator_totalCount": {
"message": "总条数",
"description": "Translation key: testDataGenerator_totalCount"
},
"testDataGenerator_successCount": {
"message": "成功",
"description": "Translation key: testDataGenerator_successCount"
},
"testDataGenerator_duration": {
"message": "耗时",
"description": "Translation key: testDataGenerator_duration"
},
"testDataGenerator_warnings": {
"message": "警告",
"description": "Translation key: testDataGenerator_warnings"
},
"testDataGenerator_moreWarnings": {
"message": "还有 {{count}} 条警告",
"description": "Translation key: testDataGenerator_moreWarnings"
},
"testDataGenerator_export": {
"message": "导出数据",
"description": "Translation key: testDataGenerator_export"
},
"testDataGenerator_copyJSON": {
"message": "复制 JSON",
"description": "Translation key: testDataGenerator_copyJSON"
},
"testDataGenerator_copyCSV": {
"message": "复制 CSV",
"description": "Translation key: testDataGenerator_copyCSV"
},
"testDataGenerator_downloadJSON": {
"message": "下载 JSON",
"description": "Translation key: testDataGenerator_downloadJSON"
},
"testDataGenerator_downloadCSV": {
"message": "下载 CSV",
"description": "Translation key: testDataGenerator_downloadCSV"
},
"testDataGenerator_saveRule": {
"message": "保存规则",
"description": "Translation key: testDataGenerator_saveRule"
},
"testDataGenerator_import": {
"message": "导入",
"description": "Translation key: testDataGenerator_import"
},
"testDataGenerator_exportRules": {
"message": "导出规则",
"description": "Translation key: testDataGenerator_exportRules"
},
"testDataGenerator_ruleCount": {
"message": "已保存 {{count}}/{{max}} 条",
"description": "Translation key: testDataGenerator_ruleCount"
},
"testDataGenerator_searchRules": {
"message": "搜索规则...",
"description": "Translation key: testDataGenerator_searchRules"
},
"testDataGenerator_saveNewRule": {
"message": "保存新规则",
"description": "Translation key: testDataGenerator_saveNewRule"
},
"testDataGenerator_ruleNamePlaceholder": {
"message": "规则名称",
"description": "Translation key: testDataGenerator_ruleNamePlaceholder"
},
"testDataGenerator_ruleDescPlaceholder": {
"message": "规则描述(可选)",
"description": "Translation key: testDataGenerator_ruleDescPlaceholder"
},
"testDataGenerator_confirm": {
"message": "确认",
"description": "Translation key: testDataGenerator_confirm"
},
"testDataGenerator_noSearchResults": {
"message": "未找到匹配的规则",
"description": "Translation key: testDataGenerator_noSearchResults"
},
"testDataGenerator_noRules": {
"message": "暂无保存的规则",
"description": "Translation key: testDataGenerator_noRules"
},
"testDataGenerator_usedTimes": {
"message": "使用 {{count}} 次",
"description": "Translation key: testDataGenerator_usedTimes"
},
"testDataGenerator_load": {
"message": "加载",
"description": "Translation key: testDataGenerator_load"
},
"testDataGenerator_duplicate": {
"message": "复制",
"description": "Translation key: testDataGenerator_duplicate"
},
"testDataGenerator_delete": {
"message": "删除",
"description": "Translation key: testDataGenerator_delete"
}
}