公共工具 API¶
1. 附件上传¶
POST /api/v1/upload
Content-Type: multipart/form-data
返回:
{
"code": 0,
"message": "success",
"data": { "url": "/media/uploads/<uuid>.<ext>" }
}
说明:
支持两种后端:本地磁盘与 S3 兼容对象存储,可通过环境变量
FILE_STORAGE_BACKEND(local/s3)切换。本地模式默认将文件保存到服务器的
/var/www/classroom-manager/uploads/,可用LOCAL_UPLOAD_DIR和LOCAL_UPLOAD_URL_PREFIX覆盖存储路径与访问前缀。S3 模式需要提供
S3_BUCKET_NAME、S3_ACCESS_KEY_ID、S3_SECRET_ACCESS_KEY,可选S3_ENDPOINT_URL或S3_BASE_URL用于自定义访问域名(适配任意 S3 兼容服务)。需要登录(
Authorization: Bearer <token>)。当前实现为本地磁盘上传,返回值为站内可访问的相对路径。
2. 获取系统配置¶
GET /api/v1/config
权限:需要登录。
返回:
{
"code": 0,
"message": "success",
"data": {
"season": "winter",
"season_display": "冬季作息",
"semester_start_date": "2026-02-17",
"updated_at": "2026-01-20T10:00:00+08:00"
}
}
3. 设置季节作息(仅 superadmin)¶
POST /api/v1/config/season
Body:
{ "season": "winter" }
返回:与获取系统配置相同。