From 5c7b09cf22415c5b39358fdcf9f0940aa7ebd68f Mon Sep 17 00:00:00 2001 From: ddrwode <34234@3来 34> Date: Fri, 6 Mar 2026 13:06:36 +0800 Subject: [PATCH] haha --- server/api/tasks.py | 17 +++++++++++++++++ server/urls.py | 1 + 2 files changed, 18 insertions(+) diff --git a/server/api/tasks.py b/server/api/tasks.py index c571d34..0a504c8 100644 --- a/server/api/tasks.py +++ b/server/api/tasks.py @@ -295,6 +295,23 @@ def task_list(request): return api_success(_task_to_dict(task), http_status=http_status.HTTP_201_CREATED) +@api_view(["GET"]) +def task_detail(request, task_id: str): + """ + 按 task_id 查询单个任务详情。 + 优先查 Task 表(活跃任务),再查 TaskLog 表(历史记录)。 + """ + task = Task.objects.filter(task_id=task_id).first() + if task: + return api_success(_task_to_dict(task)) + + task_log = TaskLog.objects.filter(task_id=task_id).first() + if task_log: + return api_success(_task_log_to_dict(task_log)) + + return api_error(http_status.HTTP_404_NOT_FOUND, f"任务 {task_id} 不存在") + + @api_view(["POST"]) def task_cancel(request, task_id: str): """ diff --git a/server/urls.py b/server/urls.py index a236ba0..777a375 100644 --- a/server/urls.py +++ b/server/urls.py @@ -26,6 +26,7 @@ urlpatterns = [ # ─── 任务 ─── path("api/tasks", tasks.task_list), + path("api/tasks/detail/", tasks.task_detail), path("api/tasks//cancel", tasks.task_cancel), path("api/tasks/", tasks.task_list_by_account),