diff --git a/front/src/api/file.js b/front/src/api/file.js index 9777ab36..92238a4e 100644 --- a/front/src/api/file.js +++ b/front/src/api/file.js @@ -2,7 +2,7 @@ * @Author: hisense.wuhongjian * @Date: 2022-04-20 17:16:35 * @LastEditors: hisense.wuhongjian - * @LastEditTime: 2022-05-26 22:40:46 + * @LastEditTime: 2022-06-14 16:53:39 * @Description: 告诉大家这是什么 */ import request from '@/utils/request' @@ -46,3 +46,9 @@ export function correct(params) { export function paddleocr(params) { return axios.post('http://15.72.183.90:7008/paddleocr', params, config2) } +export function getVideoList(params) { + return axios.get('http://10.134.135.9:8001/hx-weather-warning/camera/getCameraListByName', params, config2) +} +export function getHls(params) { + return axios.get('http://10.134.135.9:8001/hx-weather-warning/camera/getCameraLiveStream', params, config2) +} diff --git a/front/src/views/home/DetailsPageconetent.vue b/front/src/views/home/DetailsPageconetent.vue index 6ee2fd7c..12f106a4 100644 --- a/front/src/views/home/DetailsPageconetent.vue +++ b/front/src/views/home/DetailsPageconetent.vue @@ -365,6 +365,7 @@ // VideoCameraOutlined, } from '@ant-design/icons-vue' import { selectDicStoreAll, pageWithAttrs, zywMessage } from '@/api/home.js' + import { getVideoList } from '@/api/file.js' import { getSgcList } from '@/api/personalCenter' import { useRouter } from 'vue-router' // import { useStore } from 'vuex' @@ -996,15 +997,71 @@ console.log('查询列表============>', resourceList, res.data.data) resourceList.data = [] videoList.data = [] + if (Cardsname.value === '基础设施') { // videoList.data = res.data.data.records || [] - resourceTotal.value = infrastructure.value.data.total || '' - getShoppingCartList(infrastructure.value.data.records) - console.log( - '基础设施~~~~~~~~~~~', - resourceTotal.value, - resourceList.data - ) + // resourceTotal.value = '300' + // getShoppingCartList(infrastructure.value.data.records) + // 获取后台接口数据 + const params = { + name: searchValue.value, + pageNo: paramsGetResources.pageNum, + pageSize: paramsGetResources.pageSize + } + resourceTotal.value = 10 + resourceList.data = [ + { + "id": "689299957948436480",//摄像头id + "cameraIndexCode": "37021100001316660963",//监控点编号 + "cameraSerial": null,//海康平台摄像头编码 + "gbIndexCode": "37021100001316660963",//监控点国标编号 + "name": "216省道与星海滩路(桥底南)",//监控点名称 + "deviceIndexCode": "",//所属设备编号 + "longitude": "120.05622780039626",//经度(WGS84坐标系) + "latitude": "35.9411893638582",//纬度(WGS84坐标系) + "altitude": "",//海拔高度(WGS84坐标系,单位:米) + "pixel": "1",//摄像机像素(1-普通像素,2-130万高清,3-200万高清,4-300万高清) + "cameraType": "2",//监控点类型(0-枪机,1-半球,2-快球,3-带云台枪机) + "cameraTypeName": "Fast Ball Camera",//监控点类型说明 + "installPlace": "",//安装位置 + "matrixCode": "",//矩阵编号 + "chanNum": null,//通道号 + "viewshed": "",//可视域相关(JSON格式),该字段具体使用方式参考【监控点可视域字段说明】。 + "capabilitySet": "@vss@",//能力集 + "capabilitySetName": "@Video capability@",//能力集说明 + "intelligentSet": "",//智能分析能力集 + "intelligentSetName": "",//智能分析能力集说明 + "recordLocation": "0",//录像存储位置(0-中心存储,1-设备存储) + "recordLocationName": "Central storage",//录像存储位置说明 + "ptzController": null,//云台控制(1-DVR,2-模拟矩阵,3-MU4000,4-NC600) + "ptzControllerName": "",//云台控制说明 + "deviceResourceType": "",//所属设备类型 + "deviceResourceTypeName": "",//所属设备类型说明 + "channelType": "analog",//通道子类型 + "channelTypeName": "Analog channel",//通道子类型说明 + "transType": "1",//传输协议(0-UDP,1-TCP) + "transTypeName": "TCP",//传输协议类型说明 + "updateTime": "2022-05-18T02:04:24.166+08:00",//监控点更新时间(ISO8601格式yyyy-MM-dd'T'HH:mm:ss.SSSzzz) + "unitIndexCode": "37021100001310001004",//所属组织编号 + "treatyType": "",//接入协议 + "treatyTypeName": "",//接入协议类型说明 + "createTime": null,//监控点创建时间(ISO8601格式yyyy-MM-dd'T'HH:mm:ss.SSSzzz) + "status": "1",// 在线状态(0-不在线,1-在线) + "statusName": "Online",//状态说明 + "locationLong": 120.05622780039626,//地理坐标经度(计算使用) + "locationLat": 35.9411893638582,//地理坐标纬度(计算使用) + "delFlag": 0,//删除标记(0:有效;1:删除) + "createdBy": null,//创建人code + "createdTime": "2022-05-25 12:38:47",//创建时间 + "updatedBy": null,//修改人code + "updatedTime": "2022-06-08 17:05:26"//修改时间 + } + ] + // getVideoList(params).then((res) => { + // // 赋值 + // resourceTotal.value = res.data.data.total + // resourceList.data = res.data.data.list + // }) } else if (Cardsname.value === '数据资源') { resourceTotal.value = resourceData.value.data.total || '' getShoppingCartList(resourceData.value.data.records) diff --git a/front/src/views/home/components/searchResultList.vue b/front/src/views/home/components/searchResultList.vue index 5e60e4d8..759de5bc 100644 --- a/front/src/views/home/components/searchResultList.vue +++ b/front/src/views/home/components/searchResultList.vue @@ -153,7 +153,10 @@ 免费试用 - + + 视频预览 + + 查看详情 @@ -174,6 +177,7 @@ import { message } from 'ant-design-vue' import { useRouter } from 'vue-router' import { getUser, sgcInsert } from '@/api/home' + import { getHls } from '@/api/file.js' import { scInsert, scDel } from '@/api/personalCenter' import mybus from '@/myplugins/mybus' @@ -280,6 +284,7 @@ components: {}, setup(props) { let shoppingKey = ref(1) + let videoUrl = ref('') // 购物车id列表 const selList = ref([ { name: '发布时间', value: 'tdr.create_date' }, @@ -314,6 +319,7 @@ } function toView(type, item) { + console.log('item', item) if (type === 'apply') { // window.open(newpage.href, '_blank') router.push({ @@ -399,6 +405,18 @@ }) console.log('选择===========》', val, selData.value) } + // 打开视频预览 + const openVideo = (item) => { + videoUrl.value = '' + const param = { + cameraId: item.cameraIndexCode, + protocol: 'hls', + } + getHls(param).then((res) => { + console.log('获取视频地址===============>', res) + videoUrl.value = res.data.data + }) + } mybus.on('chongzhi', () => { selData.value = 'total' }) @@ -414,6 +432,7 @@ cardType, findComponentName, shoppingKey, + openVideo, } }, beforeUnmount() {