You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
3.0 KiB
TypeScript

import request from '@/config/axios'
// 标注 VO
export interface MarkVO {
}
// 项目数据 VO
export interface DataVO {
id: number
name: string
description: string
createTime: string
path: string
count: number
type: string
progress: number
}
// 图片标注 VO
export interface ImageMarkVO {
id: number
path: string
dataId: number
annotation: Array<{
class_id: number
center_x: number
center_y: number
width: number
height: number
polygon_points: string
angle: string
}>
status: number
createTime: string
}
// 标注类型 VO
export interface AnnotationTypeVO {
id: number
name: string
color: string
dataId: number
index: number
createTime: string
}
// 标注 API
export const MarkApi = {
// 查询标注分页
getMarkPage: async (params: any) => {
return await request.get({ url: `/annotation/mark/page`, params })
},
// 查询标注详情
getMark: async (id: number) => {
return await request.get({ url: `/annotation/mark/get?id=` + id })
},
// 新增标注
createMark: async (data: MarkVO) => {
return await request.post({ url: `/annotation/mark/create`, data })
},
// 修改标注
updateMark: async (data: MarkVO) => {
return await request.put({ url: `/annotation/mark/update`, data })
},
// 删除标注
deleteMark: async (id: number) => {
return await request.delete({ url: `/annotation/mark/delete?id=` + id })
},
// 导出标注 Excel
exportMark: async (params) => {
return await request.download({ url: `/annotation/mark/export-excel`, params })
},
// 获取图片列表
getImageList: async (data: { dataId: number }) => {
return await request.post({ url: `/annotation/mark/list`, data })
},
// 获取标注类型列表
getTypeList: async (data: { dataId: number }) => {
return await request.post({ url: `/annotation/types/list`, data })
},
updateImageStatus: async (data: { id: number; status: number }) => {
return await request.put({ url: `/annotation/mark/update-status`, data })
},
// 获取标注类型列表
getProjectList: async () => {
return await request.post({ url: `/annotation/datas/list` })
},
// 创建标注类型
createType: async (data: Partial<AnnotationTypeVO>) => {
return await request.post({ url: `/annotation/types/create`, data })
},
// 删除标注类型
deleteType: async (id: number) => {
return await request.delete({ url: `/annotation/types/delete?id=${id}` })
},
// 获取标注详细列表
getMarkInfoList: async (id: number) => {
return await request.post({ url: `/annotation/markInfo/list?markId=${id}` })
},
// 创建标注类型
createMarkInfo: async (data ) => {
return await request.post({ url: `/annotation/markInfo/create`, data })
},
// 删除标注类型
deleteMarkInfo: async (id: number) => {
return await request.delete({ url: `/annotation/markInfo/delete?id=${id}` })
},
// 获取标注详细列表
updateMarkInfo: async () => {
return await request.put({ url: `/annotation/markInfo/update` })
},
}