import { http } from '@/utils/http/axios'; /** * @description: 查询未读消息列表 */ export interface UnReadNoticeInfo { id: number; // 消息通知id notifierUserId: number; // 被通知人用户id infoType: number; // 消息类型:1-灾害预警 2-防御通知 3-预防检查任务 4-灾害处置上报任务 5-灾害处置整改任务 infoOutline: string; // 消息概要 infoStatus: number; // 消息状态:1-已处理、2-未处理、3-忽略 pushChannel: number; // 推送渠道:1-首页 detail: string; // 详情(JSON) sourceId: number; // 消息来源id createdAt: string; // 创建时间 updatedAt: string; // 更新时间 isDeleted: number; // 0-未删除,大于0-已删除 } export const getUnReadNoticeInfoList = () => { return http.request({ url: '/noticeInfo/queryUnReadNoticeInfoList', method: 'get', }); }; /** * @description: 更新消息通知状态 */ export interface UpdateUnReadNoticeInfoStatusParams { id: number; // 消息通知id status: number; // 修改状态:1-已读 2-未读 3-忽略 } export const updateUnReadNoticeInfoStatus = (params: UpdateUnReadNoticeInfoStatusParams) => { return http.request({ url: '/noticeInfo/updateNoticeInfoStatus', method: 'post', params, }); }; /** * @description: 灾害预警记录(timespan: 1-本周,2-本月,3-季度,4-年度) */ export interface WarnRecord { disasterType: string; // 灾害类型 warnTime: string; // 预警时间 source: string; // 信息来源 content: string; // 发布内容 } export interface DisasterWarningRecordsRes { warnCount: number; // 预警数量 warnRecord: WarnRecord[]; // 预警记录 } export const getDisasterWarningRecords = (duration: number) => { return http.request({ url: `/overview/queryOverviewDisasterWarn?timespan=${duration}`, method: 'get', }); }; /** * @description: 预防检查 */ export interface QueryCheckingListsParams { pageNumber?: number; pageSize?: number; queryParam?: {}; } export interface TaskRecord { id: number; // 任务id inspectType: number; // 检查类型:1-台汛前期检查,2-台汛中期检查,3-台汛后期检查 deptName: string; // 被检查单位名称 updatedAt: string; // 更新时间 taskState: number; // 任务状态:1-待发布,2-待检查,3-待审批,4-已完成 hasHazard: boolean; // 检查结果:false-不存在隐患,true-存在隐患 } export interface PreventInspectInfoRes { totalTask: number; // 总任务数 submittedTask: number; // 待签字任务数 signedTask: number; // 已签字任务数 passTask: number; // 通过任务数 dangerTask: number; // 隐患任务数 taskRecord: TaskRecord[]; // 检查任务记录 pageNumber: number; pageSize: number; totalPage: number; totalRow: number; } export const getPreventInspect = (params: QueryCheckingListsParams) => { return http.request({ url: '/overview/queryOverviewPreventInspect', method: 'post', params, }); }; /** * @description: 灾害处置 */ export interface DisasterHandleInfoRecord { affectedItems: string; // 受灾物品 deptId: number; // 损失部门id deptName: string; // 损失部门 affectedLocation: string; // 受灾地点 fixStatus: number; // 整改进度:1-待整改 2-已响应 3-已更新 4-已完成 5-暂时关闭 fixerId: number; // 整改人员id fixerName: string; // 整改人员名称 fixerStaffNo: string; // 整改人员工号 } export interface QueryDisasterHandleOverviewRes { dueReportDeptCount: number; // 应上报部门数量 completeReportDeptCount: number; // 已上报部门数量 existLossDeptCount: number; // 存在损失部门数量 lossRecordCount: number; // 损失记录数量 completeHandleCount: number; // 处置完成数量 disasterHandleInfoList: DisasterHandleInfoRecord[]; pageNumber: number; pageSize: number; totalPage: number; totalRow: number; } export const getDisasterHandleOverview = (params: QueryCheckingListsParams) => { return http.request({ url: '/disasterHandle/queryDisasterHandleOverview', method: 'post', params, }); }; /** * @description: 通知与管理规定(防御通知) */ export interface NoticeAndRulesRes { id: number; // 通知id title: string; // 通知标题 createdBy: number; // 创建人id createdName: string; // 创建人姓名 pushTime: string; // 发布时间 } export const getNoticeAndRules = () => { return http.request({ url: '/overview/queryOverviewDefenseNotice', method: 'get', }); }; /** * @description: 重点监测区域:查看相机分组列表 */ export interface GetCameraGroupListRes { id: number; // 分组id groupName: string; // 分组名称 isDefault: number; playIntervalSec: number; // 轮播间隔 isPaused: number; // 是否暂停播放 children: CameraInfo[]; // 分组相机列表 } export interface CameraInfo { networkingState: number; // 联网状态: 0-启用, 1-禁用 integrationState: number; // 接入状态: 0-启用, 1-禁用 render: string; // 渲染选择,无渲染/某个算法 version: number; // 版本 extra: string; // 扩展数据 pushStreamDTO: { videoUrls: { pushstreamIp: string; // 推流地址(前端播放的地址) pushstreamRenderUrl: string; // 渲染推流地址(前端播放的渲染地址) m3u8PushstreamIp: string; // ios推流地址(前端播放的地址) m3u8PushstreamRenderIp: string; // ios推流地址(前端播放的地址) pushstreamIpAbs: string; // 推流地址(前端播放的地址) pushstreamRenderUrlAbs: string; // 渲染推流地址(前端播放的渲染地址) m3u8PushstreamIpAbs: string; // ios推流地址(前端播放的地址) m3u8PushstreamRenderIpAbs: string; // ios推流地址(前端播放的地址) }; imageUrl: string; // 摄像头实时记录的画面 }; id: number; // 自增主键 workshopId: number; // 车间id workspaceId: number; // 工位id name: string; // 相机名称 code: string; // 相机编号 cameraIp: string; // 相机IP cameraPort: string; // 相机端口 cameraType: string; // 相机类型: haikang/dahua/anxus/huawei remark: string; // 描述 sourceType: string; // 添加方式: IP,NVR,RTSP rtspUrl: string; // rtsp地址 nvrId: number; // NVR id nvrChannel: string; // NVR通道号 videoStandard: string; // 视频编码标准,H264, H265 videoServiceType: string; // 视频服务类型,TCP, UDP, AUTO isDisabled: number; // 状态: 0-启用, 1-禁用 } export const getMonitorCameraLists = () => { return http.request({ url: '/cameraGroup/queryCameraGroupList?type=1', method: 'get', }); }; /** * @description: 重点监测区域:根据用户查询相机树 */ export interface QueryAllOwnedCameraTreeRes { nodeType: string; // 节点类型 id: number; // 公司id parentId?: number; // 上级公司Id, 无上级为0 name: string; // 公司名称 code: string; // 公司编号 remark: string; // 描述 orderNum: number; // 排序序号 longitude?: Record; // 经度 latitude?: Record; // 纬度 regionCode?: string; // 区域编码(标识) isDisabled: number; // 状态: 0-启用, 1-禁用 createdBy: number; // 创建人 updatedBy: number; // 更新人 createdAt: Record; // 创建时间 updatedAt: Record; // 更新时间 tenantId: number; // 租户ID thumbnail?: string; // 公司缩略图 // 车间-工位-相机信息 children: { nodeType: string; // 节点类型 id: number; // 车间id companyId: number; // 公司id name: string; // 车间名称 code: string; // 车间编号 orderNum: number; // 排序序号 remark: string; // 描述 isDisabled: number; // 状态: 0-启用, 1-禁用 createdBy: number; // 创建人 updatedBy: number; // 更新人 createdAt: Record; // 创建时间 updatedAt: Record; // 修改时间 tenantId: number; // 租户ID // 工位-相机信息 children: { nodeType: string; // 节点类型 id: number; // 工位id workshopId: number; // 车间id name: string; // 工位名称 code: string; // 工位编号 remark: string; // 描述 orderNum: number; // 排序序号 principalName: string; // 工位负责人 principalId: number; // 工位负责人id isDisabled: number; // 状态: 0-启用, 1-禁用 createdBy: number; // 创建人 updatedBy: number; // 更新人 createdAt: Record; // 创建时间 updatedAt: Record; // 更新时间 tenantId: number; // 租户ID // 相机信息 children: CameraInTree[]; }[]; }[]; } export interface CameraInTree { "data": [ { "dataTime": "", "minTemperature": "", "maxTemperature": "", "minWindVelocity": 0, "maxWindVelocity": 0, "avgWindVelocity": 0 } ] networkingState: number; // 联网状态: 0-启用, 1-禁用 integrationState: number; // 接入状态: 0-启用, 1-禁用 render: string; // 渲染选择,无渲染/某个算法 version: number; // 版本 extra: string; // 扩展数据 pushStreamDTO: { videoUrls: { pushstreamIp: string; // 推流地址(前端播放的地址) pushstreamRenderUrl: string; // 渲染推流地址(前端播放的渲染地址) m3u8PushstreamIp: string; // ios推流地址(前端播放的地址) m3u8PushstreamRenderIp: string; // ios推流地址(前端播放的地址) pushstreamIpAbs: string; // 推流地址(前端播放的地址) pushstreamRenderUrlAbs: string; // 渲染推流地址(前端播放的渲染地址) m3u8PushstreamIpAbs: string; // ios推流地址(前端播放的地址) m3u8PushstreamRenderIpAbs: string; // ios推流地址(前端播放的地址) }; imageUrl: string; // 摄像头实时记录的画面 }; id: number; // 自增主键 workshopId: number; // 车间id workspaceId: number; // 工位id name: string; // 相机名称 code: string; // 相机编号 cameraIp: string; // 相机IP cameraPort: string; // 相机端口 cameraType: string; // 相机类型: haikang/dahua/anxus/huawei remark: string; // 描述 sourceType: string; // 添加方式: IP,NVR,RTSP rtspUrl: string; // rtsp地址 nvrId: number; // NVR id nvrChannel: string; // NVR通道号 videoStandard: string; // 视频编码标准,H264, H265 videoServiceType: string; // 视频服务类型,TCP, UDP, AUTO isDisabled: number; // 状态: 0-启用, 1-禁用 nodeType: string; // 节点类型 } export const getCameraTreeList = () => { return http.request({ url: '/camera/queryAllOwnedCameraTree', method: 'get', }); }; /** * @description: 重点监测区域:批量编辑分组内相机 */ export const updateCameraToOverviewGroup = (params: { groupId: number | undefined; cameraIdList: number[] }) => { return http.request({ url: '/cameraGroup/updateCameraInGroup', method: 'post', params, }); }; /** * @description: 获取实时天气数据 */ export interface RealTimeWeatherDataRes { time: string; // 时间 temperature: string; // 温度℃ windVelocity: number; // 风速m/s * 3.6 = km/h } export const getRealTimeWeatherData = () => { return http.request({ url: '/weatherData/queryWeatherData', method: 'get', }); }; /** * @description: 获取历史气温数据 */ export interface HistoryTemperatureInfo{ dataTime : string; minTemperature : string; maxTemperature : string; minWindVelocity : number; maxWindVelocity : number; avgWindVelocity : number; } export const getHistoryTemperatureList = ()=>{ return http.request({ url: '/weatherData/queryRecentYearWeatherData', method: 'get', }); } /** * @description: 获取一年高温天气天数 */ export const getHighTemperatureDays = ()=>{ return http.request({ url: '/weatherData/countHotDaysInYear', method: 'get', }); } /** * @description: 获取当日发布的灾害预警信息列表 */ export interface TodayDisasterWarnInfoType { id: number; // 自增主键 disasterType: string; // 灾害类型 disasterLevel: string; // 灾害等级 warnTime: string; // 预警时间 source: string; // 信息来源 content: string; // 发布内容 effectState: number; // 生效状态:1-未生效,2-生效 createSource: number; // 创建来源:1-人工创建 2-接口数据获取 isPush: number; // 是否推送:0-不推送 1-推送 pushTime: string; // 发布时间 userGroupList: string; // 用户分组列表 createdBy: number; // 创建人 createdAt: string; // 创建时间 updatedAt: string; // 更新时间 isDeleted: number; // 0-未删除,大于0(时间戳)-已删除 tenantId: number; // 租户id } export const getTodayDisasterWarnInfoList = () => { return http.request({ url: '/disasterWarn/queryTodayDisasterWarnInfoList', method: 'get', }); }; /** * @description: 查询安全态势应急管理统计 */ export interface DisasterPreventionInfoRes { monthDisasterCount: number; // 本月气象灾害预警数 preventiveInspectRatio: string; // 预防检查覆盖 } export const getDisasterPreventionInfo = () => { return http.request({ url: '/overview/queryDisasterPreventionStatistics', method: 'get', }); };