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
+15
View File
@@ -10,6 +10,7 @@ import {
GitCompareArrows,
ArrowLeftRight,
MousePointerClick,
FileSpreadsheet,
} from 'lucide-react';
export type PaletteColorKey = 'primary' | 'success' | 'warning' | 'error' | 'secondary' | 'info';
@@ -24,6 +25,7 @@ const JwtPage = lazy(() => import('@/pages/Jwt'));
const JsonToolsPage = lazy(() => import('@/pages/JsonTools'));
const Base64ConverterPage = lazy(() => import('@/pages/Base64Converter'));
const RightClickRestorerPage = lazy(() => import('@/pages/RightClickRestorer'));
const TestDataGeneratorPage = lazy(() => import('@/pages/TestDataGenerator'));
export interface FeatureConfig {
key: PageType;
@@ -155,6 +157,19 @@ export const FEATURES: FeatureConfig[] = [
tab: RightClickRestorerPage,
},
},
{
key: 'testDataGenerator',
labelKey: 'testDataGenerator_title',
descriptionKey: 'testDataGenerator_description',
themeColorKey: 'warning',
icon: FileSpreadsheet,
defaultVisible: true,
components: {
popup: TestDataGeneratorPage,
sidepanel: TestDataGeneratorPage,
tab: TestDataGeneratorPage,
},
},
];
export function getFeatureByKey(key: PageType): FeatureConfig | undefined {