教室管理 API¶
1. 获取教室列表(登录后)¶
GET /api/v1/classrooms
Query:
building
capacity_min
status
page, page_size(兼容 size)
2. 教室详情¶
(登录用户)
GET /api/v1/classrooms/{id}
3. 创建教室(superadmin)¶
POST /api/v1/classrooms
4. 更新教室信息(superadmin / assistant)¶
PUT /api/v1/classrooms/{id}
5. 删除教室(superadmin)¶
DELETE /api/v1/classrooms/{id}
6. 导入教室 Excel(superadmin)¶
POST /api/v1/classrooms/import
Content-Type: multipart/form-data
7. 教室课表¶
获取某一教室在指定日期范围内的占用时间段。
课表由 已批准(approved) 的人工借用记录(source_type=manual)与课程表(CourseSession,通常由课程导入生成)共同生成,并按照时间顺序返回一组时间块。空闲时段也会以 occupied=false 的块返回,便于前端直接绘制时间轴。
GET /api/v1/classrooms/{id}/schedule
说明:需登录后访问。
Query:
start_date(yyyy-mm-dd)
end_date(yyyy-mm-dd)
Response
{
"code": 0,
"message": "success",
"data": [
{
"start_time": "2025-04-12T00:00:00+08:00",
"end_time": "2025-04-12T08:00:00+08:00",
"occupied": false,
"reason": null
},
{
"start_time": "2025-04-12T08:00:00+08:00",
"end_time": "2025-04-12T09:40:00+08:00",
"occupied": true,
"reason": "Calculus"
}
]
}
8. 获取同时段空闲教室¶
紧急换教室用,需登录后访问。
GET /api/v1/classrooms/free
Query:
start_time
end_time