コード例 #1
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加方法("重启", q =>
            {
                if (重启 != null)
                {
                    重启();
                    return("");
                }
                throw new ApplicationException("该功能不支持");
            }, E角色.客户);
            _对象.添加方法("关闭", q =>
            {
                if (关闭 != null)
                {
                    关闭();
                    return("");
                }
                throw new ApplicationException("该功能不支持");
            }, E角色.客户);
            _对象.添加方法("查询版本记录", q =>
            {
                if (查询版本记录 != null)
                {
                    return(HJSON.序列化(查询版本记录()));
                }
                throw new ApplicationException("该功能不支持");
            }, E角色.客户);
            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #2
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("名称", () => 片.称, E角色.客户);
            _对象.添加属性("描述", () => 片.描述, E角色.客户);
            _对象.添加属性("版本号", () => 片.版本号, E角色.客户);
            _对象.添加属性("版本时间", () => 片.版本时间, E角色.客户);
            _对象.添加方法("查询", __实参列表 => HJSON.序列化(片), E角色.客户, null, null);
            _对象.添加方法("查询参数", __实参列表 => HJSON.序列化(参数列表), E角色.客户, null, null);

            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #3
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("已连接设备", () => HJSON.序列化(_登录缓存.Values.ToList()), E角色.客户, null);
            _对象.添加事件("已建立连接", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //IP, 端口号, 设备类型, 设备标识, 账号, 成功, 描述
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("IP", "string"),
                            new M子成员("端口号", "int"),
                            new M子成员("设备类型", "string"),
                            new M子成员("设备标识", "string"),
                            new M子成员("账号", "string"),
                        }
                    }
                }
            });
            _对象.添加事件("已断开连接", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //IP, 端口号, 设备类型, 设备标识, 账号, 成功, 描述
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("IP", "string"),
                            new M子成员("端口号", "int"),
                            new M子成员("设备类型", "string"),
                            new M子成员("设备标识", "string"),
                            new M子成员("账号", "string"),
                        }
                    }
                }
            });

            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #4
0
        static void Main()
        {
            H调试.初始化();
            IT服务端 __IT服务端 = FT通用访问工厂.创建服务端();

            H容器.注入 <IT服务端>(__IT服务端);
            H容器.注入 <IB基本状态, B基本状态>();
            H容器.注入 <IB业务, B业务>();
            H容器.注入 <IB调试信息, B调试信息>();
            var __对象 = new B测试().创建对象();

            __IT服务端.添加对象("测试", () => __对象);

            __IT服务端.端口 = 8888;
            __IT服务端.开启();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            F主窗口 = new F主窗口();
            Application.Run(F主窗口);
        }
コード例 #5
0
ファイル: IBGPS过滤.cs プロジェクト: xiaomiwk/K_gps
        private void 配置通用访问(string __对象名称)
        {
            var __对象 = new M对象(__对象名称, null);

            __对象.添加属性("启用", () => _MGPS过滤.启用.ToString(), E角色.工程);
            __对象.添加属性("省", () => _MGPS过滤.省, E角色.工程);
            __对象.添加属性("市", () => _MGPS过滤.市, E角色.工程);
            __对象.添加方法("设置", q =>
            {
                _MGPS过滤.启用 = bool.Parse(q["启用"]);
                _MGPS过滤.省  = q["省"];
                _MGPS过滤.市  = q["市"];
                H程序配置.设置("GPS过滤", HJSON.序列化(_MGPS过滤, false).Replace('"', '\''));
                设置区域(_MGPS过滤.省, _MGPS过滤.市);
                return(null);
            }, E角色.工程, new List <M形参> {
                new M形参("启用", "bool"), new M形参("省", "string"), new M形参("市", "string")
            });
            _IT服务端.添加对象(__对象名称, () => __对象);
        }
コード例 #6
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("支持", () => 支持.ToString(), E角色.客户, null);
            _对象.添加属性("运行中", () => 运行中.ToString(), E角色.客户, null);
            _对象.添加属性("端口号", () => 端口号.ToString(), E角色.客户, null);
            _对象.添加属性("目录路径", () => H路径.序目录, E角色.客户, null);
            _对象.添加属性("编码", () => "GB2312", E角色.客户, null);
            _对象.添加方法("开启", __实参列表 =>
            {
                开启();
                return("");
            }, E角色.客户, null, null);
            _对象.添加方法("关闭", __实参列表 =>
            {
                关闭();
                return("");
            }, E角色.客户, null, null);
            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #7
0
        public void 配置()
        {
            INET.H日志输出.设置(q => Console.WriteLine(string.Format("{0}\t{1}\t{2}\n{3}\t{4}({5})\n{6}", q.等级, q.概要, q.详细, q.文件, q.方法, q.行号, q.异常)));
            _IT服务端 = FT通用访问工厂.创建服务端();

            var __命令行   = new B命令行();
            var __命令行对象 = 创建对象(_IT服务端, __命令行);

            _IT服务端.添加对象("命令行", () => __命令行对象);

            var __进程管理   = new B进程管理();
            var __进程管理对象 = 创建对象(_IT服务端, __进程管理);

            _IT服务端.添加对象("进程管理", () => __进程管理对象);

            var __FTP   = new BFTP();
            var __FTP对象 = 创建对象(_IT服务端, __FTP);

            _IT服务端.添加对象("FTP", () => __FTP对象);

            var __链路监控配置 = HJSON.反序列化 <M链路监控配置>(File.ReadAllText(H路径.获取绝对路径("链路监控配置.txt"), Encoding.UTF8));
            var __链路监控   = new B链路监控(__链路监控配置);
            var __链路监控对象 = 创建对象(_IT服务端, __链路监控);

            _IT服务端.添加对象("链路监控", () => __链路监控对象);

            var __进程监控配置 = HJSON.反序列化 <M进程监控配置>(File.ReadAllText(H路径.获取绝对路径("进程监控配置.txt"), Encoding.UTF8));
            var __进程监控   = new B进程监控(__进程监控配置);
            var __进程监控对象 = 创建对象(_IT服务端, __进程监控);

            _IT服务端.添加对象("进程监控", () => __进程监控对象);

            var __资源监控配置 = HJSON.反序列化 <M资源监控配置>(File.ReadAllText(H路径.获取绝对路径("资源监控配置.txt"), Encoding.UTF8));
            var __资源监控   = new B资源监控(__资源监控配置);
            var __资源监控对象 = 创建对象(_IT服务端, __资源监控);

            _IT服务端.添加对象("资源监控", () => __资源监控对象);

            var __业务日志对象 = 创建对象(_IT服务端);

            _IT服务端.添加对象("业务日志", () => __业务日志对象);
        }
コード例 #8
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("已登录设备", () => HJSON.序列化(_登录缓存.Values.ToList()), E角色.客户, null);
            _对象.添加方法("登录", (__实参列表, __地址) =>
            {
                var __条件 = HJSON.反序列化 <M登录请求>(__实参列表["请求参数"]);
                登录(__条件, __地址);
                return("");
            }, E角色.客户, new List <M形参> {
                new M形参 {
                    称 = "请求参数", 元数据 = new M元数据
                    {
                        //设备类型, 设备标识, 账号, 密码
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("设备类型", "string"),
                            new M子成员("设备标识", "string"),
                            new M子成员("账号", "string"),
                            new M子成员("密码", "string"),
                        }
                    }
                }
            }, null);
            _对象.添加方法("查询登录", (__实参列表, __地址) =>
            {
                IPAddress __IP = null;
                IPAddress.TryParse(__实参列表["IP"], out __IP);
                int?__端口号 = null;
                if (!string.IsNullOrEmpty(__实参列表["端口号"]))
                {
                    __端口号 = int.Parse(__实参列表["端口号"]);
                }
                var __结果 = 查询(__IP, __端口号, __实参列表["账号"]);
                return(HJSON.序列化(__结果));
            }, E角色.客户, new List <M形参> {
                new M形参("IP", "string"), new M形参("端口号", new M元数据("int?")
                {
                    描述 = "可为空"
                })
            }, null);
            _对象.添加方法("注销", (__实参列表, __地址) =>
            {
                注销(__地址);
                return("");
            }, E角色.客户, null, null);

            _对象.添加事件("登录完毕", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //IP, 端口号, 设备类型, 设备标识, 账号, 成功, 描述
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("IP", "string"),
                            new M子成员("端口号", "int"),
                            new M子成员("设备类型", "string"),
                            new M子成员("设备标识", "string"),
                            new M子成员("账号", "string"),
                            new M子成员("成功", "string"),
                            new M子成员("描述", "string"),
                        }
                    }
                }
            });
            _对象.添加事件("注销完毕", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("IP", "string"),
                            new M子成员("端口号", "int"),
                            new M子成员("设备类型", "string"),
                            new M子成员("设备标识", "string"),
                            new M子成员("账号", "string"),
                        }
                    }
                }
            });
            _对象.添加方法("修改密码", __实参列表 =>
            {
                var __旧密码 = __实参列表["旧密码"];
                var __新密码 = __实参列表["新密码"];
                修改密码(__旧密码, __新密码);
                return(null);
            }, E角色.客户, new List <M形参> {
                new M形参("旧密码", "string"), new M形参("新密码", "string")
            });
            _对象.添加方法("增加账号", (__实参列表, __地址) =>
            {
                var __当前账号 = 查询账号(__地址);
                if (__当前账号 == null || __当前账号.账号 != "admin")
                {
                    throw new ApplicationException("无权限");
                }
                var __账号 = __实参列表["账号"];
                var __密码 = __实参列表["密码"];
                var __备注 = __实参列表["备注"];
                增加账号(__账号, __密码, __备注);
                return(null);
            }, E角色.客户, new List <M形参> {
                new M形参("账号", "string"), new M形参("密码", "string"), new M形参("备注", "string")
            });
            _对象.添加方法("删除账号", (__实参列表, __地址) =>
            {
                var __当前账号 = 查询账号(__地址);
                if (__当前账号 == null || __当前账号.账号 != "admin")
                {
                    throw new ApplicationException("无权限");
                }
                var __账号 = __实参列表["账号"];
                除账号(__账号);
                return(null);
            }, E角色.客户, new List <M形参> {
                new M形参("账号", "string")
            });
            _对象.添加方法("修改账号", (__实参列表, __地址) =>
            {
                var __当前账号 = 查询账号(__地址);
                if (__当前账号 == null || __当前账号.账号 != "admin")
                {
                    throw new ApplicationException("无权限");
                }
                var __账号 = __实参列表["账号"];
                var __备注 = __实参列表["备注"];
                修改账号(__账号, __备注);
                return(null);
            }, E角色.客户, new List <M形参> {
                new M形参("账号", "string"), new M形参("备注", "string")
            });
            _对象.添加方法("查询账号", (__实参列表, __地址) =>
            {
                var __当前账号 = 查询账号(__地址);
                if (__当前账号 == null || __当前账号.账号 != "admin")
                {
                    throw new ApplicationException("无权限");
                }
                var __账号 = __实参列表["账号"];
                var __备注 = __实参列表["备注"];
                return(HJSON.序列化(查询账号(__账号, __备注)));
            }, E角色.客户, new List <M形参> {
                new M形参("账号", "string"), new M形参("备注", "string")
            });


            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #9
0
        private void 配置通用访问(string __对象名称)
        {
            var __对象 = new M对象(__对象名称, null);

            __对象.添加方法("查询轨迹", __实参列表 =>
            {
                var __条件  = HJSON.反序列化 <M轨迹查询条件>(__实参列表["条件"]);
                var __字符串 = HJSON.序列化(查询轨迹(__条件));
                //return __字符串;
                return(H序列化.AES压缩(__字符串));
            }, E角色.客户, new List <M形参> {
                new M形参("条件", new M元数据()
                {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("号码", "string"),
                        new M子成员("开始时间", "string"),
                        new M子成员("结束时间", "string"),
                        new M子成员("页数", "int"),
                        new M子成员("每页数量", "int"),
                    }
                })
            });
            __对象.添加方法("查询最后位置", __实参列表 =>
            {
                var __条件  = HJSON.反序列化 <M最后位置查询条件>(__实参列表["条件"]);
                var __字符串 = HJSON.序列化(查询最后位置(__条件));
                return(H序列化.AES压缩(__字符串));
            }, E角色.客户, new List <M形参> {
                new M形参("条件", new M元数据()
                {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("号码列表", "string", E数据结构.单值数组),
                        new M子成员("页数", "int?"),
                        new M子成员("每页数量", "int?"),
                    }
                })
            });
            __对象.添加方法("查询活跃号码", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M活跃号码查询条件>(__实参列表["条件"]);
                return(HJSON.序列化(查询活跃号码(__条件)));
            }, E角色.客户, new List <M形参> {
                new M形参("条件", new M元数据()
                {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("开始时间", "string"),
                        new M子成员("结束时间", "string"),
                        new M子成员("号码列表", "string", E数据结构.单值数组),
                    }
                })
            }, new M元数据 {
                结构 = E数据结构.对象, 子成员列表 = new List <M子成员> {
                    new M子成员("总数", "string"), new M子成员("号码列表", "string", E数据结构.单值数组),
                }
            });
            __对象.添加方法("统计活跃号码", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M活跃号码查询条件>(__实参列表["条件"]);
                return(HJSON.序列化(统计活跃号码(__条件)));
            }, E角色.客户, new List <M形参> {
                new M形参("条件", new M元数据()
                {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("开始时间", "string"),
                        new M子成员("结束时间", "string"),
                        new M子成员("号码列表", "string", E数据结构.单值数组),
                    }
                })
            }, new M元数据("int"));
            __对象.添加方法("统计频率", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M频率统计条件>(__实参列表["条件"]);
                return(HJSON.序列化(统计频率(__条件)));
            }, E角色.客户, new List <M形参> {
                new M形参("条件", new M元数据()
                {
                    结构 = E数据结构.单值, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("开始时间", "string"),
                        new M子成员("结束时间", "string"),
                        new M子成员("号码列表", "string", E数据结构.单值数组),
                    }
                })
            }, new M元数据("float")
            {
                描述 = "(秒/次)"
            });
            _IT服务端.添加对象(__对象名称, () => __对象);
        }
コード例 #10
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加方法("查询日志文件", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M日志文件查询条件>(__实参列表["过滤参数"]);
                return(HJSON.序列化(查询日志文件列表(__条件)));
            }, E角色.客户, new List <M形参>
            {
                new M形参
                {
                    称   = "过滤参数",
                    元数据 = new M元数据
                    {
                        结构    = E数据结构.对象,
                        子成员列表 = new List <M子成员>
                        {
                            new M子成员("起始时间", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("结束时间", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                        }
                    }
                }
            });

            _对象.添加方法("删除日志文件", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <List <string> >(__实参列表["地址列表"]);
                return(HJSON.序列化(除日志文件列表(__条件)));
            }, E角色.客户, new List <M形参>
            {
                new M形参("地址列表", "string", E数据结构.单值数组)
            });

            _对象.添加方法("导出日志文件", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <List <string> >(__实参列表["地址列表"]);
                return(HJSON.序列化(导出日志文件列表(__条件)));
            }, E角色.客户, new List <M形参>
            {
                new M形参("地址列表", "string", E数据结构.单值数组)
            });

            _对象.添加方法("压缩日志文件", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <List <string> >(__实参列表["地址列表"]);
                string __下载地址;
                压缩日志文件列表(__条件, out __下载地址);
                return(__下载地址);
            }, E角色.客户, new List <M形参>
            {
                new M形参("地址列表", "string", E数据结构.单值数组)
            });

            _对象.添加方法("过滤工程日志", 设置工程日志过滤, E角色.客户, new List <M形参>
            {
                new M形参
                {
                    称   = "过滤参数",
                    元数据 = new M元数据
                    {
                        结构    = E数据结构.对象,
                        子成员列表 = new List <M子成员>
                        {
                            new M子成员("重要性", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("方向", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("对端设备类型", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("对端设备标识", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("业务类型", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                            new M子成员("业务标识", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("业务标签", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                            new M子成员("关键字", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                        }
                    }
                }
            });
            _对象.添加方法("过滤开发日志", 设置开发日志过滤, E角色.客户, new List <M形参>
            {
                new M形参
                {
                    称   = "过滤参数",
                    元数据 = new M元数据
                    {
                        结构    = E数据结构.对象,
                        子成员列表 = new List <M子成员>
                        {
                            new M子成员("重要性", new M元数据 {
                                类型 = "string", 描述 = "可为空"
                            }),
                            new M子成员("线程", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                            new M子成员("标题", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                            new M子成员("内容", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可为空"
                            }),
                        }
                    }
                }
            });

            _对象.添加事件("上报工程日志", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称   = "事件参数",
                    元数据 = new M元数据
                    {
                        //时间, 重要性, 方向(输入/输出), 对端设备类型, 对端设备名称, 业务类型, 业务标识, 业务标签[], 描述
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("时间", "string"),
                            new M子成员("重要性", "string"),
                            new M子成员("方向", "string"),
                            new M子成员("对端设备类型", "string"),
                            new M子成员("对端设备标识", "string"),
                            new M子成员("业务类型", "string"),
                            new M子成员("业务标识", "string"),
                            new M子成员("业务标签", new M元数据 {
                                类型 = "string", 结构 = E数据结构.单值数组, 描述 = "可选"
                            }),
                            new M子成员("描述", "string"),
                        }
                    }
                }
            });
            _对象.添加事件("上报开发日志", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //时间, 重要性, 模块, 函数, 线程, 描述, 文件及行号
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("时间", "string"),
                            new M子成员("重要性", "string"),
                            new M子成员("线程", "string"),
                            new M子成员("标题", "string"),
                            new M子成员("内容", "string"),
                        }
                    }
                }
            });
            //_对象.添加事件("日志压缩完毕", E角色.客户, new List<M形参>
            //{
            //    new M形参{ 名称 = "事件参数", 元数据 = new M元数据
            //    {
            //        //时间, 重要性, 模块, 函数, 线程, 描述, 文件及行号
            //        结构 = E数据结构.行, 子成员列表 = new List<M子成员>
            //        {
            //            new M子成员("成功", "bool"),
            //            new M子成员("描述", "string"),
            //            new M子成员("相对路径","string"),
            //            new M子成员("下载地址", "string"),
            //        }
            //    }
            //    }
            //});
            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #11
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("概要状态", () => HJSON.序列化(查询业务概要(null, null)), E角色.客户, null);
            _对象.添加属性("启动时间", () => 启动时间.ToString(), E角色.客户, null);
            _对象.添加属性("健康状态", () => 健康状态.ToString(), E角色.客户, null);
            _对象.添加属性("状态开始时间", () => 状态开始时间.ToString(), E角色.客户, null);
            _对象.添加属性("未清除告警数量", () => _待处理问题.Count.ToString(), E角色.客户, null);
            _对象.添加方法("查询概要状态", __实参列表 =>
            {
                return(HJSON.序列化(查询概要状态()));
            }, E角色.客户);
            _对象.添加方法("查询业务概要", __实参列表 =>
            {
                var __类别 = __实参列表["类别"];
                var __属性 = __实参列表["属性"];
                return(HJSON.序列化(查询业务概要(__类别, __属性)));
            }, E角色.客户, new List <M形参> {
                new M形参("类别", new M元数据 {
                    类型 = "string", 描述 = "可为空"
                }), new M形参("属性", new M元数据 {
                    类型 = "string", 描述 = "可为空"
                })
            }, null);
            _对象.添加方法("查询未清除告警", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M查询条件>(__实参列表["条件"]);
                return(HJSON.序列化(查询未清除告警(__条件)));
            }, E角色.客户, new List <M形参> {
                new M形参 {
                    称 = "条件", 元数据 = new M元数据
                    {
                        //每页数量, 页数, 来源设备类型(可选), 来源设备标识(可选), 类别(可选), 重要性(可选), 关键字(可选)
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("每页数量", "int"),
                            new M子成员("页数", "int"),
                            new M子成员("来源设备类型", new M元数据 {
                                类型 = "string", 描述 = "可选"
                            }),
                            new M子成员("来源设备标识", new M元数据 {
                                类型 = "string", 描述 = "可选"
                            }),
                            new M子成员("类别", new M元数据 {
                                类型 = "string", 描述 = "可选"
                            }),
                            new M子成员("重要性", new M元数据 {
                                类型 = "string", 描述 = "可选"
                            }),
                            new M子成员("关键字", new M元数据 {
                                类型 = "string", 描述 = "可选"
                            }),
                        }
                    }
                }
            }, null);
            _对象.添加事件("上报告警", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //标识, 来源设备类型, 来源设备标识, 产生时间, 类别, 重要性, 描述, 原因, 解决方案
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("标识", "string"),
                            new M子成员("来源设备类型", "string"),
                            new M子成员("来源设备标识", "string"),
                            new M子成员("产生时间", "string"),
                            new M子成员("类别", "string"),
                            new M子成员("重要性", "string"),
                            new M子成员("描述", "string"),
                            new M子成员("原因", "string"),
                            new M子成员("解决方案", "string"),
                        }
                    }
                }
            });
            _对象.添加事件("上报清除", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //标识, 来源设备类型, 来源设备标识
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("标识", "string"),
                            new M子成员("来源设备类型", "string"),
                            new M子成员("来源设备标识", "string"),
                        }
                    }
                }
            });
            _对象.添加事件("健康状态变化", E角色.客户, new List <M形参>
            {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        //标识, 来源设备类型, 来源设备标识
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("旧状态", "int"),
                            new M子成员("新状态", "int"),
                        }
                    }
                }
            });

            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #12
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("支持发送点名", () => 支持发送点名.ToString(), E角色.客户, null);
            _对象.添加属性("支持点名响应", () => 支持点名响应.ToString(), E角色.客户, null);
            _对象.添加属性("点名请求地址", () => _请求地址.ToString(), E角色.客户, null);
            _对象.添加属性("事件上报地址", () => _响应地址.ToString(), E角色.客户, null);
            _对象.添加方法("点名", __实参列表 =>
            {
                var __条件 = HJSON.反序列化 <M点名条件>(__实参列表["点名条件"]);
                点名(__条件);
                return("");
            }, E角色.客户, new List <M形参> {
                new M形参 {
                    称 = "点名条件", 元数据 = new M元数据
                    {
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("参数列表", new M元数据 {
                                结构 = E数据结构.对象数组, 子成员列表 = new List <M子成员>
                                {
                                    new M子成员("名称", "string"),
                                    new M子成员("值", "int"),
                                }
                            }),
                            new M子成员("状态概要", new M元数据 {
                                结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                                {
                                    new M子成员("健康状态", "string"),
                                    new M子成员("未清除告警数量", "int"),
                                    new M子成员("启动时间", "string"),
                                    new M子成员("状态开始时间", "string"),
                                }
                            }),
                        }
                    }
                }
            }, null);

            _对象.添加事件("设备事件上报", E角色.客户, new List <M形参> {
                new M形参 {
                    称 = "事件参数", 元数据 = new M元数据
                    {
                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                        {
                            new M子成员("地址", "string"),
                            new M子成员("类型", "string"),
                            new M子成员("参数", new M元数据
                            {
                                结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                                {
                                    new M子成员("参数列表", new M元数据 {
                                        结构 = E数据结构.对象数组, 子成员列表 = new List <M子成员>
                                        {
                                            new M子成员("名称", "string"),
                                            new M子成员("值", "int"),
                                        }
                                    }),
                                    new M子成员("状态概要", new M元数据 {
                                        结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                                        {
                                            new M子成员("健康状态", "string"),
                                            new M子成员("未清除告警数量", "int"),
                                            new M子成员("启动时间", "string"),
                                            new M子成员("状态开始时间", "string"),
                                        }
                                    }),
                                }
                            }),
                        }
                    }
                }
            });

            _IT服务端.添加对象(_对象名称, () => _对象);
        }
コード例 #13
0
        private void 配置通用访问()
        {
            var _对象 = new M对象(_对象名称, "通用服务");

            _对象.添加属性("支持", () => 支持.ToString(), E角色.客户, null);
            _对象.添加属性("默认端口号", () => 默认端口号.ToString(), E角色.客户, null);
            _对象.添加方法("请求上传", __实参列表 =>
            {
                var __版本 = HJSON.反序列化 <M请求上传>(__实参列表["版本"]);
                请求上传(__版本);
                return(null);
            }, E角色.客户, new List <M形参>
            {
                new M形参("版本", new M元数据 {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        new M子成员("版本号", "string"),
                        new M子成员("标签", "string", E数据结构.单值数组),
                        new M子成员("文件名", "string"),
                        new M子成员("补丁", "bool"),
                        new M子成员("md5校验码", "string"),
                        new M子成员("大小", new M元数据 {
                            类型 = "int", 描述 = "单位:KB"
                        }),
                    }
                })
            }, null);
            _对象.添加方法("结束上传", __实参列表 =>
            {
                结束上传();
                return(null);
            }, E角色.客户);

            _对象.添加方法("开始升级", __实参列表 =>
            {
                var __版本 = __实参列表["版本号"];
                开始升级(__版本);
                return(null);
            }, E角色.客户, new List <M形参>
            {
                new M形参("版本号", "string")
            }, null);
            _对象.添加方法("删除版本", __实参列表 =>
            {
                var __版本 = __实参列表["版本号"];
                除版本(__版本);
                return(null);
            }, E角色.客户, new List <M形参>
            {
                new M形参("版本号", "string")
            }, null);

            _对象.添加事件("准备好接收数据", E角色.客户, new List <M形参> {
                new M形参("事件参数", new M元数据 {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        //端口号,每包最大(单位KB),每包间隔(毫秒)
                        new M子成员("端口号", "int"),
                        new M子成员("每包最大", new M元数据 {
                            类型 = "int", 描述 = "单位:KB"
                        }),
                        new M子成员("每包间隔", new M元数据 {
                            类型 = "int", 描述 = "单位:毫秒"
                        }),
                    }
                })
            });
            _对象.添加事件("升级完成", E角色.客户, new List <M形参> {
                new M形参("事件参数", new M元数据 {
                    结构 = E数据结构.对象, 子成员列表 = new List <M子成员>
                    {
                        //成功(true/false), 描述, 需要重启(true/false)
                        new M子成员("成功", "bool"),
                        new M子成员("描述", "string"),
                        new M子成员("需要重启", "bool"),
                    }
                })
            });
            _IT服务端.添加对象(_对象名称, () => _对象);
        }