Files
monkeycode-ai 8422645625 feat: 完成第四批任务 (Task 6.2, 10.1-10.3)
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>
2026-06-04 00:54:23 +00:00

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+

https://nodejs.org/

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. 添加新的转换器

  1. CodePlay.Core/Converters/ 创建新类
  2. 实现 IConverter 接口
  3. ConversionService 中注册

2. 添加新的 API 端点

  1. CodePlay.WebAPI/Controllers/ 创建控制器
  2. 添加 [Authorize] 特性 (如需认证)
  3. 实现 CRUD 方法

3. 添加前端组件

  1. CodePlay.Web/src/components/ 创建组件
  2. views/ 创建页面
  3. 更新路由配置

调试技巧

日志查看

# 查看实时日志
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