8422645625
Task 6.2 - 报告导出功能: - ReportExportService: 报告导出服务 - ExportToMarkdown: Markdown 格式导出 - ExportToHtml: HTML 格式导出(可打印为 PDF) - ExportToPdf: PDF 导出(HTML 包装) Task 10.1-10.3 - 文档和打包: - README.md: 项目主文档 - docs/USAGE.md: 使用指南(CLI 命令、API、Web 界面) - docs/DEVELOPMENT.md: 开发指南(项目结构、构建、测试、部署) - docs/API.md: API 参考文档(端点、认证、错误码) - Dockerfile: Web API Docker 镜像 - docker-compose.yml: Docker Compose 配置 - .dockerignore: Docker 忽略文件 - NuGet 打包配置 (CodePlay.Core.csproj) 测试:42 个 (41 通过,1 跳过) ✅ 新增文件: - CodePlay.Core/Services/ReportExportService.cs - README.md - docs/USAGE.md - docs/DEVELOPMENT.md - docs/API.md - Dockerfile - docker-compose.yml - .dockerignore Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2.2 KiB
2.2 KiB
CodePlay 开发指南
项目结构
CodePlay/
├── CodePlay.Core/ # 核心转换引擎
├── CodePlay.Persistence/ # 数据持久化层
├── CodePlay.WebAPI/ # ASP.NET Core Web API
├── CodePlay.CLI/ # 命令行工具
├── CodePlay.Web/ # Vue3 前端
├── CodePlay.WebUI/ # Blazor 管理端
└── CodePlay.Tests/ # 单元测试
开发环境配置
1. 安装 .NET 8.0 SDK
https://dotnet.microsoft.com/download
2. 安装 Node.js 18+
3. 克隆并还原依赖
git clone <repository-url>
cd CodePlay
dotnet restore
4. 安装前端依赖
cd CodePlay.Web
npm install
构建和测试
编译所有项目
dotnet build
运行单元测试
dotnet test --logger "console;verbosity=normal"
查看测试覆盖率
dotnet test /p:CollectCoverage=true
代码格式化
dotnet format
添加新功能
1. 添加新的转换器
- 在
CodePlay.Core/Converters/创建新类 - 实现
IConverter接口 - 在
ConversionService中注册
2. 添加新的 API 端点
- 在
CodePlay.WebAPI/Controllers/创建控制器 - 添加
[Authorize]特性 (如需认证) - 实现 CRUD 方法
3. 添加前端组件
- 在
CodePlay.Web/src/components/创建组件 - 在
views/创建页面 - 更新路由配置
调试技巧
日志查看
# 查看实时日志
tail -f logs/codeplay-*.log
API 测试
使用 Swagger UI: http://localhost:5000/swagger
前端调试
使用浏览器开发者工具的 Vue Devtools
提交代码
# 1. 确保测试通过
dotnet test
# 2. 格式化代码
dotnet format
# 3. 提交
git add .
git commit -m "feat: description"
git push
发布 NuGet 包
# 1. 更新版本号
# 编辑 CodePlay.Core.csproj 中的 <Version>
# 2. 打包
dotnet pack CodePlay.Core/CodePlay.Core.csproj -c Release
# 3. 发布
dotnet nuget push CodePlay.Core.1.0.0.nupkg \
--source "https://api.nuget.org/v3/index.json" \
--api-key YOUR_API_KEY
Docker 部署
# 构建镜像
docker build -t codeplay:latest .
# 运行
docker run -d -p 5000:80 codeplay:latest