Files
ThingsGateway/doc/build/assets/js/002eb06a.c9619b84.js
Kimdiego2098 d85813c229 更新文档
2024-01-21 16:07:56 +08:00

1 line
5.9 KiB
JavaScript

"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[1855],{6076:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var a=n(7462),i=(n(7294),n(3905));n(4996),n(510),n(2969);const r={id:502,title:"\u811a\u672c\u5e38\u89c1\u95ee\u9898"},s=void 0,l={unversionedId:"502",id:"502",title:"\u811a\u672c\u5e38\u89c1\u95ee\u9898",description:"\u4e00\u3001\u811a\u672c\u793a\u4f8b",source:"@site/docs/502.mdx",sourceDirName:".",slug:"/502",permalink:"/thingsgateway-docs/docs/502",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/doc/docs/502.mdx",tags:[],version:"current",lastUpdatedBy:"Kimdiego2098",lastUpdatedAt:1705822711,formattedLastUpdatedAt:"Jan 21, 2024",frontMatter:{id:"502",title:"\u811a\u672c\u5e38\u89c1\u95ee\u9898"},sidebar:"docs",previous:{title:"\u5e38\u89c1\u95ee\u9898",permalink:"/thingsgateway-docs/docs/501"},next:{title:"\u91c7\u96c6\u63d2\u4ef6\u5f00\u53d1",permalink:"/thingsgateway-docs/docs/601"}},o={},d=[{value:"\u4e00\u3001\u811a\u672c\u793a\u4f8b",id:"\u4e00\u811a\u672c\u793a\u4f8b",level:2},{value:"\u4e8c\u3001\u9002\u914d\u963f\u91cc\u4e91\u7269\u6a21\u578b\u811a\u672c",id:"\u4e8c\u9002\u914d\u963f\u91cc\u4e91\u7269\u6a21\u578b\u811a\u672c",level:2},{value:"\u53d8\u91cf\u811a\u672c",id:"\u53d8\u91cf\u811a\u672c",level:3},{value:"\u4f20\u8f93\u4e3b\u9898",id:"\u4f20\u8f93\u4e3b\u9898",level:3}],m={toc:d},u="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,a.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"\u4e00\u811a\u672c\u793a\u4f8b"},"\u4e00\u3001\u811a\u672c\u793a\u4f8b"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"\n//\u53d8\u91cf\u811a\u672c\u52a8\u6001\u8bbe\u7f6e\u4f20\u8f93\u5b9e\u4f53\u7684Demo\n//\u53ea\u4f20\u8f93\u53d8\u91cf\u540d\u79f0\uff0c\u53d8\u91cf\u503c\uff0c\u53d8\u91cf\u5728\u7ebf\u72b6\u6001\uff0c\u53d8\u91cf\u503c\u6539\u53d8\u65f6\u95f4\n public class DemoScript:IDynamicModel\n {\n public IEnumerable<dynamic> GetList(IEnumerable<dynamic> datas)\n {\n List<DemoData> demoDatas = new List<DemoData>();\n foreach (var data in datas)\n {\n DemoData demoData = new DemoData();\n demoData.Value = data.Value;\n demoData.Name = data.Name;\n demoData.IsOnline = data.IsOnline;\n demoData.ChangeTime = data.ChangeTime;\n demoDatas.Add(demoData);\n }\n return demoDatas;\n }\n }\n public class DemoData\n {\n public string Name { get; set; }\n public bool IsOnline { get; set; }\n public object Value { get; set; }\n public DateTime ChangeTime { get; set; }\n }\n\n")),(0,i.kt)("h2",{id:"\u4e8c\u9002\u914d\u963f\u91cc\u4e91\u7269\u6a21\u578b\u811a\u672c"},"\u4e8c\u3001\u9002\u914d\u963f\u91cc\u4e91\u7269\u6a21\u578b\u811a\u672c"),(0,i.kt)("p",null,"\u5bf9\u5e94\u6587\u6863\uff1a",(0,i.kt)("a",{parentName:"p",href:"https://help.aliyun.com/zh/iot/user-guide/data-formats?spm=a2c4g.11186623.0.i17#section-jrb-lrl-b2b"},"\u963f\u91cc\u4e91\u8bbe\u5907\u5c5e\u6027\u4e0a\u62a5")),(0,i.kt)("h3",{id:"\u53d8\u91cf\u811a\u672c"},"\u53d8\u91cf\u811a\u672c"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"\n//\u4e00\u4e2a\u9002\u914d\u963f\u91cc\u4e91IOT\u7684\u53d8\u91cf\u811a\u672cdemo\n\n\npublic class AliYunIotScript:IDynamicModel\n{\n public IEnumerable<dynamic> GetList(IEnumerable<dynamic> datas)\n {\n List<AliYunIot> aliYunIots = new();\n // \u5bf9\u8f93\u5165\u5217\u8868\u8fdb\u884c\u5206\u7ec4\uff0c\u6839\u636e Remark1\u5c5e\u6027\u5206\u7ec4\n var groups = datas.Where(a => !string.IsNullOrEmpty(a.Remark1)).GroupBy(a => a.Remark1);\n // \u904d\u5386\u6bcf\u4e00\u4e2a\u5206\u7ec4\n foreach (var item in groups)\n {\n var requestId = Yitter.IdGenerator.YitIdHelper.NextId();\n var iotId = item.Key; //Remark1\u81ea\u5b9a\u4e49\u4e3a\u8bbe\u5907Id\n var productKey = item.FirstOrDefault(a => !string.IsNullOrEmpty(a.Remark2))?.Remark2;//Remark2\u81ea\u5b9a\u4e49\u4e3a\u4ea7\u54c1Id\n var deviceName = item.FirstOrDefault(a => !string.IsNullOrEmpty(a.Remark3))?.Remark3;//Remark3\u81ea\u5b9a\u4e49\u4e3a\u8bbe\u5907\u540d\u79f0\n AliYunIot aliYunIot = new();\n aliYunIot.iotId = iotId;\n aliYunIot.requestId = requestId.ToString();\n aliYunIot.deviceName = deviceName;\n aliYunIot.productKey = productKey;\n // \u904d\u5386\u5206\u7ec4\u5185\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\n foreach (var varItem in item)\n {\n\n // \u8bbe\u7f6e\u91c7\u96c6\u65f6\u95f4\uff0c\u5e76\u8f6c\u6362\u4e3a Unix \u65f6\u95f4\u6233\n // \u8bbe\u7f6e\u503c\n var data = new Property() { value = varItem.Value, time = new DateTimeOffset(varItem.CollectTime).ToUnixTimeSeconds() };\n // \u4ee5 \u53d8\u91cf\u540d\u79f0 \u4f5c\u4e3a\u952e\uff0c\u5c06\u65b0\u5bf9\u8c61\u6dfb\u52a0\u5230\u5206\u7ec4\u7684 \u5c5e\u6027 \u4e2d\n aliYunIot.items.Add(varItem.Name, data);\n \n }\n aliYunIots.Add(aliYunIot);\n }\n return aliYunIots;\n }\n\n \n}\n public class AliYunIot\n {\n public string iotId { get; set; }\n public string requestId { get; set; }\n public string productKey { get; set; }\n public string deviceName { get; set; }\n public Dictionary<string, Property> items { get; set; } = new();\n }\n\n public class Property\n {\n public object value { get; set; }\n public long time { get; set; }\n }\n\n\n\n")),(0,i.kt)("h3",{id:"\u4f20\u8f93\u4e3b\u9898"},"\u4f20\u8f93\u4e3b\u9898"),(0,i.kt)("p",null,"\u53d8\u91cfTopic \u586b\u5165 ",(0,i.kt)("inlineCode",{parentName:"p"},"/${productKey}/${deviceName}/thing/event/property/post")))}c.isMDXComponent=!0}}]);