import { http } from '@/utils/http/axios'; import { ViolationHandleStat } from '@/views/dashboard/home/types'; /** 场景标签信息 */ export type SceneLabelOrModuleItem = { /** 标签id */ id: number; /** 标签代码 */ code: string; /** 创建时间 */ createdAt: string; /** 0-未删除,大于0-已删除 */ isDeleted: number; /** 标签名称 */ name: string; /** 说明 */ remark: string; /** 状态: 0-正常,1-不正常 */ status: number; /** 更新时间 */ updatedAt: string; }; /** 相机信息 */ export type CameraInfoItem = { /** 相机id */ id: number; /** 相机IP */ cameraIp: string; /** 相机协议类型 */ cameraType: string; /** 相机端口 */ cameraPort: string; /** 相机ID */ code: string; /** 工位场景Id */ workspaceId: string; /** 描述 */ remark?: string; /** 相机名称 */ name: string; /** 相机MAC地址 */ cameraMac: string; /** 车间场景名称 */ workshopName: string; /** 工位场景名称 */ workspaceName: string; /** 联网状态: 0-启用, 1-禁用 */ networkingState: number; /** 是否删除: 0-未删除, 1-删除 */ isDeleted: number; /** 状态: 0-启用, 1-禁用 */ status: number; /** 用户名 */ username?: string; /** 密码 */ password?: string; /** 层级类型 */ nodeType: string; }; /** 工位信息 */ export type WorkSpaceInfoItem = { /** 工位id */ id: number; /** 所属工厂id */ workshopId: number; /** 工位名称 */ name: string; /** 工位code */ code: string; /** 工位描述 */ remark: string; /** 状态: 0-启用, 1-禁用 */ status: number; /** 创建时间 */ createdAt: string; /** 更新时间 */ updatedAt: string; /** 0-未删除,大于0-已删除 */ isDeleted: number; /** 工位负责人 */ principal: string; /** 排序序号 */ serial: number; /** 层级类型 */ nodeType: string; /** 下属相机列表 */ children: CameraInfoItem[]; }; /** 工厂信息 */ export type WorkShopInfoItem = { /** 工厂id */ id: number; /** 所属公司id */ companyId: number; /** 1-生产安全 2-安全环保 */ type: number; /** 工厂名称 */ name: string; /** 工厂code */ code: string; /** 工厂描述 */ remark: string; /** 状态: 0-启用, 1-禁用 */ status: number; /** 创建时间 */ createdAt: string; /** 更新时间 */ updatedAt: string; /** 0-未删除,大于0-已删除 */ isDeleted: number; /** 层级类型 */ nodeType: string; /** 下属工位列表 */ children: WorkSpaceInfoItem[]; /** 场景标签 */ labelName: string; /** 场景标签id */ sceneLabelId: number; /** 排序序号 */ serial: number; /** 车间模板 */ workshopModule: SceneLabelOrModuleItem; }; /** 公司信息 */ export type CompanyInfoItem = { /** 公司id */ id: number; /** 上级公司ID, 无上级为0 */ parentId: number; /** 公司名称 */ name: string; /** 公司code */ code: string; /** 公司描述 */ remark: string; /** 状态: 0-启用, 1-禁用 */ status: number; /** 创建时间 */ createdAt: string; /** 更新时间 */ updatedAt: string; /** 排序序号 */ serial: number; /** 0-未删除,大于0-已删除 */ isDeleted: number; /** 层级类型 */ nodeType: string; /** 下属工厂列表 */ children: WorkShopInfoItem[]; /** 场景标签列表 */ labelList: SceneLabelOrModuleItem[]; /** 场景模板列表 */ moduleList: SceneLabelOrModuleItem[]; }; /** 根据用户权限查询场景树 */ export const getAuthSceneList = () => { return http.request({ url: '/dataPreview/getList', method: 'get', }); }; /** 算法信息 */ export type AlgoInfo = { /** 算法提供编码 */ code: string; /** 创建时间 */ createdAt: string; /** id */ id: number; /** 0-未删除,大于0(时间戳)-已删除 */ isDeleted: number; /** 算法名称 */ name: string; /** 推送链接提示 */ pushLinkPrompt: string; /** 推送语句 */ pushStatement: string; /** 描述 */ remark: string; /** 前端显示名称 */ showName: string; /** 状态: 0-启用, 1-禁用 */ status: number; /** 更新时间 */ updatedAt: string; /** 展示视频的地址 */ url: string; }; /** 算法配置信息 */ export type AlgoConfig = { /** id */ id: number; /** 算法id */ algoId: number; /** 算法信息 */ algoInfo: AlgoInfo; /** 相机id */ cameraId: number; /** 创建时间 */ createdAt: string; /** 检测频率 */ detectionFrequency: number; /** 检测时间 */ detectionTime: string; /** 电子围栏: 0-启用, 1-禁用 */ electronicFence: number; /** 0-未删除,大于0(时间戳)-已删除 */ isDeleted: number; /** 算法状态: 0-启用, 1-禁用 */ status: number; /** 更新时间 */ updatedAt: string; }; /** 根据相机ID查询算法列表 */ export const getAlgoByCameraId = (params: { cameraId: number }) => { return http.request({ url: '/dataPreview/getAlgo', method: 'get', params, }); }; export type ViolationsQueryParam = { /** 起始日期 */ startDate: string; /** 结束日期 */ endDate: string; /** 用户名 */ userName: string; }; export type ViolationCount = { /** 算法违规数量统计 */ violationAlgoList: { /** 算法名称 */ name: string; /** 算法违规占比 */ proportion: number; }[]; /** 违规处理情况统计 */ statusCountList: { /** 类型 */ name: ViolationHandleStat; /** 数量 */ value: number; }[]; }; /** 根据用户权限查询违规记录 */ export const getViolation = (params: ViolationsQueryParam) => { return http.request({ url: '/dataPreview/getViolation', method: 'get', params, }); };