错题集系统接口文档
错题集系统接口文档
基础信息
- 基础路径:
/
- 请求格式:
application/json
- 响应格式:
application/json
1. 添加错题
请求
- 路径:
POST /addErrorQuestion
- 描述: 添加题目到用户的错题集,如果已存在则更新更新时间
请求参数:
{"userId": "number, 用户ID","questionId": "number, 题目ID"
}
响应
成功响应:
{"status": 200,"message": "添加错题成功" | "错题已存在,更新时间已更新","data": {"affectedRows": "number, 影响行数","insertId": "number, 插入ID(仅新增时)","changedRows": "number, 变更行数"}
}
错误响应:
{"status": 400 | 500,"message": "错误信息","data": null
}
2. 获取错题列表
请求
- 路径:
POST /getErrorQuestions
- 描述: 获取用户的错题列表,支持按时间筛选和分页
请求参数:
{"userId": "number, 用户ID","timeType": "string, 时间类型: 'all' | 'today'(默认: 'all')","page": "number, 页码(默认: 1)","pageSize": "number, 每页数量(默认: 9999)"
}
响应
成功响应:
{"status": 200,"message": "ok","data": {"questions": [{"tmid": "number, 题目ID","title": "string, 题目标题","content": "string, 题目内容","type": "string, 题目类型","options": "object, 选项","difficulty": "string, 难度",// ...其他题目字段}],"pagination": {"page": "number, 当前页码","pageSize": "number, 每页数量","total": "number, 总记录数","totalPages": "number, 总页数"},"meta": {"timeType": "string, 时间类型","requestedCount": "number, 请求数量","foundCount": "number, 找到数量"}}
}
3. 移除错题
请求
- 路径:
POST /removeErrorQuestion
- 描述: 从用户的错题集中移除指定题目
请求参数:
{"userId": "number, 用户ID","questionId": "number, 题目ID"
}
响应
成功响应:
{"status": 200,"message": "删除错题成功","data": {"affectedRows": "number, 影响行数"}
}
4. 检查题目是否为错题
请求
- 路径:
POST /checkIsErrorQuestion
- 描述: 检查指定题目是否为用户的错题
请求参数:
{"userId": "number, 用户ID","questionId": "number, 题目ID"
}
响应
成功响应:
{"status": 200,"message": "ok","data": {"isError": "boolean, 是否为错题"}
}
5. 获取错题ID列表
请求
- 路径:
POST /getErrorQuestionIds
- 描述: 获取用户的错题ID列表,支持按时间筛选(无分页)
请求参数:
{"userId": "number, 用户ID","timeType": "string, 时间类型: 'all' | 'today'(默认: 'all')"
}
响应
成功响应:
{"status": 200,"message": "ok","data": ["number, 错题ID1","number, 错题ID2",// ...更多错题ID],"meta": {"timeType": "string, 时间类型","count": "number, 错题数量","latestUpdate": "string, 最近更新时间"}
}
6. 更新用户删除错题权限
请求
- 路径:
POST /updateUserCanDeleteErrorQuestion
- 描述: 更新用户是否允许删除错题的权限设置
请求参数:
{"userId": "number, 用户ID","canDeleteErrorQuestion": "string, 权限设置: '0' | '1'(0-关闭,1-开启)"
}
响应
成功响应:
{"status": 200,"message": "更新成功","data": {"user": {"id": "number, 用户ID","username": "string, 用户名","canDeleteErrorQuestion": "string, 权限设置","status": "string, 状态描述: '开启' | '关闭'"},"updateInfo": {"affectedRows": "number, 影响行数","changedRows": "number, 变更行数"}}
}
错误状态码说明
状态码 | 说明 |
---|---|
200 | 请求成功 |
400 | 请求参数错误 |
404 | 资源不存在 |
500 | 服务器内部错误 |
注意事项
- 所有接口都需要传入有效的
userId
- 时间类型参数
timeType
只接受'all'
或'today'
- 权限设置
canDeleteErrorQuestion
只接受字符串类型的'0'
或'1'
- 错题ID查询接口返回的是纯ID数组,不包含题目详情
- 错题列表接口包含完整的题目信息和分页数据
示例调用
添加错题
fetch('/addErrorQuestion', {method: 'POST',headers: { 'Content-Type': 'application/json' },body: { userId: 1, questionId: 123 }
})
获取当天错题
fetch('/getErrorQuestions', {method: 'POST',headers: { 'Content-Type': 'application/json' },body: { userId: 1, timeType: 'today' }
})
更新用户权限
fetch('/updateUserCanDeleteErrorQuestion', {method: 'POST',headers: { 'Content-Type': 'application/json' },body: { userId: 1, canDeleteErrorQuestion: '1' }
})