Explorar o código

feat: 项目管理

lvkun996 %!s(int64=2) %!d(string=hai) anos
pai
achega
832407ec76

+ 91 - 0
src/api/cvs/feature.ts

@@ -0,0 +1,91 @@
+import request from '@/service/request'
+
+export const getFacePage = (params: COMMON.API.QueryParams & {faceName?: string}) => {
+  return request<CVS.Feature.Face[]>({
+    url: '/face/page',
+    method: 'GET',
+    params
+  })
+}
+
+export const getFaceById = (id: string) => {
+  return request<CVS.Feature.Face>({
+    url: `/face/${id}`,
+    method: 'GET'
+  })
+}
+
+export const addFace = (data: CVS.Feature.Face) => {
+  return request<string>({
+    url: '/face',
+    method: 'POST',
+    data
+  })
+}
+
+export const delFaceById = (id: string) => {
+  return request<string>({
+    url: `/face/${id}`,
+    method: 'DELETE'
+  })
+}
+
+export const getCarPage = (params: COMMON.API.QueryParams & {carNo?: string}) => {
+  return request<CVS.Feature.Car[]>({
+    url: '/car/page',
+    method: 'GET',
+    params
+  })
+}
+
+export const getCarById = (id: string) => {
+  return request<CVS.Feature.Car>({
+    url: `/car/${id}`,
+    method: 'GET'
+  })
+}
+
+export const addCar = (data: CVS.Feature.Car) => {
+  return request<string>({
+    url: '/car',
+    method: 'POST',
+    data
+  })
+}
+
+export const delCarById = (id: string) => {
+  return request<string>({
+    url: `/face/${id}`,
+    method: 'DELETE'
+  })
+}
+
+export const getFrockPage = (params: COMMON.API.QueryParams & {carNo?: string}) => {
+  return request<CVS.Feature.Frock[]>({
+    url: '/frock/page',
+    method: 'GET',
+    params
+  })
+}
+
+export const getFrockById = (id: string) => {
+  return request<CVS.Feature.Frock>({
+    url: `/frock/${id}`,
+    method: 'GET'
+  })
+}
+
+export const addFrock = (data: CVS.Feature.Frock) => {
+  return request<string>({
+    url: '/frock',
+    method: 'POST',
+    data
+  })
+}
+
+export const delFrockById = (id: string) => {
+  return request<string>({
+    url: `/frock/${id}`,
+    method: 'DELETE'
+  })
+}

+ 52 - 0
src/api/cvs/operator.ts

@@ -8,3 +8,55 @@ export const getOperatorPage = (params: COMMON.API.QueryParams) => {
     params
   })
 }
+
+// 获取算子业务类型
+export const getOperatorType = () => {
+  return request<{code: string, name: string}[]>({
+    url: '/model/aiModelType',
+    method: 'GET'
+  })
+}
+
+export const getOperatorById = (aiId: string) => {
+  return request<CVS.Operator>({
+    url: `/model/${aiId}`,
+    method: 'GET'
+  })
+}
+
+export const delOperatorById = (aiId: string) => {
+  return request<string>({
+    url: `/model/${aiId}`,
+    method: 'DELETE'
+  })
+}
+
+export const updateOperatorName = (aiId: string, aiName: string) => {
+  return request<string>({
+    url: `/model/aiName?aiId=${aiId}&aiName=${aiName}`,
+    method: 'DELETE'
+  })
+}
+
+// 分页??? modelType
+export const getOperatorVersion = (aiId: string) => {
+  return request<CVS.OperatorVersion[]>({
+    url: `/model/version/${aiId}`,
+    method: 'GET'
+  })
+}
+
+export const addOperatorVersion = (data: CVS.OperatorVersion) => {
+  return request<string>({
+    url: '/model/version',
+    method: 'POST',
+    data
+  })
+}
+
+export const delOperatorVersion = (id: string) => {
+  return request<string>({
+    url: `/model/version/${id}`,
+    method: 'DELETE'
+  })
+}

+ 16 - 0
src/api/cvs/project.ts

@@ -0,0 +1,16 @@
+import request from '@/service/request'
+
+export const getProjectPage = (params: COMMON.API.QueryParams & {projectName: string}) => {
+  return request<CVS.Project[]>({
+    url: '/project/page',
+    method: 'GET',
+    params
+  })
+}
+
+export const getProjectById = (projectId: string) => {
+  return request<CVS.Project>({
+    url: `/project/${projectId}`,
+    method: 'GET'
+  })
+}

+ 67 - 0
src/controller/cvs/featureController.ts

@@ -0,0 +1,67 @@
+import { addCar, addFace, addFrock, delCarById, delFaceById, delFrockById, getCarById, getCarPage, getFaceById, getFacePage, getFrockById, getFrockPage } from '@/api/cvs/feature'
+import { message } from 'ant-design-vue'
+
+export class FeatureController {
+  static async facePage (params: COMMON.API.QueryParams & {faceName?: string}) {
+    return getFacePage(params)
+  }
+
+  static async faceById (id: string) {
+    const { code, data } = await getFaceById(id)
+    if (code === 200) {
+      return data
+    }
+  }
+
+  static async addFace (data: CVS.Feature.Face) {
+    const { code, msg } = await addFace(data)
+    code === 200 ? message.success('新增成功') : message.error(msg)
+  }
+
+  static async delFaceById (id: string) {
+    const { code, msg } = await delFaceById(id)
+    code === 200 ? message.success('删除成功') : message.error(msg)
+  }
+
+  static async carPage (params: COMMON.API.QueryParams & {carNo?: string}) {
+    return getCarPage(params)
+  }
+
+  static async carById (id: string) {
+    const { code, data } = await getCarById(id)
+    if (code === 200) {
+      return data
+    }
+  }
+
+  static async addCar (data: CVS.Feature.Car) {
+    const { code, msg } = await addCar(data)
+    code === 200 ? message.success('新增成功') : message.error(msg)
+  }
+
+  static async delCarById (id: string) {
+    const { code, msg } = await delCarById(id)
+    code === 200 ? message.success('删除成功') : message.error(msg)
+  }
+
+  static async frockPage (params: COMMON.API.QueryParams & {frockName?: string}) {
+    return getFrockPage(params)
+  }
+
+  static async frockById (id: string) {
+    const { code, data } = await getFrockById(id)
+    if (code === 200) {
+      return data
+    }
+  }
+
+  static async addFrock (data: CVS.Feature.Frock) {
+    const { code, msg } = await addFrock(data)
+    code === 200 ? message.success('新增成功') : message.error(msg)
+  }
+
+  static async delFrockById (id: string) {
+    const { code, msg } = await delFrockById(id)
+    code === 200 ? message.success('删除成功') : message.error(msg)
+  }
+}

+ 38 - 0
src/controller/cvs/operatorController.ts

@@ -0,0 +1,38 @@
+import { addOperatorVersion, delOperatorById, delOperatorVersion, getOperatorById, getOperatorPage, getOperatorType, updateOperatorName } from '@/api/cvs/operator'
+import { message } from 'ant-design-vue'
+
+export class OperatorController {
+  static async page (params: COMMON.API.QueryParams) {
+    return await getOperatorPage(params)
+  }
+
+  static async type () {
+    const { data } = await getOperatorType()
+    return data
+  }
+
+  static async byId (aiId: string) {
+    const { data } = await getOperatorById(aiId)
+    return data
+  }
+
+  static async del (aiId: string) {
+    const { msg, code } = await delOperatorById(aiId)
+    code === 200 ? message.success('删除成功') : message.error(msg)
+  }
+
+  static async upadteName (aiId: string, aiName: string) {
+    const { code, msg } = await updateOperatorName(aiId, aiName)
+    code === 200 ? message.success('修改成功') : message.error(msg)
+  }
+
+  static async addVersion (data: CVS.OperatorVersion) {
+    const { code, msg } = await addOperatorVersion(data)
+    code === 200 ? message.success('新增成功') : message.error(msg)
+  }
+
+  static async delVersion (id: string) {
+    const { code, msg } = await delOperatorVersion(id)
+    code === 200 ? message.success('删除成功') : message.error(msg)
+  }
+}

+ 14 - 0
src/controller/cvs/projectController.ts

@@ -0,0 +1,14 @@
+import { getProjectById, getProjectPage } from '@/api/cvs/project'
+
+export class ProjectController {
+  static async page (params: COMMON.API.QueryParams & {projectName: string}) {
+    return getProjectPage(params)
+  }
+
+  static async byId (projectId: string) {
+    const { code, data } = await getProjectById(projectId)
+    if (code === 200) {
+      return data
+    }
+  }
+}

+ 47 - 0
src/type/cvs.d.ts

@@ -58,4 +58,51 @@ declare namespace CVS {
     gisLatitude: string
     gisName: string
   }
+
+  interface Operator {
+    id: number // 序列化id
+    aiId: string // 算子id
+    aiName: string // 算子名称
+    aiSourceType: string // 来源 SYSTEM 系统预置 USER 自定义
+    aiModelType: string // 算子业务类型 //需要接口查询 返回 code 和业务实际的指
+    recentlyAiVersion: string
+  }
+
+  interface OperatorVersion {
+    aiId: string // 算子id
+    aiVersion: string // 算子版本
+    aiVersionComment: string// 版本说明;
+    architecture: string // CPU 架构 值有 x86 arm
+    brand: string // 芯片品牌 值有 英伟达 昆仑
+    chipModel: string // 芯片型号
+    aiVersionPkgUrl: string// 版本地址
+  }
+
+  interface Project {
+    projectId: string // 项目id
+    projectName: string // 项目名称
+    description: string // 项目描述
+  }
+
+  namespace Feature {
+    interface Face {
+      id: number // 人脸id
+      faceName: string // 人脸名称
+      sex: 0 | 1 | 2 // 性别 0女1 男 2 其他
+      faceUrl: string // 人脸图片地址
+    }
+
+    interface Car {
+      id: number // 车辆id;
+      carNo: string // 车辆车牌号
+      carUrl: string // 车辆图片地址
+    }
+
+    interface Frock {
+      id: number // 工装id
+      frockName: string// 工装名称
+      frockUrl: string // 工装图片地址
+    }
+  }
+
 }