用户 API
用户信息管理和个人资料相关的API接口文档
API 概述
用户API提供用户信息查询、个人资料管理、学习进度跟踪等功能。 所有API都需要有效的JWT令牌进行身份验证。
个人资料
查看和更新用户信息
账户设置
偏好设置和安全配置
学习数据
进度和成就统计
获取用户信息
GET /api/users/profile
获取当前用户的个人资料
GET https://api.linuxcloudlab.com/users/profile
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
响应示例
{
"success": true,
"data": {
"id": "user_123456",
"username": "john_doe",
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"avatar": "https://cdn.linuxcloudlab.com/avatars/john.jpg",
"role": "student",
"joinDate": "2025-01-15T08:30:00Z",
"lastLogin": "2025-12-15T10:45:00Z",
"isActive": true
}
}
GET /api/users/{userId}
获取指定用户的公开信息
GET https://api.linuxcloudlab.com/users/user_123456
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
更新用户信息
PUT /api/users/profile
更新当前用户的个人资料
PUT https://api.linuxcloudlab.com/users/profile
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"firstName": "John",
"lastName": "Smith",
"bio": "Linux系统管理员,热爱开源技术",
"location": "北京, 中国",
"website": "https://johnsmith.dev"
}
POST /api/users/avatar
上传用户头像
POST https://api.linuxcloudlab.com/users/avatar
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: multipart/form-data
FormData:
avatar: [File object]
账户设置
GET /api/users/settings
获取用户偏好设置
GET https://api.linuxcloudlab.com/users/settings
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
响应示例
{
"success": true,
"data": {
"theme": "dark",
"language": "zh-CN",
"timezone": "Asia/Shanghai",
"emailNotifications": true,
"pushNotifications": false,
"privacy": {
"profileVisible": true,
"progressVisible": true
}
}
}
PUT /api/users/settings
更新用户偏好设置
PUT https://api.linuxcloudlab.com/users/settings
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"theme": "light",
"emailNotifications": false
}
学习数据
GET /api/users/progress
获取用户学习进度
GET https://api.linuxcloudlab.com/users/progress
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
响应示例
{
"success": true,
"data": {
"totalCourses": 15,
"completedCourses": 8,
"totalLessons": 120,
"completedLessons": 75,
"totalHours": 45.5,
"achievements": [
{
"id": "first_course",
"name": "完成第一个课程",
"earnedAt": "2025-02-01T10:30:00Z"
}
],
"currentStreak": 7
}
}
GET /api/users/certificates
获取用户证书列表
GET https://api.linuxcloudlab.com/users/certificates
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
安全操作
PUT /api/users/password
修改用户密码
PUT https://api.linuxcloudlab.com/users/password
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"currentPassword": "OldPassword123!",
"newPassword": "NewSecurePass456!"
}
DELETE /api/users/account
删除用户账户
DELETE https://api.linuxcloudlab.com/users/account
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"password": "UserPassword123!",
"confirmation": "DELETE_MY_ACCOUNT"
}