| 144 | |
| 145 | /** |
| 146 | * 获取项目的任务列表(支持分页和状态过滤) |
| 147 | * GET /api/projects/:projectId/tasks |
| 148 | */ |
| 149 | export function useTasks(projectId: string, options?: ListTasksParams) { |
| 150 | const params: Record<string, string> = {} |
| 151 | if (options?.status != null) params.status = options.status |
| 152 | if (options?.page != null) params.page = String(options.page) |
| 153 | if (options?.limit != null) params.limit = String(options.limit) |
| 154 | |
| 155 | return useQuery({ |
| 156 | queryKey: queryKeys.tasks.list(projectId, options as Record<string, unknown> | undefined), |
| 157 | queryFn: () => |
| 158 | apiClient.get<PaginatedResponse<Task>>( |
| 159 | `/projects/${projectId}/tasks`, |
| 160 | { params }, |
| 161 | ), |
| 162 | enabled: !!projectId, |
| 163 | }) |
| 164 | } |