Jelajahi Sumber

添加mqtt组件发布包

xiwa 3 tahun lalu
induk
melakukan
a0ba645c13

+ 1 - 2
.gitignore

@@ -26,5 +26,4 @@ target
 *.iml
 *.yml
 log
-components
-data
+data/elasticsearch

File diff ditekan karena terlalu besar
+ 0 - 0
data/components/eabb131d-8fd1-43a8-88d9-a198abfd3d42/component.js


+ 140 - 0
data/converters/6260396d67aced2696184053/converter.js

@@ -0,0 +1,140 @@
+
+var mid=1;
+
+function getMid(){
+  mid++;
+  if(mid>10000){
+	mid=1;
+  }
+  return mid+"";
+}
+
+this.decode = function (msg) {
+  //对msg进行解析,并返回物模型数据
+  var content=msg.content;
+  var topic = content.topic;
+  var payload = content.payload;
+  var identifier = topic.substring(topic.lastIndexOf("/") + 1);
+  
+  //透传上报
+  if(topic.endsWith("/event/rawReport")){
+	var rst= component.transparentDecode(payload.params);
+	if(!rst){
+	  return null;
+	}
+	rst.occur=new Date().getTime();
+	rst.time=new Date().getTime();
+	return rst;
+  }
+
+  if (topic.endsWith("/property/post")) {
+	//属性上报
+	return {
+	  mid: msg.mid,
+	  productKey: msg.productKey, 
+	  deviceName: msg.deviceName,
+	  type:"property",
+	  identifier: "report", //属性上报
+	  occur: new Date().getTime(), //时间戳,设备上的事件或数据产生的本地时间
+	  time: new Date().getTime(), //时间戳,消息上报时间
+	  data: payload.params,
+	};
+  } else if (topic.indexOf("/event/") > 0) {
+	//事件上报
+	return {
+	  mid: msg.mid,
+	  productKey: msg.productKey,
+	  deviceName: msg.deviceName,
+	  type:"event",
+	  identifier: identifier,
+	  occur: new Date().getTime(),
+	  time: new Date().getTime(),
+	  data: payload.params,
+	};
+  }else if(topic.endsWith("/service/property/set_reply")){
+	//属性设置回复
+	return {
+	  mid: msg.mid,
+	  productKey: msg.productKey,
+	  deviceName: msg.deviceName,
+	  type:"property",
+	  identifier: identifier,
+	  occur: new Date().getTime(),
+	  time: new Date().getTime(),
+	  code: payload.code
+	};
+  } else if (topic.endsWith("_reply")) {
+	//服务回复
+	return {
+	  mid: msg.mid,
+	  productKey: msg.productKey,
+	  deviceName: msg.deviceName,
+	  type:"service",
+	  identifier: identifier,
+	  occur: new Date().getTime(),
+	  time: new Date().getTime(),
+	  code: payload.code,
+	  data: payload.data,
+	};
+  }
+  return null;
+};
+
+this.encode = function (service,device) {
+  var deviceMid=getMid();
+  var method="thing.service.";
+  var topic="/sys/"+service.productKey+"/"+service.deviceName+"/c/service/";
+  var params={};
+  
+  //透传下发
+  if(device.transparent){
+	var rst=component.transparentEncode(service,device);
+	topic="/sys/"+rst.productKey+"/"+rst.deviceName+"/c/service/rawSend";
+	params.model=rst.content.model;
+	params.mac=rst.content.mac;
+	params.data=rst.content.data;
+	
+	return {
+	  productKey:rst.productKey,
+	  deviceName:rst.deviceName,
+	  mid:rst.mid,
+	  content:{
+		topic:topic,
+		payload:JSON.stringify({
+		  id:rst.mid,
+		  method:method+"rawSend",
+		  params:params
+		})
+	  }
+	}
+	
+  }
+  
+  var type=service.type;
+  var identifier=service.identifier;
+
+  if(type=="property"){
+	method+="property."+identifier;
+	topic+="property/"+identifier;
+  }else if(type=="service"){
+	method+=identifier;
+	topic+=identifier;
+  }
+  for(var p in service.params){
+	params[p]=service.params[p];
+  }
+  
+  return {
+	productKey:service.productKey,
+	deviceName:service.deviceName,
+	mid:deviceMid,
+	content:{
+	  topic:topic,
+	  payload:JSON.stringify({
+		id:deviceMid,
+		method:method,
+		params:params
+	  })
+	}
+  }
+};

+ 1 - 1
oauth2-server/src/test/java/GenPwdSecret.java

@@ -6,7 +6,7 @@ public class GenPwdSecret {
     @Test
     public void gen() throws Exception {
         //生成密码加密内容
-        String secret = AuthUtil.enCryptPwd("guest123");
+        String secret = AuthUtil.enCryptPwd("iotkitadmin");
         System.out.println(secret);
         System.out.println(AuthUtil.checkPwd("guest123", secret));
     }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini