From e3e4596f13d0710947fa2043b19a0bb9beb9e6ad Mon Sep 17 00:00:00 2001 From: tangfudong <280620913@qq.com> Date: Wed, 19 Jul 2023 10:52:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Anb=E9=80=8F=E4=BC=A0=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E8=B0=83=E8=AF=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../converter.js | 21 ++++++++++++------- .../comps/service/DeviceBehaviourService.java | 6 ++++-- .../src/main/resources/component.js | 2 +- .../src/main/resources/convert.js | 21 ++++++++++++------- 4 files changed, 31 insertions(+), 19 deletions(-) diff --git a/data/converters/50b0fdd0-9bc8-448d-a7cf-d3b1b4df944c/converter.js b/data/converters/50b0fdd0-9bc8-448d-a7cf-d3b1b4df944c/converter.js index 8439bf40..2910ee49 100644 --- a/data/converters/50b0fdd0-9bc8-448d-a7cf-d3b1b4df944c/converter.js +++ b/data/converters/50b0fdd0-9bc8-448d-a7cf-d3b1b4df944c/converter.js @@ -11,10 +11,9 @@ function getMid() { this.decode = function (msg) { var content = msg.content; var topic = content.topic; - var bytes = CRC.strToByte(content.payload); - + var bytes = arrayGroup(content.payload.params,2); + var byteData=content.payload.params; if (topic.endsWith("/thing/model/up_raw")) { - var byteData = ab2hex(bytes) var data = arrayGroup(byteData, 2); var params = {}; var uint8Array = new Uint8Array(bytes.length); @@ -170,7 +169,12 @@ this.encode = function (service, device) { var method = "thing.service."; var topic = "/sys/" + service.productKey + "/" + service.deviceName + "/thing/model/down_raw"; var params = {}; - + var payloadArray = []; + var deviceArray = [];; + var totalArray =[]; + var totalItemArray = []; + var itemArray = []; + var outFFIndex = '' var type = service.type; var identifier = service.identifier; if (type == "property" && identifier == "get") { @@ -195,6 +199,7 @@ this.encode = function (service, device) { for (var p in service.params) { params[p] = service.params[p]; } + var paramsArr = Object.keys(params) //站地址 if (paramsArr.includes('query')) { let queryHexData = arrayGroup(params['query'],2) @@ -465,14 +470,14 @@ CRC.ToModbusCRC16 = function (str) { }; CRC.strToByte = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var j = encodeURI(tmp[i]); if (j.length == 1) { arr.push(j.charCodeAt()); } else { - var b = j.split('%'); + var b = j.split("%"); for (var m = 1; m < b.length; m++) { arr.push(parseInt('0x' + b[m])); } @@ -482,7 +487,7 @@ CRC.strToByte = function (str) { }; CRC.convertChinese = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var s = tmp[i].charCodeAt(); @@ -496,7 +501,7 @@ CRC.convertChinese = function (str) { }; CRC.filterChinese = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var s = tmp[i].charCodeAt(); diff --git a/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/service/DeviceBehaviourService.java b/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/service/DeviceBehaviourService.java index 28da2100..90cc60d2 100755 --- a/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/service/DeviceBehaviourService.java +++ b/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/service/DeviceBehaviourService.java @@ -17,11 +17,13 @@ import cc.iotkit.common.utils.JsonUtils; import cc.iotkit.common.utils.UniqueIdUtil; import cc.iotkit.comp.model.DeviceState; import cc.iotkit.comp.model.RegisterInfo; -import cc.iotkit.data.manager.*; +import cc.iotkit.data.manager.IDeviceInfoData; +import cc.iotkit.data.manager.IDeviceOtaDetailData; +import cc.iotkit.data.manager.IProductData; +import cc.iotkit.data.manager.IProductModelData; import cc.iotkit.model.device.DeviceInfo; import cc.iotkit.model.device.message.ThingModelMessage; import cc.iotkit.model.ota.DeviceOtaDetail; -import cc.iotkit.model.ota.DeviceOtaInfo; import cc.iotkit.model.product.Product; import cc.iotkit.model.product.ProductModel; import cc.iotkit.mq.MqProducer; diff --git a/iot-components/iot-nb-component/src/main/resources/component.js b/iot-components/iot-nb-component/src/main/resources/component.js index 7c97759a..9f964b80 100644 --- a/iot-components/iot-nb-component/src/main/resources/component.js +++ b/iot-components/iot-nb-component/src/main/resources/component.js @@ -127,7 +127,7 @@ function register(payload) { var pwd = md5(product.getProductSecret() + auth.clientid); if (pwd.toLocaleLowerCase() != auth.password.toLocaleLowerCase()) { - throw new Error("incorrect password" + "pwd->" + pwd + " productSecret->" + product.productSecret); + throw new Error("incorrect password" + "pwd->" + pwd + " productSecret->" + product.getProductSecret()); } return { type: "register", diff --git a/iot-components/iot-nb-component/src/main/resources/convert.js b/iot-components/iot-nb-component/src/main/resources/convert.js index 8439bf40..2910ee49 100644 --- a/iot-components/iot-nb-component/src/main/resources/convert.js +++ b/iot-components/iot-nb-component/src/main/resources/convert.js @@ -11,10 +11,9 @@ function getMid() { this.decode = function (msg) { var content = msg.content; var topic = content.topic; - var bytes = CRC.strToByte(content.payload); - + var bytes = arrayGroup(content.payload.params,2); + var byteData=content.payload.params; if (topic.endsWith("/thing/model/up_raw")) { - var byteData = ab2hex(bytes) var data = arrayGroup(byteData, 2); var params = {}; var uint8Array = new Uint8Array(bytes.length); @@ -170,7 +169,12 @@ this.encode = function (service, device) { var method = "thing.service."; var topic = "/sys/" + service.productKey + "/" + service.deviceName + "/thing/model/down_raw"; var params = {}; - + var payloadArray = []; + var deviceArray = [];; + var totalArray =[]; + var totalItemArray = []; + var itemArray = []; + var outFFIndex = '' var type = service.type; var identifier = service.identifier; if (type == "property" && identifier == "get") { @@ -195,6 +199,7 @@ this.encode = function (service, device) { for (var p in service.params) { params[p] = service.params[p]; } + var paramsArr = Object.keys(params) //站地址 if (paramsArr.includes('query')) { let queryHexData = arrayGroup(params['query'],2) @@ -465,14 +470,14 @@ CRC.ToModbusCRC16 = function (str) { }; CRC.strToByte = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var j = encodeURI(tmp[i]); if (j.length == 1) { arr.push(j.charCodeAt()); } else { - var b = j.split('%'); + var b = j.split("%"); for (var m = 1; m < b.length; m++) { arr.push(parseInt('0x' + b[m])); } @@ -482,7 +487,7 @@ CRC.strToByte = function (str) { }; CRC.convertChinese = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var s = tmp[i].charCodeAt(); @@ -496,7 +501,7 @@ CRC.convertChinese = function (str) { }; CRC.filterChinese = function (str) { - var tmp = str.split(''), + var tmp = str.split(""), arr = []; for (var i = 0, c = tmp.length; i < c; i++) { var s = tmp[i].charCodeAt();