Commit Graph
4 Commits
Author SHA1 Message Date
monkeycode-ai abd9d1b4a8 feat: 完成第三批任务 (Task 8.1-8.3, 5.3-5.4, 6.1-6.2)
Task 8.1-8.3 - 错误处理和日志系统:
- GlobalExceptionHandler: 全局异常处理中间件
- 统一错误响应格式 (ErrorResponse)
- 自动分类处理各种异常类型
- 支持 Serilog 日志配置 (appsettings.json)
- 请求日志中间件集成
- 详细的日志输出和错误追踪

Task 5.3-5.4 - CLI 高级功能:
- CliConfiguration: CLI 配置文件管理
- stats 命令:显示转换统计信息
- config 命令:配置 CLI 参数
- 支持用户级别配置文件 (~/.codeplay/config.json)
- 可配置的默认语言和验证轮次
- 并发控制选项

Task 6.1-6.2 - 报告展示完善:
- ReportView.vue: 报告管理界面
- 统计卡片展示(总转换、项目、问题、平均行数)
- 报告列表表格(支持排序和筛选)
- 报告详情对话框
- 代码对比视图
- TODO 和问题列表展示
- 导出和删除功能
- 路由配置更新

测试:42 个 (41 通过,1 跳过) 

新增文件:
- CodePlay.WebAPI/Middleware/GlobalExceptionHandler.cs
- CodePlay.WebAPI/appsettings.json (Serilog 配置)
- CodePlay.CLI/Config/CliConfiguration.cs
- CodePlay.Web/src/views/ReportView.vue
Co-authored-by: monkeycode-ai <[email protected]>
2026-06-04 00:48:23 +00:00
monkeycode-ai 00570c129a feat: 添加批量和目录转换功能
批量转换服务:
- BatchConversionService: 批量转换服务实现
- ConvertDirectoryAsync: 目录转换(递归所有子目录)
- ConvertFilesAsync: 多文件批量转换
- 保持原始目录结构
- 自动生成批量报告

CLI 工具增强:
- --batch/-b: 启用批量转换模式
- --recursive/-r: 递归处理子目录
- --verbose: 显示详细信息
- convert 命令自动检测目录/文件模式

批量转换结果:
- BatchConversionResult: 批量转换结果
- ConvertedFileInfo: 成功文件详情
- FailedFileInfo: 失败文件详情
- 统计:总数/成功/失败/耗时

测试覆盖:
- ConvertDirectoryAsync_ValidDirectory: 目录转换测试
- ConvertFilesAsync_MultipleFiles: 多文件测试

总计:40 个测试全部通过 

使用示例:
# 转换整个目录
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -o ./output-java -b

# 递归转换(默认)
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -b -r true

# 详细输出
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -b --verbose
Co-authored-by: monkeycode-ai <[email protected]>
2026-06-03 10:31:34 +00:00
monkeycode-ai 4ed56f46e2 feat: 实现 Blazor 前端界面 (Task 4.3) 和 CLI 工具 (Task 5.1)
Task 4.3 - Blazor 前端界面:
- 创建 CodePlay.WebUI Blazor Server 项目
- 实现 Converter.razor 代码转换页面
- 提供代码输入、语言选择、转换按钮
- 显示转换结果、TODO 列表和问题列表
- 更新导航菜单
- 注册 ConversionService 服务

Task 5.1 - CLI 命令行工具:
- 集成 System.CommandLine 库
- 实现 convert 命令(代码转换)
- 实现 list 命令(列出支持的转换)
- 实现 check 命令(检查是否支持)
- 支持 -s/-t 指定源/目标语言
- 支持 -i/-o 指定输入/输出文件
- 支持 -v 指定验证轮次
- 支持 -c 指定配置文件

测试:
- CLI help 命令: 
- CLI list 命令: 
- CLI convert 命令:  (成功转换 C# 到 Java)
Co-authored-by: monkeycode-ai <[email protected]>
2026-06-03 08:23:31 +00:00
monkeycode-ai a0971cf974 feat: 完成 CodePlay 项目初始化和核心解析器实现
- 创建 CodePlay 解决方案和 4 个项目 (Core, Web, CLI, Tests)
- 实现核心数据模型 (ConversionRequest, ConversionResult, Project 等)
- 实现核心接口 (IParser, IConverter, ICodeGenerator 等)
- 实现基础抽象类 BaseParser
- 实现 CSharpParser 解析器 (基于 Roslyn)
- 添加 Microsoft.CodeAnalysis.CSharp NuGet 包
- 所有代码编译通过
Co-authored-by: monkeycode-ai <[email protected]>
2026-06-03 02:57:13 +00:00