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

130 lines
1.8 KiB
Markdown

# CodePlay API 参考文档
## 基础 URL
```
开发环境:http://localhost:5000/api
生产环境:https://your-domain.com/api
```
## 认证
所有 API 端点(除 /api/auth/login 外)都需要 JWT Token 认证。
### 获取 Token
```http
POST /api/auth/login
Content-Type: application/json
{
"username": "user",
"password": "password"
}
```
响应:
```json
{
"token": "eyJhbGc...",
"username": "user",
"expiresIn": 3600
}
```
### 使用 Token
```http
Authorization: Bearer eyJhbGc...
```
## API 端点
### 转换 (Conversion)
#### POST /conversion/convert
转换代码
**请求体**:
```json
{
"sourceCode": "string",
"sourceLanguage": "CSharp",
"targetLanguage": "Java",
"validationRounds": 2,
"options": {
"keepComments": true,
"keepDocStrings": true
}
}
```
**响应**:
```json
{
"success": true,
"transformedCode": "string",
"report": {
"linesConverted": 100,
"classesConverted": 5
}
}
```
### 报告 (Report)
#### GET /report
获取所有报告
#### GET /report/{id}
获取指定报告
#### DELETE /report/{id}
删除报告
#### GET /report/stats
获取统计信息
### 项目 (Project)
#### GET /project
获取项目列表
#### POST /project
创建项目
#### GET /project/{id}
获取项目详情
#### PUT /project/{id}
更新项目
#### DELETE /project/{id}
删除项目
### 认证 (Auth)
#### POST /auth/login
用户登录
#### POST /auth/refresh
刷新 Token
#### GET /auth/me
获取当前用户信息
## 错误码
| 状态码 | 说明 |
|--------|------|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 禁止访问 |
| 404 | 资源不存在 |
| 429 | 请求过于频繁 |
| 500 | 服务器内部错误 |
## 限流
- 限制:60 请求/分钟/IP
- 超出返回 429 状态码
- 响应头包含 Retry-After