(window.webpackJsonp=window.webpackJsonp||[]).push([[319],{6477:function(t,s){t.exports="data:image/png;base64,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"},6478:function(t,s,a){t.exports=a.p+"assets/img/createExproc.aa8ee50c.gif"},6479:function(t,s,a){t.exports=a.p+"assets/img/exccmd.e73f6c64.png"},6480:function(t,s,a){t.exports=a.p+"assets/img/dsrw.8c200aae.png"},6481:function(t,s,a){t.exports=a.p+"assets/img/kzpz.06426b78.png"},6482:function(t,s){t.exports="data:image/png;base64,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"},8518:function(t,s,a){"use strict";a.r(s);var n=a(7),e=Object(n.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"扩展插件开发"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#扩展插件开发"}},[t._v("#")]),t._v(" 扩展插件开发")]),t._v(" "),s("CopyCodeComponent"),t._v(" "),s("p",[t._v("介绍拓展插件开发的基础知识和需要掌握的概念")]),t._v(" "),s("h2",{attrs:{id:"什么是扩展插件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#什么是扩展插件"}},[t._v("#")]),t._v(" 什么是扩展插件")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("什么是扩展插件")]),t._v(" "),s("p",[t._v("由于IoTCenter平台为一款功能比较稳定的标准化产品，而在实际项目过程中，有时我们可能会面临一些复杂场景，在这些场景下，应用功能无法完全满足已有业务需要，此时可以借助于扩展插件开发来实现一些丰富多彩的复杂功能。")]),t._v(" "),s("p",[t._v("如下列举了扩展插件常用的场景：")]),t._v(" "),s("ol",[s("li",[s("p",[t._v("部分物联网子系统，如海康威视等平台可通过回调的机制将数据推送到IoTCenter平台，需要提供一个固定的端口和HttpPost接口来接收其转发的实时事件数据。")])]),t._v(" "),s("li",[s("p",[t._v("客户想定时抄表，即每天0点定时将物联网平台中的所有实时数据进行汇总存储记录。")])]),t._v(" "),s("li",[s("p",[t._v("某项目对接了某些大数据平台，需实现新的设备上线后，自动将设备信息、设备的在线离线状态同步到该大数据平台。")])]),t._v(" "),s("li",[s("p",[t._v("定期或不定期向指定的邮箱发送物联网实时统计报表。")])]),t._v(" "),s("li",[s("p",[t._v("某些特殊行业常使用某些特殊协议实现主站和从站间同步特殊格式的物联实时数据，需要基于IoTCenter实现从站同步、实时数据转特殊格式。")])]),t._v(" "),s("li",[s("p",[t._v("在现有WebApi接口体系外，扩充新的WebApi接口等。")])])]),t._v(" "),s("p",[t._v("诸如此类，这些复杂多变的业务功能也正是物联网产品开发者所面临的场景需求中的典型范例，也是扩展插件的用武之地。")])]),t._v(" "),s("h2",{attrs:{id:"加载原理"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#加载原理"}},[t._v("#")]),t._v(" 加载原理")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("加载原理")]),t._v(" "),s("p",[s("img",{attrs:{src:a(6477),alt:"image-20210923141122503"}})]),t._v(" "),s("p",[t._v("服务进程启动时，将根据数据库表 GWExProc 的记录，逐项加载扩展动态库；如果你希望你开发的拓展库，能够被 IoTCenter调用，则需要在开发完毕后在 GWExProc 表中设置相应的参数。")]),t._v(" "),s("p",[t._v("GWExProc 表必须填写的字段如下：")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"left"}},[t._v("字段名称")]),t._v(" "),s("th",{staticStyle:{"text-align":"left"}},[t._v("描述")])])]),t._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"left"}},[t._v("Proc_Code")]),t._v(" "),s("td",{staticStyle:{"text-align":"left"}},[t._v("编号；主键")])]),t._v(" "),s("tr",[s("td",{staticStyle:{"text-align":"left"}},[t._v("Proc_Module")]),t._v(" "),s("td",{staticStyle:{"text-align":"left"}},[t._v(".NET类库名称；加载路径：/dll")])]),t._v(" "),s("tr",[s("td",{staticStyle:{"text-align":"left"}},[t._v("Proc_name")]),t._v(" "),s("td",{staticStyle:{"text-align":"left"}},[t._v("扩展动态库名称")])]),t._v(" "),s("tr",[s("td",{staticStyle:{"text-align":"left"}},[t._v("Proc_parm")]),t._v(" "),s("td",{staticStyle:{"text-align":"left"}},[t._v("初始化参数")])])])])]),t._v(" "),s("h2",{attrs:{id:"开发前提"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#开发前提"}},[t._v("#")]),t._v(" 开发前提")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("开发前提")]),t._v(" "),s("p",[s("strong",[t._v(".NET版本")])]),t._v(" "),s("p",[t._v("使用 .NET6.0  进行开发。")]),t._v(" "),s("p",[s("strong",[t._v("依赖项")])]),t._v(" "),s("p",[s("code",[t._v("GWDataCenter.dll >= 6.0.1")])])]),t._v(" "),s("h2",{attrs:{id:"开始"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#开始"}},[t._v("#")]),t._v(" 开始")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("开始")]),t._v(" "),s("ol",[s("li",[s("p",[t._v("打开 Visual Studio ,使用  .NET 6.0 新建一个类库项目，并将其命名为"),s("code",[t._v("IoTCenter.ExprocSample.STD")]),t._v(" 。")]),t._v(" "),s("p",[s("img",{attrs:{src:a(6478),alt:""}})])]),t._v(" "),s("li",[s("p",[t._v("通过Nuget包管理器，添加"),s("code",[t._v("GWDataCenter")]),t._v(" Nuget包依赖 。")])]),t._v(" "),s("li",[s("p",[t._v("引用命名空间 "),s("code",[t._v("GWDataCenter")]),t._v("，创建一个命名为"),s("code",[t._v("CExProc")]),t._v("的类，作为扩展插件的入口，并实现接口 "),s("code",[t._v("IExProcCmdHandle")]),t._v("。在这里，我们在初始化时输出了扩展动态库的名称及参数，在实际应用中，可自定义参数（proc_parm)格式。")]),t._v(" "),s("p",[t._v("完整代码：")]),t._v(" "),s("div",{staticClass:"language-cs extra-class"},[s("pre",{pre:!0,attrs:{class:"language-cs"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("CExProc")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token type-list"}},[s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("IExProcCmdHandle")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("string")])]),t._v(" InputArgs"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token return-type class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("bool")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("init")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("GWExProcTableRow")]),t._v(" Row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n        "),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")])]),t._v(" name "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Proc_name"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("ToString")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n        "),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")])]),t._v(" parm "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Proc_parm"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("ToString")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n        InputArgs "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token interpolation-string"}},[s("span",{pre:!0,attrs:{class:"token string"}},[t._v('$"扩展插件已加载，')]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token expression language-csharp"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("，")]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token expression language-csharp"}},[t._v("parm")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n        Console"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("WriteLine")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("InputArgs"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n        "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n    "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token return-type class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("void")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("SetParm")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("string")])]),t._v(" main_instruction"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("string")])]),t._v(" minor_instruction"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("string")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n        Console"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("WriteLine")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token interpolation-string"}},[s("span",{pre:!0,attrs:{class:"token string"}},[t._v('$"调用事件：')]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token expression language-csharp"}},[t._v("main_instruction")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v(",")]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token expression language-csharp"}},[t._v("minor_instruction")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v(",")]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token expression language-csharp"}},[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("value")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[s("strong",[t._v("说明：")])]),t._v(" "),s("ul",[s("li",[s("p",[t._v("init方法：扩展插件的初始化方法，可以在其中编写扩展插件的初始化语句。其参数GWExProcTableRow为GWExProc表的记录。")])]),t._v(" "),s("li",[s("p",[t._v("SetParm方法。用于扩展插件需要通过定时任务定时完成某些操作时的场景。使用此方法首先需要配置数据库中的GWExProcCmd表进行配置，需要注意的是GWExProcCmd表中的Proc_Code列的值关联GWExProc表的Proc_Code列。如下图所示：")]),t._v(" "),s("p",[s("img",{attrs:{src:a(6479),alt:""}})]),t._v(" "),s("p",[t._v("配置完成后在定时任务界面的系统控制项中会出现对应的控制项，如下图所示：")]),t._v(" "),s("p",[s("img",{attrs:{src:a(6480),alt:""}})])]),t._v(" "),s("li",[s("p",[t._v("注意:在上述代码中，初始化时输出了扩展动态库的名称及参数，扩展动态库的名称和参数需要在IoT平台的"),s("RouterLink",{attrs:{to:"/intro/2认识IoTCenter/2.3基础功能使用指南/2.3.18配置管理/"}},[t._v("配置管理-扩展插件管理")]),t._v("中进行配置。")],1)])])])])]),t._v(" "),s("h2",{attrs:{id:"安装插件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装插件"}},[t._v("#")]),t._v(" 安装插件")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("安装步骤")]),t._v(" "),s("ol",[s("li",[s("p",[t._v("选择 Visual Studio 的菜单栏，点击 "),s("strong",[t._v("生成")]),t._v(" -> "),s("strong",[t._v("生成解决方案")]),t._v("，若编译过程无错误，将生成我们的扩展动态库"),s("code",[t._v("IoTCenter.ExProc1.dll")]),t._v("。")])]),t._v(" "),s("li",[s("p",[t._v("将生成的扩展插件拷贝到 IoTCenter目录下的 dll 文件夹中。")])]),t._v(" "),s("li",[s("p",[t._v("在IoT平台的"),s("RouterLink",{attrs:{to:"/intro/2认识IoTCenter/2.3基础功能使用指南/2.3.18配置管理/"}},[t._v("配置管理-扩展插件管理")]),t._v("中进行扩展插件的配置安装，如下图所示：")],1),t._v(" "),s("p",[s("img",{attrs:{src:a(6481),alt:""}})]),t._v(" "),s("ul",[s("li",[s("p",[t._v("驱动文件：输入"),s("strong",[t._v("IoTCenter.ExprocSample.STD.dll")])])]),t._v(" "),s("li",[s("p",[t._v("功能名称：也就是扩展动态库名称，可以根据实际项目自定义填写，此处可以输入"),s("strong",[t._v("扩展插件Demo")]),t._v("。")])]),t._v(" "),s("li",[s("p",[t._v("参数：也就是初始化参数，是扩展插件运行需要的参数，若不涉及可以不填，此处可以输入"),s("strong",[t._v("Hello Word")]),t._v("。")])])])])])]),t._v(" "),s("h2",{attrs:{id:"查看效果"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看效果"}},[t._v("#")]),t._v(" 查看效果")]),t._v(" "),s("details",{staticClass:"custom-block details",attrs:{open:""}},[s("summary",[t._v("查看效果")]),t._v(" "),s("p",[t._v("如图所示，已加载了上述扩展插件。")]),t._v(" "),s("p",[s("img",{attrs:{src:a(6482),alt:"image-20210923150118852"}})])])],1)}),[],!1,null,null,null);s.default=e.exports}}]);