Browse Source

Merge pull request #113 from lawrencehj/wvp-28181-2.0

修正SSE、jar路径和API代理部分错误
pull/115/head
648540858 4 years ago
committed by GitHub
parent
commit
11e8fad2e9
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java
  2. 2
      src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java
  3. 1
      src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
  4. 14
      src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
  5. 4
      src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java
  6. 1
      src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java
  7. 1
      src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java
  8. 4
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
  9. 4
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
  10. 1
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/RegisterResponseProcessor.java
  11. 2
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
  12. 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
  13. 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java
  14. 1
      src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java
  15. 2
      src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java
  16. 1
      src/main/java/com/genersoft/iot/vmp/service/IMediaService.java
  17. 21
      src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
  18. 1
      src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java
  19. 1
      src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java
  20. 1
      src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
  21. 4
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java
  22. 2
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
  23. 2
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
  24. 1
      src/main/java/com/genersoft/iot/vmp/vmanager/onvif/ONVIFController.java
  25. 1
      src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
  26. 1
      src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
  27. 26
      src/main/resources/application-dev.yml
  28. 2
      web_src/src/main.js

1
src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java

@ -3,7 +3,6 @@ package com.genersoft.iot.vmp;
import java.util.logging.LogManager; import java.util.logging.LogManager;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import springfox.documentation.oas.annotations.EnableOpenApi; import springfox.documentation.oas.annotations.EnableOpenApi;

2
src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java

@ -16,7 +16,7 @@ public class VideoManagerConstants {
public static final String CACHEKEY_PREFIX = "VMP_channel_"; public static final String CACHEKEY_PREFIX = "VMP_channel_";
public static final String KEEPLIVEKEY_PREFIX = "VMP_KEEPLIVE_"; public static final String KEEPLIVEKEY_PREFIX = "VMP_keeplive_";
public static final String PLAYER_PREFIX = "VMP_player_"; public static final String PLAYER_PREFIX = "VMP_player_";

1
src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.conf; package com.genersoft.iot.vmp.conf;
import io.netty.util.internal.StringUtil;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;

14
src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java

@ -2,8 +2,7 @@ package com.genersoft.iot.vmp.conf;
import org.apache.http.HttpRequest; import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig; import org.apache.catalina.connector.ClientAbortException;
import org.apache.http.impl.client.HttpClientBuilder;
import org.mitre.dsmiley.httpproxy.ProxyServlet; import org.mitre.dsmiley.httpproxy.ProxyServlet;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -14,16 +13,11 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.net.ConnectException; import java.net.ConnectException;
import java.util.Locale;
import java.util.Map;
@SuppressWarnings(value = {"rawtypes", "unchecked"})
@Configuration @Configuration
public class ProxyServletConfig { public class ProxyServletConfig {
@ -61,7 +55,7 @@ public class ProxyServletConfig {
@Override @Override
protected void handleRequestException(HttpRequest proxyRequest, HttpResponse proxyResonse, Exception e){ protected void handleRequestException(HttpRequest proxyRequest, HttpResponse proxyResonse, Exception e){
System.out.println(e.getMessage()); //System.out.println(e.getMessage());
try { try {
super.handleRequestException(proxyRequest, proxyResonse, e); super.handleRequestException(proxyRequest, proxyResonse, e);
} catch (ServletException servletException) { } catch (ServletException servletException) {
@ -69,6 +63,8 @@ public class ProxyServletConfig {
} catch (IOException ioException) { } catch (IOException ioException) {
if (ioException instanceof ConnectException) { if (ioException instanceof ConnectException) {
logger.error("zlm 连接失败"); logger.error("zlm 连接失败");
} else if (ioException instanceof ClientAbortException) {
logger.error("用户已中断连接,代理终止");
} else { } else {
logger.error("zlm 代理失败: ", e); logger.error("zlm 代理失败: ", e);
} }

4
src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java

@ -1,8 +1,5 @@
package com.genersoft.iot.vmp.conf; package com.genersoft.iot.vmp.conf;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -10,7 +7,6 @@ import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* 系统启动时控制设备离线 * 系统启动时控制设备离线

1
src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java

@ -2,7 +2,6 @@ package com.genersoft.iot.vmp.conf.security;
import com.genersoft.iot.vmp.conf.UserSetup; import com.genersoft.iot.vmp.conf.UserSetup;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;

1
src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java

@ -5,7 +5,6 @@ import java.util.List;
import java.util.Random; import java.util.Random;
import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.conf.SipConfig;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.utils.SpringBeanFactory; import com.genersoft.iot.vmp.utils.SpringBeanFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

4
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.gb28181.transmit.cmd.impl; package com.genersoft.iot.vmp.gb28181.transmit.cmd.impl;
import com.genersoft.iot.vmp.conf.MediaConfig;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
@ -12,7 +11,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
@ -23,8 +21,6 @@ import javax.sip.header.CallIdHeader;
import javax.sip.header.WWWAuthenticateHeader; import javax.sip.header.WWWAuthenticateHeader;
import javax.sip.message.Request; import javax.sip.message.Request;
import java.text.ParseException; import java.text.ParseException;
import java.util.Timer;
import java.util.TimerTask;
import java.util.UUID; import java.util.UUID;
@Component @Component

4
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java

@ -2,10 +2,7 @@ package com.genersoft.iot.vmp.gb28181.transmit.request.impl;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date;
import java.util.Locale; import java.util.Locale;
import javax.sip.InvalidArgumentException; import javax.sip.InvalidArgumentException;
@ -22,7 +19,6 @@ import javax.sip.message.Response;
import com.genersoft.iot.vmp.gb28181.bean.WvpSipDate; import com.genersoft.iot.vmp.gb28181.bean.WvpSipDate;
import gov.nist.javax.sip.RequestEventExt; import gov.nist.javax.sip.RequestEventExt;
import gov.nist.javax.sip.header.SIPDateHeader; import gov.nist.javax.sip.header.SIPDateHeader;
import gov.nist.javax.sip.message.SIPRequest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;

1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/RegisterResponseProcessor.java

@ -5,7 +5,6 @@ import com.genersoft.iot.vmp.gb28181.SipLayer;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.request.impl.RegisterRequestProcessor;
import com.genersoft.iot.vmp.gb28181.transmit.response.ISIPResponseProcessor; import com.genersoft.iot.vmp.gb28181.transmit.response.ISIPResponseProcessor;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.IVideoManagerStorager;

2
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

@ -15,10 +15,8 @@ import com.genersoft.iot.vmp.service.IPlayService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;

1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java

@ -8,7 +8,6 @@ import com.genersoft.iot.vmp.gb28181.session.SsrcUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap; import java.util.HashMap;

1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java

@ -1,7 +1,6 @@
package com.genersoft.iot.vmp.media.zlm; package com.genersoft.iot.vmp.media.zlm;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.StringUtils;
public class ZLMServerConfig { public class ZLMServerConfig {

1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerManger.java

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.media.zlm; package com.genersoft.iot.vmp.media.zlm;
import com.alibaba.fastjson.annotation.JSONField;
import com.genersoft.iot.vmp.conf.MediaConfig; import com.genersoft.iot.vmp.conf.MediaConfig;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

2
src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java

@ -12,8 +12,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;

1
src/main/java/com/genersoft/iot/vmp/service/IMediaService.java

@ -1,7 +1,6 @@
package com.genersoft.iot.vmp.service; package com.genersoft.iot.vmp.service;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.common.StreamInfo;
/** /**

21
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@ -24,7 +24,6 @@ import gov.nist.javax.sip.stack.SIPDialog;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -32,13 +31,11 @@ import org.springframework.util.ResourceUtils;
import org.springframework.web.context.request.async.DeferredResult; import org.springframework.web.context.request.async.DeferredResult;
import javax.sip.ClientTransaction; import javax.sip.ClientTransaction;
import javax.sip.Dialog;
import javax.sip.header.CallIdHeader;
import javax.sip.message.Response; import javax.sip.message.Response;
import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.util.UUID; import java.util.UUID;
@SuppressWarnings(value = {"rawtypes", "unchecked"})
@Service @Service
public class PlayServiceImpl implements IPlayService { public class PlayServiceImpl implements IPlayService {
@ -97,7 +94,20 @@ public class PlayServiceImpl implements IPlayService {
result.onCompletion(()->{ result.onCompletion(()->{
// 点播结束时调用截图接口 // 点播结束时调用截图接口
try { try {
String path = ResourceUtils.getURL("classpath:").getPath()+"static/static/snap/"; String classPath = ResourceUtils.getURL("classpath:").getPath();
// System.out.println(classPath);
String path = classPath + "static/static/snap/";
if(classPath.contains("jar")) {
classPath = classPath.substring(0, classPath.lastIndexOf("."));
classPath = classPath.substring(0, classPath.lastIndexOf("/"));
path = classPath + "/snap/";
}
if (path.startsWith("file:")) {
path = path.substring(path.indexOf(":") + 1, path.length());
}
if(System.getProperty("os.name").contains("indows")) {
path = path.substring(1, path.length());
}
String fileName = deviceId + "_" + channelId + ".jpg"; String fileName = deviceId + "_" + channelId + ".jpg";
ResponseEntity responseEntity = (ResponseEntity)result.getResult(); ResponseEntity responseEntity = (ResponseEntity)result.getResult();
if (responseEntity != null && responseEntity.getStatusCode() == HttpStatus.OK) { if (responseEntity != null && responseEntity.getStatusCode() == HttpStatus.OK) {
@ -109,7 +119,6 @@ public class PlayServiceImpl implements IPlayService {
zlmresTfulUtils.getSnap(flvUrl, 5, 1, path, fileName); zlmresTfulUtils.getSnap(flvUrl, 5, 1, path, fileName);
} }
} }
System.out.println(path); System.out.println(path);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();

1
src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.service.impl; package com.genersoft.iot.vmp.service.impl;
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
import com.genersoft.iot.vmp.service.IRecordInfoServer; import com.genersoft.iot.vmp.service.IRecordInfoServer;
import com.genersoft.iot.vmp.storager.dao.RecordInfoDao; import com.genersoft.iot.vmp.storager.dao.RecordInfoDao;
import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo;

1
src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java

@ -1,7 +1,6 @@
package com.genersoft.iot.vmp.storager.dao; package com.genersoft.iot.vmp.storager.dao;
import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo;
import com.genersoft.iot.vmp.storager.dao.dto.User;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

1
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java

@ -3,7 +3,6 @@ package com.genersoft.iot.vmp.storager.impl;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;

4
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java

@ -8,7 +8,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
@ -30,7 +30,7 @@ public class SseController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "browserId", value = "浏览器ID", dataTypeClass = String.class), @ApiImplicitParam(name = "browserId", value = "浏览器ID", dataTypeClass = String.class),
}) })
@PostMapping("/emit") @GetMapping("/emit")
public SseEmitter emit(@RequestParam String browserId) { public SseEmitter emit(@RequestParam String browserId) {
final SseEmitter sseEmitter = new SseEmitter(0L); final SseEmitter sseEmitter = new SseEmitter(0L);
try { try {

2
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java

@ -120,7 +120,7 @@ public class DeviceControl {
* @param deviceId 设备ID * @param deviceId 设备ID
* @param guardCmdStr SetGuard布防ResetGuard撤防 * @param guardCmdStr SetGuard布防ResetGuard撤防
*/ */
@ApiOperation("录像控制命令") @ApiOperation("布防/撤防命令")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class), @ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class),
@ApiImplicitParam(name = "guardCmdStr", value ="命令, 可选值:SetGuard(布防),ResetGuard(撤防)", required = true, @ApiImplicitParam(name = "guardCmdStr", value ="命令, 可选值:SetGuard(布防),ResetGuard(撤防)", required = true,

2
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java

@ -19,7 +19,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -32,7 +31,6 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import org.springframework.web.context.request.async.DeferredResult; import org.springframework.web.context.request.async.DeferredResult;
import java.io.FileNotFoundException;
import java.util.UUID; import java.util.UUID;
import javax.sip.message.Response; import javax.sip.message.Response;

1
src/main/java/com/genersoft/iot/vmp/vmanager/onvif/ONVIFController.java

@ -17,6 +17,7 @@ import org.springframework.web.context.request.async.DeferredResult;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@SuppressWarnings(value = {"rawtypes", "unchecked"})
@Api(tags = "onvif设备") @Api(tags = "onvif设备")
@CrossOrigin @CrossOrigin
@RestController @RestController

1
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java

@ -3,7 +3,6 @@ package com.genersoft.iot.vmp.vmanager.server;
import com.genersoft.iot.vmp.VManageBootstrap; import com.genersoft.iot.vmp.VManageBootstrap;
import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig; import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.impl.RedisCatchStorageImpl;
import com.genersoft.iot.vmp.utils.SpringBeanFactory; import com.genersoft.iot.vmp.utils.SpringBeanFactory;
import gov.nist.javax.sip.SipStackImpl; import gov.nist.javax.sip.SipStackImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

1
src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java

@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@SuppressWarnings("rawtypes")
/** /**
* 拉流代理接口 * 拉流代理接口
*/ */

26
src/main/resources/application-dev.yml

@ -15,6 +15,8 @@ spring:
datasource: datasource:
name: eiot name: eiot
url: jdbc:sqlite::resource:wvp.sqlite url: jdbc:sqlite::resource:wvp.sqlite
# 打包为jar运行时把wvp.sqlite发到jar同级文件夹,同时url改为:
# url: jdbc:sqlite:wvp.sqlite
username: username:
password: password:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
@ -59,6 +61,18 @@ media:
# 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
recordAssistPort: 0 recordAssistPort: 0
# [可选] 日志配置, 一般不需要改
logging:
file:
name: logs/wvp.log
max-history: 30
max-size: 10MB
total-size-cap: 300MB
level:
com:
genersoft:
iot: info
# [根据业务需求配置] # [根据业务需求配置]
userSettings: userSettings:
# [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true # [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true
@ -73,15 +87,3 @@ springfox:
documentation: documentation:
swagger-ui: swagger-ui:
enabled: true enabled: true
# [可选] 日志配置, 一般不需要改
logging:
file:
name: logs/wvp.log
max-history: 30
max-size: 10MB
total-size-cap: 300MB
level:
com:
genersoft:
iot: info

2
web_src/src/main.js

@ -47,7 +47,7 @@ axios.interceptors.response.use(function (response) {
}, function (error) { }, function (error) {
// 对响应错误做点什么 // 对响应错误做点什么
if (error.response.status === 401) { if (error.response.status === 401) {
console.log((1111)) console.log("Received 401 Response")
router.push('/login'); router.push('/login');
} }
return Promise.reject(error); return Promise.reject(error);

Loading…
Cancel
Save