diff --git a/pom.xml b/pom.xml index 62239457..93b42579 100644 --- a/pom.xml +++ b/pom.xml @@ -10,8 +10,8 @@ com.genersoft - wvp-gb28181 - 2.0.0 + wvp-pro + 2.0 web video platform @@ -44,7 +44,7 @@ UTF-8 - yyyyMMddHHmmss + MMddHHmm 3.1.1 diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java index a90225a8..52c9f857 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java @@ -194,7 +194,7 @@ public class MediaServerServiceImpl implements IMediaServerService { mediaConfig.setId(zlmServerConfig.getGeneralMediaServerId()); mediaConfig.setCreateTime(now); mediaConfig.setUpdateTime(now); - serverItem = mediaConfig; + serverItem = mediaConfig.getMediaSerItem(); mediaServerMapper.add(mediaConfig); }else { // 一个新的zlm接入wvp diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java index 450c54a0..b4b74690 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java @@ -4,6 +4,7 @@ import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.service.IMediaService; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -47,9 +48,18 @@ public class MediaController { }) @GetMapping(value = "/stream_info_by_app_and_stream") @ResponseBody - public StreamInfo getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam String mediaServerId){ - - return mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream,mediaServerId); + public WVPResult getStreamInfoByAppAndStream(@RequestParam String app, @RequestParam String stream, @RequestParam String mediaServerId){ + StreamInfo streamInfoByAppAndStreamWithCheck = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId); + WVPResult result = new WVPResult<>(); + if (streamInfoByAppAndStreamWithCheck != null){ + result.setCode(0); + result.setMsg("scccess"); + result.setData(streamInfoByAppAndStreamWithCheck); + }else { + result.setCode(-1); + result.setMsg("fail"); + } + return result; } diff --git a/src/main/resources/wvp.sqlite b/src/main/resources/wvp.sqlite index f399e6e8..8e419836 100644 Binary files a/src/main/resources/wvp.sqlite and b/src/main/resources/wvp.sqlite differ diff --git a/web_src/src/components/CloudRecord.vue b/web_src/src/components/CloudRecord.vue index 284578b5..c08a6cc3 100644 --- a/web_src/src/components/CloudRecord.vue +++ b/web_src/src/components/CloudRecord.vue @@ -8,12 +8,12 @@
云端录像
- 节点选择: + 节点选择: + :label="item.id" + :value="item.id">
@@ -52,7 +52,7 @@ :total="total">
- + @@ -70,7 +70,7 @@ data() { return { mediaServerList: [], // 滅体节点列表 - mediaServer: null, // 媒体服务 + mediaServerId: null, // 媒体服务 recordList: [], // 设备列表 chooseRecord: null, // 媒体服务 @@ -111,9 +111,9 @@ getMediaServerList: function (){ let that = this; that.mediaServerObj.getMediaServerList((data)=>{ - that.mediaServerList = data; + that.mediaServerList = data.data; if (that.mediaServerList.length > 0) { - that.mediaServer = that.mediaServerList[0] + that.mediaServerId = that.mediaServerList[0].id that.getRecordList(); } }) @@ -122,7 +122,7 @@ let that = this; this.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/list`, + url:`/record_proxy/${that.mediaServerId}/api/record/list`, params: { page: that.currentPage, count: that.count @@ -142,7 +142,8 @@ }, chooseMediaChange(val){ console.log(val) - this.mediaServer = val; + this.total = 0; + this.recordList = []; this.getRecordList(); }, showRecordDetail(row){ diff --git a/web_src/src/components/CloudRecordDetail.vue b/web_src/src/components/CloudRecordDetail.vue index 87182e1d..b6d19323 100644 --- a/web_src/src/components/CloudRecordDetail.vue +++ b/web_src/src/components/CloudRecordDetail.vue @@ -110,7 +110,7 @@ components: { uiHeader, player }, - props: ['recordFile', 'mediaServer', 'dateFiles'], + props: ['recordFile', 'mediaServerId', 'dateFiles'], data() { return { basePath: process.env.NODE_ENV === 'development'?`${location.origin}/debug/zlm`:`${location.origin}/zlm`, @@ -238,7 +238,7 @@ let that = this; that.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/file/list`, + url:`/record_proxy/${that.mediaServerId}/api/record/file/list`, params: { app: that.recordFile.app, stream: that.recordFile.stream, @@ -263,7 +263,7 @@ this.videoUrl = ""; }else { // TODO 控制列表滚动条 - this.videoUrl = `${this.basePath}/${this.mediaServer.recordAppName}/${this.recordFile.app}/${this.recordFile.stream}/${this.chooseDate}/${this.choosedFile}` + this.videoUrl = `${this.basePath}/${this.mediaServerId}/record/${this.recordFile.app}/${this.recordFile.stream}/${this.chooseDate}/${this.choosedFile}` console.log(this.videoUrl) } @@ -312,7 +312,7 @@ let that = this; this.$axios({ method: 'delete', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/delete`, + url:`/record_proxy/${that.mediaServerId}/api/record/delete`, params: { page: that.currentPage, count: that.count @@ -331,7 +331,7 @@ that.dateFilesObj = {}; this.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/date/list`, + url:`/record_proxy/${that.mediaServerId}/api/record/date/list`, params: { app: that.recordFile.app, stream: that.recordFile.stream @@ -380,7 +380,7 @@ let that = this; this.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/file/download/task/add`, + url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/add`, params: { app: that.recordFile.app, stream: that.recordFile.stream, @@ -405,7 +405,7 @@ let that = this; this.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/file/download/task/list`, + url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/list`, params: { isEnd: isEnd, } diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue index 45fd573d..746bcdba 100644 --- a/web_src/src/components/StreamProxyList.vue +++ b/web_src/src/components/StreamProxyList.vue @@ -211,10 +211,19 @@ } }).then(function (res) { that.getListLoading = false; - that.$refs.devicePlayer.openDialog("streamPlay", null, null, { - streamInfo: res.data, - hasAudio: true - }); + if (res.data.code === 0) { + that.$refs.devicePlayer.openDialog("streamPlay", null, null, { + streamInfo: res.data.data, + hasAudio: true + }); + }else { + that.$message({ + showClose: true, + message: "获取地址失败:" + res.data.msg, + type: "error", + }); + } + }).catch(function (error) { console.log(error); that.getListLoading = false;