diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
index 61badd36..a054ae5d 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
@@ -220,13 +220,8 @@ public interface ISIPCommander {
/**
* 看守位控制命令
*
- * @param device 视频设备
- * @param channelId 通道id,非通道则是设备本身
- * @param enabled 看守位使能:1 = 开启,0 = 关闭
- * @param resetTime 自动归位时间间隔,开启看守位时使用,单位:秒(s)
- * @param presetIndex 调用预置位编号,开启看守位时使用,取值范围0~255
*/
- void homePositionCmd(Device device, String channelId, String enabled, String resetTime, String presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException;
+ void homePositionCmd(Device device, String channelId, Boolean enabled, Integer resetTime, Integer presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException;
/**
* 设备配置命令
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 5233a731..14d496d5 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -875,7 +875,7 @@ public class SIPCommander implements ISIPCommander {
* @param presetIndex 调用预置位编号,开启看守位时使用,取值范围0~255
*/
@Override
- public void homePositionCmd(Device device, String channelId, String enabled, String resetTime, String presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
+ public void homePositionCmd(Device device, String channelId, Boolean enabled, Integer resetTime, Integer presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
StringBuffer cmdXml = new StringBuffer(200);
String charset = device.getCharset();
@@ -889,18 +889,10 @@ public class SIPCommander implements ISIPCommander {
cmdXml.append("" + channelId + "\r\n");
}
cmdXml.append("\r\n");
- if (NumericUtil.isInteger(enabled) && (!enabled.equals("0"))) {
+ if (enabled) {
cmdXml.append("1\r\n");
- if (NumericUtil.isInteger(resetTime)) {
- cmdXml.append("" + resetTime + "\r\n");
- } else {
- cmdXml.append("0\r\n");
- }
- if (NumericUtil.isInteger(presetIndex)) {
- cmdXml.append("" + presetIndex + "\r\n");
- } else {
- cmdXml.append("0\r\n");
- }
+ cmdXml.append("" + resetTime + "\r\n");
+ cmdXml.append("" + presetIndex + "\r\n");
} else {
cmdXml.append("0\r\n");
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
index b2dd76b5..23adac13 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/control/cmd/DeviceControlQueryMessageHandler.java
@@ -248,7 +248,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
HomePositionRequest homePosition = loadElement(rootElement, HomePositionRequest.class);
//获取整个消息主体,我们只需要修改请求头即可
HomePositionRequest.HomePosition info = homePosition.getHomePosition();
- cmder.homePositionCmd(device, channelId, info.getEnabled(), info.getResetTime(), info.getPresetIndex(),
+ cmder.homePositionCmd(device, channelId, !"0".equals(info.getEnabled()), Integer.parseInt(info.getResetTime()), Integer.parseInt(info.getPresetIndex()),
errorResult -> onError(request, errorResult),
okResult -> onOk(request, okResult));
} catch (Exception e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
index 85f516a3..2f5a5894 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
@@ -13,7 +13,7 @@ import com.genersoft.iot.vmp.conf.security.JwtUtils;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
-import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
+import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import io.swagger.v3.oas.annotations.Operation;
@@ -45,7 +45,7 @@ public class DeviceControl {
private IVideoManagerStorage storager;
@Autowired
- private SIPCommander cmder;
+ private ISIPCommander cmder;
@Autowired
private DeferredResultHolder resultHolder;
@@ -254,15 +254,13 @@ public class DeviceControl {
@Operation(summary = "看守位控制", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "deviceId", description = "设备国标编号", required = true)
@Parameter(name = "channelId", description = "通道国标编号", required = true)
- @Parameter(name = "enabled", description = "是否开启看守位 1:开启,0:关闭", required = true)
+ @Parameter(name = "enabled", description = "是否开启看守位", required = true)
@Parameter(name = "presetIndex", description = "调用预置位编号")
- @Parameter(name = "resetTime", description = "自动归位时间间隔")
- @GetMapping("/home_position/{deviceId}/{enabled}")
- public DeferredResult homePositionApi(@PathVariable String deviceId,
- @PathVariable String enabled,
- @RequestParam(required = false) String resetTime,
- @RequestParam(required = false) String presetIndex,
- String channelId) {
+ @Parameter(name = "resetTime", description = "自动归位时间间隔 单位:秒")
+ @GetMapping("/home_position")
+ public DeferredResult homePositionApi(String deviceId, String channelId, Boolean enabled,
+ @RequestParam(required = false) Integer resetTime,
+ @RequestParam(required = false) Integer presetIndex) {
if (logger.isDebugEnabled()) {
logger.debug("报警复位API调用");
}
diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index a62805be..02e92e7e 100755
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -178,13 +178,24 @@
@click="changeSubchannel(scope.row)">查看
- 设备录像
-
- 云端录像
-
+
+
+
+
+
+
+
+ {moreClick(command, scope.row)}">
+
+ 更多功能
+
+
+
+ 设备录像
+
+ 云端录像
+
+
@@ -372,6 +383,13 @@ export default {
// that.$message.error("请求超时");
});
},
+ moreClick: function (command, itemData) {
+ if (command === "records") {
+ this.queryRecords(itemData)
+ }else if (command === "cloudRecords") {
+ this.queryCloudRecords(itemData)
+ }
+ },
queryRecords: function (itemData) {
let deviceId = this.deviceId;
let channelId = itemData.channelId;