用户 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"
}

相关API

查看其他相关的API文档