perf(struct): perf
This commit is contained in:
@@ -1,142 +0,0 @@
|
||||
import httpFetch from "@/api/fetch"
|
||||
import { BASE_LABEL_API } from "../const"
|
||||
import {
|
||||
LabelResult,
|
||||
LoginInfo,
|
||||
RequestLabelResult,
|
||||
ServerResponse,
|
||||
} from "./typing"
|
||||
|
||||
// 获取标注结果
|
||||
export const getLabelResult = (task_id: number) => {
|
||||
return httpFetch<{
|
||||
task_id: number
|
||||
results: LabelResult[]
|
||||
}>({
|
||||
url:
|
||||
BASE_LABEL_API +
|
||||
`/api/v1/label_server/task/label_result?task_id=${task_id}`,
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
export const saveLabelResult = (data: RequestLabelResult) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/task/label_result",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
export const getServerImage = async (data: {
|
||||
data_names: string[]
|
||||
/**
|
||||
* 0-图片 1-点云 2-视频
|
||||
*/
|
||||
data_type: number
|
||||
flag?: number
|
||||
project_id: number
|
||||
}) => {
|
||||
const res = await httpFetch<ServerResponse>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/data/list",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
|
||||
if (res.proxy) {
|
||||
throw new Error(`get_data_list requires proxy=${res.proxy}`)
|
||||
}
|
||||
|
||||
const first = res.data_list?.[0]
|
||||
if (!first) {
|
||||
throw new Error(
|
||||
`get_data_list empty data_list, data_name=${data.data_names?.[0] || ""}`
|
||||
)
|
||||
}
|
||||
|
||||
const payload =
|
||||
data.data_type === 0
|
||||
? first.image_data
|
||||
: data.data_type === 2
|
||||
? first.video_data
|
||||
: first.pointcloud_data
|
||||
|
||||
if (payload == null) {
|
||||
throw new Error(
|
||||
`get_data_list missing payload type=${data.data_type}, data_name=${first.data_name || data.data_names?.[0] || ""}`
|
||||
)
|
||||
}
|
||||
if (typeof payload === "string" && !payload.trim()) {
|
||||
throw new Error(
|
||||
`get_data_list empty payload type=${data.data_type}, data_name=${first.data_name || data.data_names?.[0] || ""}`
|
||||
)
|
||||
}
|
||||
|
||||
return payload
|
||||
// .catch(async ({ proxy, params }) => {
|
||||
// try {
|
||||
// const res = await httpFetch<ServerResponse>({
|
||||
// url: `/http://${proxy}:9112/api/v1/label_sync/get_data_list`,
|
||||
// method: "POST",
|
||||
// body: JSON.stringify(params),
|
||||
// })
|
||||
// return res.data.data_list?.[0].image_data || ""
|
||||
// } catch (error: unknown) {
|
||||
// console.log(error)
|
||||
// const res = await httpFetch<ServerResponse>({
|
||||
// url: BASE_LABEL_API + "/api/v1/label_server/data/list",
|
||||
// method: "POST",
|
||||
// body: JSON.stringify({ ...params, flag: 1 }),
|
||||
// })
|
||||
// return res.data_list?.[0].image_data || ""
|
||||
// }
|
||||
// })
|
||||
}
|
||||
|
||||
// 获取标注图片
|
||||
export const getLabelImage = (activeImage: string, path: string) => {
|
||||
return httpFetch<any>({
|
||||
url:
|
||||
BASE_LABEL_API +
|
||||
`/api/v1/label_server/data/image?data_name=${encodeURIComponent(
|
||||
activeImage
|
||||
)}&project_path=${encodeURIComponent(path)}`,
|
||||
method: "GET",
|
||||
headerAttr: {
|
||||
responseType: "blob",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// 辅助标注
|
||||
export const getAuxiliaryAnnotation = (data: any) => {
|
||||
return httpFetch<any>({
|
||||
url: BASE_LABEL_API + "/api/model_server/sam2/sa",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
headerAttr: {
|
||||
responseType: "arraybuffer",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// 模型标注 追踪
|
||||
export const getTrackingAuxiliaryAnnotation = (data: any) => {
|
||||
return httpFetch<any>({
|
||||
url: BASE_LABEL_API + "/api/model_server/sam2/vos",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
headerAttr: {
|
||||
responseType: "arraybuffer",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// 用户登录
|
||||
export const userLogin = (data: { name: string; password: string }) => {
|
||||
return httpFetch<LoginInfo>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/user/login",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
@@ -1,171 +0,0 @@
|
||||
export interface LabelResult {
|
||||
data_name: string
|
||||
image_objects?: ImageObjects
|
||||
video_objects?: {
|
||||
[key: string]: ImageObjects
|
||||
}
|
||||
pc_box_objects?: { [key: string]: any }[]
|
||||
pc_segment_objects?: { [key: string]: any }[]
|
||||
pc_vegetation_objects?: { [key: string]: any }[]
|
||||
}
|
||||
|
||||
export interface ImageObjects {
|
||||
annotations: Annotation[]
|
||||
categories: Category[]
|
||||
desc?: Desc
|
||||
image_groups: ImageGroups
|
||||
images: Images
|
||||
key_frame?: boolean
|
||||
label1_ts?: number
|
||||
label1_uid?: number
|
||||
review1_ts?: number
|
||||
review1_uid?: number
|
||||
review2_ts?: number
|
||||
review2_uid?: number
|
||||
}
|
||||
|
||||
export interface Annotation {
|
||||
bbox?: number[]
|
||||
category_id: number
|
||||
comment?: Comment[]
|
||||
create_timestamp: number
|
||||
first_modified_timestamp: number
|
||||
first_modified_uid: number
|
||||
hollow_segmentation?: Array<Array<number[]>>
|
||||
id: number
|
||||
image_id: number
|
||||
key_points?: KeyPoint[]
|
||||
last_modified_timestamp: number
|
||||
last_modified_uid: number
|
||||
line_segment?: Array<Array<number[]>>
|
||||
prelabel: boolean
|
||||
rect?: number[]
|
||||
segmentation?: Array<Array<number[]>>
|
||||
sub_attributes?: { [key: string]: any }
|
||||
uid: number
|
||||
}
|
||||
|
||||
export interface Comment {
|
||||
check_box_comments: string[]
|
||||
comment_type: number
|
||||
date: number
|
||||
scene_info: SceneInfo
|
||||
text_comments: string[]
|
||||
times: number
|
||||
turn: number
|
||||
uid: number
|
||||
}
|
||||
|
||||
export interface SceneInfo {
|
||||
phi?: number
|
||||
point_idx?: number[]
|
||||
theta?: number
|
||||
type: number
|
||||
vfov_factor?: number
|
||||
x?: number
|
||||
x_offset?: number
|
||||
y?: number
|
||||
y_offset?: number
|
||||
z?: number
|
||||
zoom?: number
|
||||
}
|
||||
|
||||
export interface KeyPoint {
|
||||
attributes?: { [key: string]: any }
|
||||
point: [number, number]
|
||||
}
|
||||
|
||||
export interface Category {
|
||||
id: number
|
||||
name: string
|
||||
supercategory: string
|
||||
}
|
||||
|
||||
export interface Desc {
|
||||
meta_operation: string[]
|
||||
other_desc: string
|
||||
}
|
||||
|
||||
export interface ImageGroups {
|
||||
// "01J4GZMQ2G8KKQVF52S6EXBGRA": string;
|
||||
}
|
||||
|
||||
export interface Images {
|
||||
file_name: string
|
||||
height: number
|
||||
id: number
|
||||
width: number
|
||||
}
|
||||
|
||||
export interface RequestLabelResult {
|
||||
label_object_size: { [key: string]: any }
|
||||
results: LabelResult[]
|
||||
task_id: number
|
||||
uid: number
|
||||
work_load: WorkLoad
|
||||
work_time: { [key: string]: any }
|
||||
}
|
||||
|
||||
export interface WorkLoad {
|
||||
comment_size: number
|
||||
dynamic_size: { [key: number]: number }
|
||||
key_frame_size: { [key: number]: number }
|
||||
object_size: { [key: number]: number }
|
||||
prelabel_modify_size: { [key: number]: number }
|
||||
question_size: { [key: number]: number }
|
||||
review_dynamic_size: { [key: number]: number }
|
||||
review_key_frame_size: { [key: number]: number }
|
||||
review_question_size: { [key: number]: number }
|
||||
review_size: number
|
||||
review_static_size: { [key: number]: number }
|
||||
static_size: { [key: number]: number }
|
||||
work_time: number
|
||||
}
|
||||
|
||||
export interface ServerResponse {
|
||||
data_list?: DataList[]
|
||||
proxy?: string
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface DataList {
|
||||
data_name: string
|
||||
data_type: string
|
||||
image_data?: string
|
||||
video_data?: string
|
||||
pointcloud_data?: PointcloudDatum[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface PointcloudDatum {
|
||||
intensity: number
|
||||
time_offset: number
|
||||
x: number
|
||||
y: number
|
||||
z: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface AuxiliaryParams {
|
||||
project_id: number
|
||||
file_name: string
|
||||
image_hw: [number, number]
|
||||
points_and_box: Array<[number, number]>
|
||||
tags: number[]
|
||||
clear_previous_state?: boolean
|
||||
}
|
||||
|
||||
interface UserInfo {
|
||||
uid: number
|
||||
name: string
|
||||
all_projects: { [x: number]: number[] }
|
||||
collect_projects: number[]
|
||||
group_name: string
|
||||
work_status: number
|
||||
base_city: string
|
||||
}
|
||||
|
||||
export interface LoginInfo extends UserInfo {
|
||||
token: string
|
||||
refresh_token: string
|
||||
}
|
||||
Reference in New Issue
Block a user