docs: 更新目标模块相关文档
This commit is contained in:
+83
@@ -523,6 +523,89 @@ POST /api/config/test
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 目标管理 API
|
||||||
|
|
||||||
|
### GET /api/goals
|
||||||
|
获取所有目标
|
||||||
|
|
||||||
|
**响应**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "掌握基本音阶",
|
||||||
|
"content": "...",
|
||||||
|
"created_at": "2026-04-23T10:00:00",
|
||||||
|
"updated_at": "2026-04-23T10:00:00"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### POST /api/goals
|
||||||
|
创建新目标
|
||||||
|
|
||||||
|
**请求体**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "目标名称",
|
||||||
|
"content": "目标内容(Markdown)"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### GET /api/goals/{id}
|
||||||
|
获取单个目标
|
||||||
|
|
||||||
|
### PUT /api/goals/{id}
|
||||||
|
更新目标
|
||||||
|
|
||||||
|
### DELETE /api/goals/{id}
|
||||||
|
删除目标
|
||||||
|
|
||||||
|
### GET /api/goals/{id}/children
|
||||||
|
获取目标的子目标
|
||||||
|
|
||||||
|
### GET /api/goals/{id}/parents
|
||||||
|
获取目标的父目标
|
||||||
|
|
||||||
|
### POST /api/goals/{id}/children
|
||||||
|
添加子目标关联(含循环检测)
|
||||||
|
|
||||||
|
**请求体**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"child_goal_id": 2
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### DELETE /api/goals/{id}/children/{child_id}
|
||||||
|
移除子目标关联
|
||||||
|
|
||||||
|
## 学员目标 API
|
||||||
|
|
||||||
|
### GET /api/students/{id}/goals
|
||||||
|
获取学员的所有目标
|
||||||
|
|
||||||
|
### POST /api/students/{id}/goals
|
||||||
|
为学员分配目标
|
||||||
|
|
||||||
|
**请求体**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"goal_id": 1,
|
||||||
|
"status": "未开始",
|
||||||
|
"mastery_level": 1,
|
||||||
|
"deadline": "2026-05-01"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### PUT /api/students/{id}/goals/{goal_id}
|
||||||
|
更新学员目标状态/掌握程度
|
||||||
|
|
||||||
|
### DELETE /api/students/{id}/goals/{goal_id}
|
||||||
|
移除学员的目标
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 权限说明
|
## 权限说明
|
||||||
|
|
||||||
| 接口 | 管理员 | 普通用户 |
|
| 接口 | 管理员 | 普通用户 |
|
||||||
|
|||||||
+45
-1
@@ -294,4 +294,48 @@ SELECT * FROM users;
|
|||||||
| 60分钟 | 中高级学员 |
|
| 60分钟 | 中高级学员 |
|
||||||
| 90分钟 | 高级学员 |
|
| 90分钟 | 高级学员 |
|
||||||
| 120分钟 | 专业学员 |
|
| 120分钟 | 专业学员 |
|
||||||
| 150分钟以上 | 竞技水平 |
|
| 150分钟以上 | 竞技水平 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 目标管理模块
|
||||||
|
|
||||||
|
### Goal (目标表)
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| id | Integer | 主键 |
|
||||||
|
| name | String(100) | 目标名称 |
|
||||||
|
| content | Text | 目标内容(Markdown) |
|
||||||
|
| created_at | DateTime | 创建时间 |
|
||||||
|
| updated_at | DateTime | 更新时间 |
|
||||||
|
|
||||||
|
### GoalRelation (目标关联表)
|
||||||
|
|
||||||
|
自关联多对多关系,用于表示目标之间的父子关系(DAG)。
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| parent_goal_id | Integer | 父目标ID,外键 |
|
||||||
|
| child_goal_id | Integer | 子目标ID,外键 |
|
||||||
|
|
||||||
|
**关系类型**:自引用多对多(一个目标可以有多个子目标,也可以有多个父目标)
|
||||||
|
|
||||||
|
**约束**:通过应用层循环检测防止形成循环
|
||||||
|
|
||||||
|
### StudentGoal (学员目标记录表)
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| id | Integer | 主键 |
|
||||||
|
| student_id | Integer | 学员ID,外键 |
|
||||||
|
| goal_id | Integer | 目标ID,外键 |
|
||||||
|
| status | String(20) | 状态:未开始/进行中/已完成 |
|
||||||
|
| mastery_level | Integer | 掌握程度 1-5 |
|
||||||
|
| deadline | DateTime | 截止日期 |
|
||||||
|
| completed_at | DateTime | 完成时间 |
|
||||||
|
| created_at | DateTime | 创建时间 |
|
||||||
|
|
||||||
|
**关系**:
|
||||||
|
- 一个学员可以分配多个目标
|
||||||
|
- 一个目标可以分配给多个学员
|
||||||
+4
-1
@@ -21,7 +21,9 @@
|
|||||||
│ │ ├── problems.py # 问题记录API
|
│ │ ├── problems.py # 问题记录API
|
||||||
│ │ ├── plans.py # 方案生成API
|
│ │ ├── plans.py # 方案生成API
|
||||||
│ │ ├── settings.py # 系统设置API
|
│ │ ├── settings.py # 系统设置API
|
||||||
│ │ └── classes.py # 班级管理API(新增)
|
│ │ ├── classes.py # 班级管理API
|
||||||
|
│ │ ├── goals.py # 目标管理 API
|
||||||
|
│ │ └── student_goals.py # 学员目标 API
|
||||||
│ │
|
│ │
|
||||||
│ ├── services/ # 业务逻辑
|
│ ├── services/ # 业务逻辑
|
||||||
│ │ ├── plan_generator.py # 方案生成器
|
│ │ ├── plan_generator.py # 方案生成器
|
||||||
@@ -38,6 +40,7 @@
|
|||||||
│ ├── setup.html # 初始设置页面(独立)
|
│ ├── setup.html # 初始设置页面(独立)
|
||||||
│ ├── users.html # 用户管理页面(继承base)
|
│ ├── users.html # 用户管理页面(继承base)
|
||||||
│ ├── classes.html # 班级管理页面(继承base)
|
│ ├── classes.html # 班级管理页面(继承base)
|
||||||
|
│ ├── goals.html # 目标管理页面
|
||||||
│ ├── templates.html # 模板管理页面(继承base)
|
│ ├── templates.html # 模板管理页面(继承base)
|
||||||
│ ├── api_settings.html # API设置页面(继承base)
|
│ ├── api_settings.html # API设置页面(继承base)
|
||||||
│ └── wechat_card.html # 微信卡片模板(独立)
|
│ └── wechat_card.html # 微信卡片模板(独立)
|
||||||
|
|||||||
Reference in New Issue
Block a user