备忘录后台接口说明
2025年10月1日大约 3 分钟教学文档HarmonyOSTypeScript
BaseURL
目前只能通过校园网访问,外网无法访问。
http://10.31.25.81:5000/api
📋 任务管理 API 接口文档
Base URL:
/tasks(所有接口路径均基于此)
所有接口返回统一格式的 JSON 响应:
{
"success": true|false,
"data": { ... }, // 成功时返回数据(部分接口无 data)
"message": "描述信息"
}
1. 获取所有任务(支持搜索)
- URL:
GET /tasks - 查询参数(可选):
title(string): 按标题模糊搜索任务
- 示例:
GET /tasks?title=homework - 成功响应 (200):
{ "success": true, "data": [ { "id": "1", "title": "homework", "isCompleted": false, "created_at": "2024-06-01T10:00:00" }, ... ], "message": "Tasks retrieved successfully" }
2. 根据 ID 获取单个任务
- URL:
GET /tasks - 查询参数(必需):
task_id(string): 任务唯一 ID
- 示例:
GET /tasks?task_id=123 - 成功响应 (200):
{ "success": true, "data": { "id": "123", "title": "Buy milk", "isCompleted": false, ... }, "message": "Task retrieved successfully" } - 错误情况:
400: 缺少task_id404: 任务不存在
3. 创建新任务
- URL:
POST /tasks - 请求头:
Content-Type: application/json
- 请求体(JSON):
{ "title": "New task", // 必需 "description": "Optional", // 可选 "isCompleted": false // 可选,默认 false } - 示例:
axios.post('/tasks', { title: 'Read book' }) - 成功响应 (201):
{ "success": true, "data": { "id": "456", "title": "Read book", "isCompleted": false, ... }, "message": "Task created successfully" } - 错误情况:
400: 缺少title
4. 更新任务
- URL:
PUT /tasks - 查询参数(必需):
task_id(string): 要更新的任务 ID
- 请求体(JSON):
{ "title": "Updated title", "isCompleted": true } - 示例:
PUT /tasks?task_id=123{ "title": "Finish report", "isCompleted": true } - 成功响应 (200):
{ "success": true, "data": { "id": "123", "title": "Finish report", "isCompleted": true, ... }, "message": "Task updated successfully" } - 错误情况:
400: 缺少task_id或请求体为空404: 任务不存在
5. 删除单个任务
- URL:
DELETE /tasks - 查询参数(必需):
task_id(string): 要删除的任务 ID
- 示例:
DELETE /tasks?task_id=123 - 成功响应 (200):
{ "success": true, "message": "Task deleted successfully" } - 错误情况:
400: 缺少task_id404: 任务不存在
6. 切换单个任务完成状态
- URL:
PUT /tasks/toggle - 查询参数(必需):
task_id(string): 任务 ID
- 示例:
PUT /tasks/toggle?task_id=123 - 行为: 将
isCompleted字段取反(true ↔ false) - 成功响应 (200):
{ "success": true, "data": { "id": "123", "title": "...", "isCompleted": true, ... }, "message": "Task status toggled successfully" } - 错误情况:
400: 缺少task_id404: 任务不存在
7. 批量删除任务
- URL:
DELETE /tasks/batch/delete - 请求头:
Content-Type: application/json
- 请求体(JSON):
{ "taskIds": ["1", "2", "3"] // 必需,ID 数组 } - 示例:
axios.delete('/tasks/batch/delete', { { taskIds: ['1','2'] } }) - 成功响应 (200):
{ "success": true, "data": { "deletedCount": 2, "requestedCount": 2 }, "message": "2 tasks deleted successfully" } - 错误情况:
400:taskIds为空或缺失
8. 批量切换任务完成状态
- URL:
PUT /tasks/batch/toggle - 请求头:
Content-Type: application/json
- 请求体(JSON):
{ "taskIds": ["1", "2"], // 必需 "isCompleted": true // 可选:true/false 表示设为完成/未完成;若省略,则切换每个任务的当前状态 } - 示例(切换状态):
{ "taskIds": ["1", "2"] } - 示例(统一设为完成):
{ "taskIds": ["1", "2"], "isCompleted": true } - 成功响应 (200):
{ "success": true, "data": { "updatedCount": 2, "requestedCount": 2, "action": "toggled" // 或 "set to isCompleted" / "set to not isCompleted" }, "message": "2 tasks toggled successfully" } - 错误情况:
400:taskIds为空或缺失
📌 注意事项
task_id传递方式:
单个操作(GET/PUT/DELETE/toggle)均通过 查询参数(?task_id=xxx)传递 ID,不是路径参数(如/tasks/123)。批量操作:
使用 JSON 请求体 传递taskIds数组。错误处理:
所有接口均捕获异常并返回500错误,前端应检查success字段。ID 类型:
假设task_id为字符串类型(如 UUID 或字符串 ID),若使用数字 ID,前端仍需传字符串(因request.args.get()返回字符串)。
✅ 此文档可直接用于团队协作、前端调用或 Postman 测试。
