Files
labelmain-demo/components/label/api/task/index.ts
2026-02-09 18:23:40 +08:00

111 lines
3.2 KiB
TypeScript

import httpFetch from "@/api/fetch"
import { usePermissionStore } from "../../store/auth"
import { BASE_LABEL_API } from "../label"
import { Task } from "./typing"
// 获取任务列表
export const getTaskList = (data: Task.ListRequest) => {
return httpFetch<Task.ListResponse>({
url: BASE_LABEL_API + "/api/v1/label_server/task/list",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 领取任务
export const taskAcquire = (data: Task.AcquireReqProps) => {
return httpFetch<Task.ListResponse>({
url: BASE_LABEL_API + "/api/v1/label_server/task/acquire",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 调度任务
export const taskDispatch = (data: Task.DispatchReqProps) => {
return httpFetch({
url: BASE_LABEL_API + "/api/v1/label_server/task/dispatch",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 释放任务
export const taskRelease = (data: Task.ReleaseReqProps) => {
return httpFetch({
url: BASE_LABEL_API + "/api/v1/label_server/task/release",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 获取下一个任务
export const getNextTaskId = (data: Task.NextReqProps) => {
return httpFetch<Task.NextResProps>({
url: BASE_LABEL_API + "/api/v1/label_server/task/next",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 提交任务
export const taskCommit = (data: Task.CommitReqProps) => {
return httpFetch({
url: BASE_LABEL_API + "/api/v1/label_server/task/commit",
method: "POST",
body: JSON.stringify(data),
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 获取任务的工作流程
export const getTaskWorkFlow = (id: number) => {
return httpFetch<any[]>({
url: BASE_LABEL_API + `/api/v1/label_server/task/workflow/${id}`,
method: "GET",
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}
// 获取个人任务列表
export const getUserTaskList = (params: {
page_size: number
page_number: number
}) => {
return httpFetch<Task.ResGetUserTaskList>({
url: BASE_LABEL_API + `/api/v1/label_server/task/list_by_user`,
method: "GET",
data: params,
headerAttr: {
["Token"]: usePermissionStore.getState().token,
["Refresh-Token"]: usePermissionStore.getState().refresh_token,
},
})
}