| | |
| | | |
| | | // http |
| | | // http://172.16.13.64:8100 |
| | | // baseURL: 'http://192.168.1.133:6789', // This url must end with "/". Example: 'http://192.168.1.1:6789/' |
| | | baseURL: 'http://192.168.1.198:6789', // This url must end with "/". Example: 'http://192.168.1.1:6789/' |
| | | // baseURL: 'https://dev.jxpskj.com:36789', // This url must end with "/". Example: 'http://192.168.1.1:6789/' |
| | | // ws: 'ws//127.0.0.1:6789/api/v1/ws', |
| | | // ws://192.168.1.198:1883/ |
| | | websocketURL: 'ws://192.168.1.198:6789/api/v1/ws', // Example: 'ws://192.168.1.198:6789/api/v1/ws' |
| | | // websocketURL: 'ws://192.168.1.133:6789/api/v1/ws', // Example: 'ws://192.168.1.198:6789/api/v1/ws' |
| | | // websocketURL: 'wss://dev.jxpskj.com:36789/api/v1/ws', // Example: 'ws://192.168.1.198:6789/api/v1/ws' |
| | | |
| | | // livestreaming |
| | |
| | | } |
| | | |
| | | // Get Livestream Capacity |
| | | export const getLiveCapacity = async function (body: {}): Promise<IWorkspaceResponse<any>> { |
| | | const url = `${HTTP_PREFIX}/live/capacity` |
| | | export const getLiveCapacity = async function (body:any): Promise<IWorkspaceResponse<any>> { |
| | | const url = `${HTTP_PREFIX}/live/capacity/${body.id}` |
| | | const result = await request.get(url, body) |
| | | return result.data |
| | | } |
| | |
| | | videoList.value = [] |
| | | droneIndex.value = 0 |
| | | cameraIndex.value = 0 |
| | | await getLiveCapacity({}) |
| | | console.log(deviceInfo, 'deviceInfo', sn.value) |
| | | await getLiveCapacity({ id: store.state.common.projectId }) |
| | | .then(res => { |
| | | if (res.code === 0) { |
| | | if (res.data === null) { |
| | | console.warn('warning: get live capacity is null!!!') |
| | | return |
| | | } |
| | | const resData: Array<[]> = res.data |
| | | // 机场数据 |
| | | const airport = res.data.find(v => v.sn === sn.value) |
| | | const temp: Array<SelectOption> = [] |
| | | if (resData) { |
| | | resData.forEach((ele: any) => { |
| | | temp.push({ label: ele.name, value: ele.sn, more: ele.cameras_list }) |
| | | }) |
| | | if (airport) { |
| | | temp.push({ label: airport.name, value: airport.sn, more: airport.cameras_list }) |
| | | // 设备列表 |
| | | droneList.value = temp.filter(v => v.value === sn.value) |
| | | // 设备直播处理 |
| | |
| | | // 加载无人机的视频信息 |
| | | const loadDroneVideo = async () => { |
| | | aircraftList.value = [] |
| | | await getLiveCapacity({}) |
| | | await getLiveCapacity({ id: store.state.common.projectId }) |
| | | .then(res => { |
| | | if (res.code === 0) { |
| | | if (res.data === null) { |
| | |
| | | return |
| | | } |
| | | const resData: Array<[]> = res.data |
| | | const drone = res.data.find(v => v.sn === deviceInfo.dock.basic_osd.sub_device?.device_sn) |
| | | const temp: Array<SelectOption> = [] |
| | | if (resData) { |
| | | resData.forEach((ele: any) => { |
| | | temp.push({ label: ele.name, value: ele.sn, more: ele.cameras_list }) |
| | | }) |
| | | // 无人机列表 |
| | | if (drone) { |
| | | temp.push({ label: drone.name, value: drone.sn, more: drone.cameras_list }) |
| | | } // 无人机列表 |
| | | const airList = temp.filter(v => v.value === deviceInfo.dock.basic_osd?.sub_device?.device_sn) |
| | | // 无人机设备处理 |
| | | if (airList[0].more && airList[0].more.length > 0) { |
| | |
| | | } else { |
| | | showAircraft.value = false |
| | | message.error('该无人机暂无直播设备开启') |
| | | } |
| | | } |
| | | } |
| | | }) |
| | |
| | | const getResource = (name: string) => { |
| | | return new URL(`/src/assets/icons/${name}`, import.meta.url).href |
| | | } |
| | | const hasFlownToLocation = ref(false) |
| | | // 获取ws连接过来的sn设备号 |
| | | const snCode = ref<string[]>([]) |
| | | // 添加机场标注 |
| | | watch(() => store.state.deviceState, data => { |
| | | const cesium = cesiumOperation(global.$viewer) |
| | | cesium.removeAllPoint() |
| | | if (data.currentType === EDeviceTypeName.Gateway && data.gatewayInfo[data.currentSn]) { |
| | | // deviceTsaUpdateHook.moveTo(data.currentSn, data.gatewayInfo[data.currentSn].longitude, data.gatewayInfo[data.currentSn].latitude) |
| | | } |
| | | if (snCode.value.includes(data.currentSn)) return |
| | | snCode.value.push(data.currentSn) |
| | | // cesium.removeAllPoint() |
| | | if (data.currentType === EDeviceTypeName.Aircraft && data.deviceInfo[data.currentSn]) { |
| | | // 无人机图标 |
| | | const setting = { |
| | |
| | | } |
| | | } |
| | | cesium.addPoint(setting) |
| | | if (hasFlownToLocation.value) return |
| | | cesium.flyTo(setting) |
| | | hasFlownToLocation.value = true |
| | | // cesium.flyTo(setting) |
| | | } |
| | | }, { |
| | | deep: true, |
| | |
| | | osdVisible.value.gateway_callsign = device.gateway.callsign |
| | | osdVisible.value.payloads = device.payload |
| | | } |
| | | store.commit('SET_OSD_VISIBLE_INFO', osdVisible) |
| | | console.log(osdVisible.value, 'value') |
| | | store.commit('SET_OSD_VISIBLE_INFO', osdVisible.value) |
| | | store.commit('SET_HMSInfo_DetailSn', sn) |
| | | } |
| | | |