From 45af124eb0076cf739c0d50c4493cdfa5d8f842f Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 16 Jul 2025 11:00:43 +0800 Subject: [PATCH] =?UTF-8?q?[1078]=20=E6=94=AF=E6=8C=81=E7=BB=88=E7=AB=AF?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=92=8C=E9=93=BE=E8=B7=AF=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E7=9A=84UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/jt1078/codec/decode/Jt808Decoder.java | 4 +- .../vmp/jt1078/codec/netty/Jt808Handler.java | 3 + .../jt1078/controller/JT1078Controller.java | 11 +- web/src/api/jtDevice.js | 27 +++++ web/src/store/modules/jtDevice.js | 36 ++++++- web/src/views/jtDevice/channel/index.vue | 26 ++--- web/src/views/jtDevice/dialog/attribute.vue | 77 +++++++++++++ web/src/views/jtDevice/dialog/position.vue | 77 +++++++++++++ web/src/views/jtDevice/list.vue | 101 +++++++++++++----- 9 files changed, 308 insertions(+), 54 deletions(-) create mode 100755 web/src/views/jtDevice/dialog/attribute.vue create mode 100755 web/src/views/jtDevice/dialog/position.vue diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java index 1c5f6108e..d05cedce8 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java @@ -49,7 +49,7 @@ public class Jt808Decoder extends ByteToMessageDecoder { try { // 按照部标定义执行校验和转义 ByteBuf buf = unEscapeAndCheck(in); - + buf.retain(); Header header = new Header(); header.setMsgId(ByteBufUtil.hexDump(buf.readSlice(2))); header.setMsgPro(buf.readUnsignedShort()); @@ -79,7 +79,7 @@ public class Jt808Decoder extends ByteToMessageDecoder { log.error("get msgId is null {}", header.getMsgId()); return; } - buf.retain(); + Rs decode = handler.decode(buf, header, session, service); ApplicationEvent applicationEvent = handler.getEvent(); if (applicationEvent != null) { diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/netty/Jt808Handler.java b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/netty/Jt808Handler.java index 802bbf69e..202f81e88 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/netty/Jt808Handler.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/netty/Jt808Handler.java @@ -9,6 +9,7 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.handler.timeout.IdleState; import io.netty.handler.timeout.IdleStateEvent; +import io.netty.util.ReferenceCountUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationEventPublisher; @@ -35,6 +36,8 @@ public class Jt808Handler extends ChannelInboundHandlerAdapter { } else { ctx.fireChannelRead(msg); } + // 读取完成后的消息释放 + ReferenceCountUtil.release(msg); } @Override diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java index 6640e2e26..288806a81 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java @@ -506,17 +506,10 @@ public class JT1078Controller { @Operation(summary = "JT-链路检测", security = @SecurityRequirement(name = JwtUtils.HEADER)) @Parameter(name = "phoneNumber", description = "设备编号", required = true) @GetMapping("/link-detection") - public WVPResult linkDetection(String phoneNumber){ + public Integer linkDetection(String phoneNumber){ log.info("[JT-链路检测] phoneNumber: {}", phoneNumber); - int result = service.linkDetection(phoneNumber); - if (result == 0) { - return WVPResult.success(result); - }else { - WVPResult fail = WVPResult.fail(ErrorCode.ERROR100); - fail.setData(result); - return fail; - } + return service.linkDetection(phoneNumber); } @Operation(summary = "JT-文本信息下发", security = @SecurityRequirement(name = JwtUtils.HEADER)) diff --git a/web/src/api/jtDevice.js b/web/src/api/jtDevice.js index bbc93b27b..0d6ffb286 100644 --- a/web/src/api/jtDevice.js +++ b/web/src/api/jtDevice.js @@ -228,5 +228,32 @@ export function setConfig(data) { data: data }) } +export function queryAttribute(phoneNumber) { + return request({ + method: 'get', + url: `/api/jt1078/attribute`, + params: { + phoneNumber: phoneNumber + } + }) +} +export function linkDetection(phoneNumber) { + return request({ + method: 'get', + url: `/api/jt1078/link-detection`, + params: { + phoneNumber: phoneNumber + } + }) +} +export function queryPosition(phoneNumber) { + return request({ + method: 'get', + url: `/api/jt1078/position-info`, + params: { + phoneNumber: phoneNumber + } + }) +} diff --git a/web/src/store/modules/jtDevice.js b/web/src/store/modules/jtDevice.js index e75dd766d..ed4e3554d 100644 --- a/web/src/store/modules/jtDevice.js +++ b/web/src/store/modules/jtDevice.js @@ -1,11 +1,11 @@ import { add, addChannel, controlPlayback, deleteDevice, - fillLight, getRecordTempUrl, - play, ptz, + fillLight, getRecordTempUrl, linkDetection, + play, ptz, queryAttribute, queryChannels, queryConfig, queryDeviceById, - queryDevices, queryRecordList, setConfig, startPlayback, + queryDevices, queryPosition, queryRecordList, setConfig, startPlayback, stopPlay, stopPlayback, update, updateChannel, wiper } from '@/api/jtDevice' @@ -210,6 +210,36 @@ const actions = { reject(error) }) }) + }, + queryAttribute({ commit }, phoneNumber) { + return new Promise((resolve, reject) => { + queryAttribute(phoneNumber).then(response => { + const { data } = response + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + linkDetection({ commit }, phoneNumber) { + return new Promise((resolve, reject) => { + linkDetection(phoneNumber).then(response => { + const { data } = response + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + queryPosition({ commit }, phoneNumber) { + return new Promise((resolve, reject) => { + queryPosition(phoneNumber).then(response => { + const { data } = response + resolve(data) + }).catch(error => { + reject(error) + }) + }) } } diff --git a/web/src/views/jtDevice/channel/index.vue b/web/src/views/jtDevice/channel/index.vue index 37e6f3573..502a84e59 100755 --- a/web/src/views/jtDevice/channel/index.vue +++ b/web/src/views/jtDevice/channel/index.vue @@ -57,7 +57,7 @@ @@ -148,17 +146,21 @@ /> + +