feat(P01): 迁移 Taro 小程序项目代码

- 迁移前端源码 (src/)
- 迁移后端服务 (server/)
- 迁移配置文件 (package.json, tsconfig.json 等)
- 更新需求概要文档
- 更新架构设计文档
- 更新接口定义文档
- 更新环境配置文档
- 创建测试目录结构和配置

项目技术栈:
- Taro 4.1.9 (跨端框架)
- React 18
- TypeScript
- NestJS (后端)
- Tailwind CSS 4
- shadcn/ui 组件库
This commit is contained in:
Dev AI
2026-05-22 16:25:05 +08:00
parent 00ce240c01
commit fb348f3740
106 changed files with 13015 additions and 182 deletions
+258 -59
View File
@@ -1,54 +1,41 @@
# P01_errlens_app - 接口定义
## API 基础路径
`/api/v1`
## 接口规范
## 认证方式
JWT Token,放在 Authorization 头:
```
Authorization: Bearer <token>
```
### 基础信息
- **Base URL**: `/api`(开发环境通过 Vite Proxy 代理到 `http://localhost:3000/api`
- **请求格式**: JSON
- **响应格式**: Envelope Pattern `{ code, msg, data }`
## 接口列表
### 通用响应结构
### 1. 代码分析
#### POST /api/v1/analyze
分析代码中的错误
**请求体:**
```json
```typescript
// 成功响应
{
"code": "string",
"language": "string",
"options": {
"strict": true
}
code: 200,
msg: "success",
data: { ... }
}
// 错误响应
{
code: 400 | 401 | 403 | 404 | 500,
msg: "错误信息",
data: null
}
```
**响应:**
```json
{
"success": true,
"errors": [
{
"line": 10,
"column": 5,
"type": "error",
"message": "变量未定义",
"suggestion": "建议在使用前定义变量"
}
]
}
---
## 用户模块
### 1. 用户登录
```
POST /api/auth/login
```
### 2. 用户管理
#### POST /api/v1/users/login
用户登录
**请求体:**
**请求参数**
```json
{
"email": "string",
@@ -56,40 +43,252 @@ Authorization: Bearer <token>
}
```
**响应**
**响应示例**
```json
{
"success": true,
"token": "string",
"user": {
"id": "string",
"email": "string",
"name": "string"
"code": 200,
"msg": "success",
"data": {
"token": "jwt_token_here",
"user": {
"id": "uuid",
"email": "user@example.com",
"nickname": "用户名"
}
}
}
```
### 3. 修复建议
---
#### POST /api/v1/fix
获取修复建议
### 2. 用户注册
**请求体:**
```
POST /api/auth/register
```
**请求参数**
```json
{
"email": "string",
"password": "string",
"nickname": "string"
}
```
**响应示例**
```json
{
"code": 200,
"msg": "success",
"data": {
"id": "uuid",
"email": "user@example.com",
"nickname": "用户名"
}
}
```
---
### 3. 获取用户信息
```
GET /api/users/profile
```
**请求头**
```
Authorization: Bearer <token>
```
**响应示例**
```json
{
"code": 200,
"msg": "success",
"data": {
"id": "uuid",
"email": "user@example.com",
"nickname": "用户名",
"avatar": "https://...",
"createdAt": "2026-05-22T00:00:00Z"
}
}
```
---
## 代码分析模块
### 1. 上传代码分析
```
POST /api/analyze
```
**请求头**
```
Authorization: Bearer <token>
```
**请求参数**
```json
{
"code": "string",
"error": {
"type": "string",
"message": "string"
"language": "javascript | python | typescript | ..."
}
```
**响应示例**
```json
{
"code": 200,
"msg": "success",
"data": {
"taskId": "uuid",
"status": "completed",
"results": [
{
"line": 10,
"column": 5,
"severity": "error",
"message": "缺少分号",
"suggestion": "在行末添加分号"
}
]
}
}
```
**响应:**
---
### 2. 获取分析结果
```
GET /api/analyze/:taskId
```
**响应示例**
```json
{
"success": true,
"fixedCode": "string",
"explanation": "string"
"code": 200,
"msg": "success",
"data": {
"taskId": "uuid",
"status": "completed",
"results": [...]
}
}
```
```
---
### 3. 获取历史记录
```
GET /api/analyze/history
```
**查询参数**
```
page: number (default: 1)
pageSize: number (default: 20)
```
**响应示例**
```json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": "uuid",
"codeSnippet": "function hello() {...}",
"language": "javascript",
"resultCount": 3,
"createdAt": "2026-05-22T00:00:00Z"
}
],
"total": 100,
"page": 1,
"pageSize": 20
}
}
```
---
## 文件上传模块
### 1. 上传文件
```
POST /api/upload
```
**请求头**
```
Authorization: Bearer <token>
Content-Type: multipart/form-data
```
**请求参数**
```
file: binary
```
**响应示例**
```json
{
"code": 200,
"msg": "success",
"data": {
"url": "https://storage.example.com/files/xxx.png",
"filename": "xxx.png",
"size": 1024
}
}
```
---
## 错误码定义
| 错误码 | 说明 |
|-------|------|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 / Token 过期 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
---
## API 测试命令
### 开发环境测试
```bash
# 登录接口
curl -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","password":"123456"}'
# 获取用户信息
curl -X GET http://localhost:3000/api/users/profile \
-H "Authorization: Bearer <token>"
# 代码分析
curl -X POST http://localhost:3000/api/analyze \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"code":"console.log(1)","language":"javascript"}'
```
---
**文档版本**v1.0.0
**最后更新**2026-05-22