{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "FirmwareItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "mainVer": {
          "type": "number"
        },
        "verDetail": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "md5": {
                "type": "string"
              },
              "downloadUrl": {
                "type": "string"
              },
              "compress": {
                "type": "string"
              },
              "ver": {
                "type": "number"
              }
            }
          }
        },
        "depends": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "downloadUrl": {
                "type": "string"
              },
              "fileName": {
                "type": "string"
              },
              "md5": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "version": {
                "type": "number"
              },
              "type": {
                "type": "number"
              }
            }
          }
        },
        "boxTypes": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "remark": {
          "type": "string"
        }
      }
    },
    "FirmwareTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FirmwareItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        }
      }
    },
    "Column": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "dataIndex": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "index": {
          "type": "number"
        },
        "override": {
          "type": "boolean"
        },
        "hidden": {
          "type": "boolean"
        },
        "render": {}
      },
      "required": [
        "index"
      ]
    },
    "SelectItem": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "value": {}
      },
      "required": [
        "value"
      ]
    },
    "RegisterItem": {
      "description": "寄存器对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "寄存器ID",
          "type": "number"
        },
        "name": {
          "description": "寄存器名称",
          "type": "string"
        },
        "addressWidth": {
          "type": "number"
        },
        "addressWord": {
          "type": "string"
        },
        "attribute": {
          "type": "string"
        },
        "minAddress": {
          "type": "number"
        },
        "maxAddress": {
          "type": "number"
        },
        "hasSubAddress": {
          "type": "boolean"
        },
        "hasSubIndex": {
          "type": "boolean"
        },
        "bigEndian": {
          "type": "boolean"
        },
        "mainAddress": {
          "type": "number"
        },
        "mainAddrWidth": {
          "type": "number"
        },
        "mainType": {
          "type": "number"
        },
        "subType": {
          "type": "number"
        },
        "subAddressLength": {
          "type": "number"
        },
        "subIndexMax": {
          "type": "number"
        },
        "subIndexMin": {
          "type": "number"
        },
        "subIndexType": {
          "type": "number"
        }
      },
      "required": [
        "addressWidth"
      ]
    },
    "DriveItem": {
      "type": "object",
      "properties": {
        "assembleIntervalBitReg": {
          "type": "number"
        },
        "assembleIntervalWordReg": {
          "type": "number"
        },
        "byteOrder": {
          "type": "object",
          "properties": {
            "byteOrder16": {
              "type": "number"
            },
            "byteOrder32": {
              "type": "number"
            },
            "byteOrderFloat": {
              "type": "number"
            }
          }
        },
        "defaultStationNo": {
          "type": "number"
        },
        "deviceMode": {
          "type": "number"
        },
        "manufacturer": {
          "type": "string"
        },
        "maxPacketsBitReg": {
          "type": "number"
        },
        "maxPacketsWordReg": {
          "type": "number"
        },
        "maxStationNo": {
          "type": "number"
        },
        "minStationNo": {
          "type": "number"
        },
        "plcId": {
          "type": "number"
        },
        "plcName": {
          "type": "string"
        },
        "plcResponceTimeout": {
          "type": "number"
        },
        "protocolInterval": {
          "type": "number"
        },
        "protocolTimeout1": {
          "type": "number"
        },
        "protocolTimeout2": {
          "type": "number"
        },
        "registers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RegisterItem"
          }
        },
        "serial": {
          "type": "object",
          "properties": {
            "baudRate": {
              "type": "number"
            },
            "dataBits": {
              "type": "number"
            },
            "parity": {
              "type": "number"
            },
            "stopBits": {
              "type": "number"
            },
            "workMode": {
              "type": "number"
            }
          }
        },
        "ethernet": {
          "type": "object",
          "properties": {
            "ip": {
              "type": "string"
            },
            "port": {
              "type": "number"
            }
          }
        },
        "soFileMd5": {
          "type": "string"
        },
        "soFileUrl": {
          "type": "string"
        },
        "supportPlcs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportTag": {
          "type": "boolean"
        },
        "type": {
          "type": "number"
        }
      }
    },
    "ManufacturerItem": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "DriveTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DriveItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        }
      }
    },
    "Guid": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "FileItem": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "md5": {
          "type": "string"
        },
        "size": {
          "type": "string"
        },
        "downloadUrl": {
          "type": "string"
        },
        "checkUrl": {
          "type": "string"
        }
      }
    },
    "IFirmwareProvider": {
      "type": "object",
      "properties": {
        "onDefaultDriveLoad": {
          "type": "object"
        },
        "onManufacturersLoad": {
          "type": "object"
        },
        "onDrivesLoad": {
          "type": "object"
        },
        "onMqttDriveLoad": {
          "type": "object"
        },
        "onFirmwaresLoad": {
          "type": "object"
        },
        "onPlcDriveLoad": {
          "type": "object"
        }
      }
    },
    "IModuleConfig": {
      "type": "object",
      "properties": {
        "language": {
          "type": "string"
        },
        "exposedApiUrl": {
          "description": "后端接口地址",
          "type": "string"
        },
        "firmware": {
          "description": "固件及驱动配置",
          "type": "object",
          "properties": {
            "url": {
              "description": "API请求地址",
              "type": "string"
            },
            "secret": {
              "description": "用于请求的secret",
              "type": "string"
            },
            "provider": {
              "description": "Provider接口用于实现自定义接口请求",
              "$ref": "#/definitions/IFirmwareProvider"
            }
          }
        }
      },
      "required": [
        "firmware",
        "language"
      ]
    },
    "LocaleType": {
      "enum": [
        "en-US",
        "it-IT",
        "zh-CN",
        "zh-TW"
      ],
      "type": "string"
    },
    "TransferItem": {
      "type": "object",
      "additionalProperties": {},
      "properties": {
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean"
        }
      }
    },
    "MqttCombination": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "isDefault": {
          "type": "boolean"
        }
      }
    },
    "MqttTimestamp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "zone": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "isDefault": {
          "type": "boolean"
        },
        "enable": {
          "type": "boolean"
        }
      }
    },
    "MqttProtocol": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "MqttVariable": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "dataType": {
          "type": "number"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "PlcItem": {
      "description": "PLC对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "Id 一般作为主键(GUID)",
          "type": "string"
        },
        "manufacturer": {
          "description": "PLC驱动厂商",
          "type": "string"
        },
        "plcId": {
          "description": "cfg中的驱动Id PLC Id号(0表示为本地监控点)",
          "type": "number"
        },
        "plcName": {
          "description": "cfg中的驱动名称",
          "type": "string"
        },
        "alias": {
          "description": "别名",
          "type": "string"
        },
        "type": {
          "description": "通信类型(ethernet, serial, local[本地类型无驱动])",
          "type": "string"
        },
        "ethernet": {
          "description": "网络配置",
          "type": "object",
          "properties": {
            "ip": {
              "description": "IP地址",
              "type": "string"
            },
            "port": {
              "description": "端口",
              "type": "number"
            }
          }
        },
        "serial": {
          "description": "串口配置",
          "type": "object",
          "properties": {
            "portNo": {
              "description": "通讯参数(0:com1  1:com2 2:com3)",
              "type": "number"
            },
            "workMode": {
              "description": "工作模式(0:RS232 1:RS485_4W  2:RS485_2W)",
              "type": "number"
            },
            "baudRate": {
              "description": "波特率",
              "type": "number"
            },
            "dataBits": {
              "description": "数据位",
              "type": "number"
            },
            "stopBits": {
              "description": "停止位(0:None 1:One 2:Two 3:OneHanlf)",
              "type": "number"
            },
            "parity": {
              "description": "校验位(0:None 1:Odd 2:Even)",
              "type": "number"
            }
          }
        },
        "deviceMode": {
          "description": "设备模式(0:主模式 1：从模式)",
          "type": "number"
        },
        "slaveStationNo": {
          "description": "从设备站号",
          "type": "number"
        },
        "enableBroadcast": {
          "description": "是否启用广播站号",
          "type": "boolean"
        },
        "broadcastStationNo": {
          "description": "广播站号",
          "type": "number"
        },
        "advance": {
          "description": "高级选项",
          "type": "object",
          "properties": {
            "plcResponceTimeout": {
              "description": "PLC超时常数",
              "type": "number"
            },
            "protocolTimeout1": {
              "description": "协议超时常数1",
              "type": "number"
            },
            "protocolTimeout2": {
              "description": "协议超时常数2",
              "type": "number"
            },
            "maxPacketsWordReg": {
              "description": "字最大组包长度",
              "type": "number"
            },
            "maxPacketsBitReg": {
              "description": "位最大组包长度",
              "type": "number"
            },
            "assembleIntervalWordReg": {
              "description": "字组包间隔",
              "type": "number"
            },
            "assembleIntervalBitReg": {
              "description": "位组包间隔",
              "type": "number"
            },
            "protocolInterval": {
              "description": "通信时间间隔",
              "type": "number"
            },
            "byteOrder16": {
              "description": "16位字节序(0:21, 1:12)",
              "type": "number"
            },
            "byteOrder32": {
              "description": "32位字节序(0:4321, 1:3412, 2:2143, 3:1234)",
              "type": "number"
            },
            "byteOrderFloat": {
              "description": "32位浮点字节序(0:4321, 1:3412, 2:2143, 3:1234)",
              "type": "number"
            },
            "autoPackage": {
              "description": "自动组包",
              "type": "number"
            },
            "errMsgDispTime": {
              "description": "提醒信息显示时间",
              "type": "number"
            }
          }
        },
        "drive": {
          "description": "驱动文件",
          "type": "object",
          "properties": {
            "soFileUrl": {
              "description": "驱动so文件Url",
              "type": "string"
            },
            "soFileMd5": {
              "description": "驱动so文件MD5",
              "type": "string"
            }
          }
        },
        "registers": {
          "description": "寄存器列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/RegisterItem"
          }
        }
      }
    },
    "VariableItem": {
      "description": "变量配置对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id 一般作为主键(Guid)",
          "type": "string"
        },
        "name": {
          "description": "变量名称",
          "type": "string"
        },
        "description": {
          "description": "描述信息(下位机忽略)",
          "type": "string"
        },
        "deviceId": {
          "description": "关联的PLCId(对应PlcItem.id)",
          "type": "string"
        },
        "stationNo": {
          "description": "站号(本地监控点站号为0xff)",
          "type": "number"
        },
        "dataType": {
          "description": "数据类型(0:boolean, 1:uint16, 2:int16, 3:bcd16, 4:hex16, 5:binary16, 11:uint32, 12:int32, 13:bcd32, 14:hex32, 15:binary32, 16:single/float, 30:string)",
          "type": "number"
        },
        "stringSetting": {
          "description": "字符串编码设置",
          "type": "object",
          "properties": {
            "encoding": {
              "description": "编码类型 0:none 1:unicode 2:ascii",
              "type": "number"
            },
            "order": {
              "description": "高低字节转换",
              "type": "boolean"
            },
            "charCount": {
              "description": "字符个数",
              "type": "number"
            }
          }
        },
        "registerId": {
          "description": "寄存器Id",
          "type": "number"
        },
        "registerName": {
          "description": "寄存器名称",
          "type": "string"
        },
        "mainAddress": {
          "description": "主地址",
          "type": "number"
        },
        "subAddress": {
          "description": "子地址",
          "type": "number"
        },
        "subIndex": {
          "description": "地址块索引(西门子专用)",
          "type": "number"
        },
        "unit": {
          "description": "单位",
          "type": "string"
        },
        "deadZone": {
          "description": "死区",
          "type": "number"
        },
        "enabledIndex": {
          "description": "启用按位索引",
          "type": "boolean"
        },
        "bitIndex": {
          "description": "按位索引",
          "type": "number"
        },
        "integerDigits": {
          "description": "整数位",
          "type": "number"
        },
        "fractionDigits": {
          "description": "小数位",
          "type": "number"
        },
        "privilege": {
          "description": "读写配置(2:只写, 4:只读, 6:读写)",
          "type": "number"
        },
        "valueTransform": {
          "description": "数值运算",
          "type": "object",
          "properties": {
            "type": {
              "description": "运算类型(0:不启用，1：比例，2：缩放)",
              "type": "number"
            },
            "scale": {
              "description": "比例换算",
              "type": "object",
              "properties": {
                "maxValue": {
                  "description": "数值上限",
                  "type": "number"
                },
                "minValue": {
                  "description": "数值下限",
                  "type": "number"
                },
                "scaleMaxValue": {
                  "description": "比例上限",
                  "type": "number"
                },
                "scaleMinValue": {
                  "description": "比例下限",
                  "type": "number"
                }
              }
            },
            "zoom": {
              "description": "缩放",
              "type": "object",
              "properties": {
                "gain": {
                  "description": "增益",
                  "type": "number"
                },
                "offset": {
                  "description": "偏移量",
                  "type": "number"
                }
              }
            }
          }
        }
      }
    },
    "AlarmItem": {
      "description": "报警配置条目",
      "type": "object",
      "properties": {
        "id": {
          "description": "id 一般作为主键(Guid)",
          "type": "string"
        },
        "name": {
          "description": "报警名称",
          "type": "string"
        },
        "variableId": {
          "description": "关联变量Id",
          "type": "string"
        },
        "condition1": {
          "description": "条件1\n0:不等于, 1:等于, 2:大于 3:大于等于 4:小于 5:小于等于",
          "type": "number"
        },
        "operate1": {
          "description": "条件1对应的值",
          "type": "number"
        },
        "condMethod": {
          "description": "关系运算符\n0:None, 1:And 2:Or",
          "type": "number"
        },
        "condition2": {
          "description": "条件2\n0:不等于, 1:等于, 2:大于 3:大于等于 4:小于 5:小于等于",
          "type": "number"
        },
        "operate2": {
          "description": "条件2对应的值",
          "type": "number"
        },
        "msg": {
          "description": "报警消息",
          "type": "string"
        },
        "dead_value": {
          "description": "死区值",
          "type": "number"
        },
        "dead_type": {
          "description": "死区类型(0:忽略 2:整数 4:浮点)",
          "type": "number"
        }
      }
    },
    "TransferFormatItem": {
      "description": "数据转发变量格式对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id(guid)",
          "type": "string"
        },
        "obj_type": {
          "description": "对象类型(item:监控点, attri:内置属性, define_attri:自定义变量, array:数组, object:对象)",
          "type": "string"
        },
        "relate_name": {
          "description": "关联监控点、内置变量名称",
          "type": [
            "null",
            "string"
          ]
        },
        "anonymous_name": {
          "description": "MQTT变量名称",
          "type": "string"
        },
        "value_type": {
          "description": "MQTT变量类型",
          "type": "string"
        },
        "item_id": {
          "description": "关联监控点Id",
          "type": [
            "null",
            "string"
          ]
        },
        "default_value": {
          "description": "默认值"
        },
        "combe_type": {
          "description": "关联组合方式",
          "type": [
            "null",
            "string"
          ]
        },
        "children": {
          "description": "子节点\n默认array和object类型才有子节点",
          "anyOf": [
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransferFormatItem"
              }
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "TransferTopicItem": {
      "description": "数据转发Topic对象",
      "type": "object",
      "properties": {
        "topic": {
          "description": "topic",
          "type": "string"
        },
        "server_mark": {
          "description": "server_id",
          "type": "string"
        },
        "cacheTopic": {
          "description": "启用离线缓存后的Topic",
          "type": "string"
        },
        "format": {
          "description": "MQTT变量列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferFormatItem"
          }
        }
      }
    },
    "TransferFunctionItem": {
      "description": "数据转发功能对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "Id",
          "type": "string"
        },
        "name": {
          "description": "功能名称",
          "type": "string"
        },
        "function": {
          "description": "功能类型",
          "type": "string"
        },
        "pub": {
          "description": "发布配置",
          "$ref": "#/definitions/TransferTopicItem"
        },
        "sub": {
          "description": "订阅配置",
          "$ref": "#/definitions/TransferTopicItem"
        },
        "alarm_event": {
          "type": "object",
          "properties": {
            "item_id": {
              "description": "报警条目Id(guid)",
              "type": "string"
            },
            "before_time": {
              "type": "number"
            },
            "after_time": {
              "type": "number"
            }
          }
        }
      }
    },
    "MacroWatchItem": {
      "description": "变量监视对象",
      "type": "object",
      "properties": {
        "name": {
          "description": "变量名称",
          "type": "string"
        },
        "offset": {
          "description": "偏移量",
          "type": "number"
        },
        "value": {
          "description": "值"
        }
      }
    },
    "MacroCodeSelection": {
      "description": "代码选中区域对象",
      "type": "object",
      "properties": {
        "start": {
          "description": "起始位置",
          "type": "object",
          "properties": {
            "row": {
              "type": "number"
            },
            "column": {
              "type": "number"
            }
          },
          "required": [
            "column",
            "row"
          ]
        },
        "end": {
          "description": "结束位置",
          "type": "object",
          "properties": {
            "row": {
              "type": "number"
            },
            "column": {
              "type": "number"
            }
          },
          "required": [
            "column",
            "row"
          ]
        }
      },
      "required": [
        "end",
        "start"
      ]
    },
    "MacroScheduleItem": {
      "description": "宏脚本执行计划",
      "type": "object",
      "properties": {
        "mode": {
          "description": "执行模式\n0:启动执行 1:周期执行 2:条件执行",
          "type": "number"
        },
        "cycle": {
          "description": "执行周期\n周期执行模式下取该值",
          "type": "number"
        },
        "condition": {
          "description": "执行条件\n条件执行模式下取该值",
          "type": "object",
          "properties": {
            "variableId": {
              "description": "关联变量Id",
              "type": "string"
            },
            "condition1": {
              "description": "条件1\n0:不等于, 1:等于, 2:大于 3:大于等于 4:小于 5:小于等于",
              "type": "number"
            },
            "operate1": {
              "description": "条件1对应的值",
              "type": "number"
            },
            "condMethod": {
              "description": "关系运算符\n0:None, 1:And 2:Or",
              "type": "number"
            },
            "condition2": {
              "description": "条件2\n0:不等于, 1:等于, 2:大于 3:大于等于 4:小于 5:小于等于",
              "type": "number"
            },
            "operate2": {
              "description": "条件2对应的值",
              "type": "number"
            }
          }
        }
      }
    },
    "MacroItem": {
      "description": "宏脚本",
      "type": "object",
      "properties": {
        "id": {
          "description": "id 一般对应主键(Guid)",
          "type": "string"
        },
        "name": {
          "description": "名称",
          "type": "string"
        },
        "script": {
          "description": "脚本内容",
          "type": "string"
        },
        "description": {
          "description": "描述信息(下位机忽略)",
          "type": "string"
        },
        "variableIds": {
          "description": "关联变量Ids",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "schedules": {
          "description": "执行计划",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroScheduleItem"
          }
        }
      }
    },
    "TemplateItem": {
      "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
      "type": "object",
      "properties": {
        "id": {
          "description": "id 主键(Guid)",
          "type": "string"
        },
        "name": {
          "description": "模板名称",
          "type": "string"
        },
        "applied": {
          "description": "是否应用",
          "type": "boolean"
        },
        "remark": {
          "description": "备注",
          "type": "string"
        },
        "plcs": {
          "description": "PLC配置列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "description": "变量配置列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "alarms": {
          "description": "报警配置列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        },
        "macros": {
          "description": "宏脚本列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroItem"
          }
        },
        "transfers": {
          "description": "转发配置列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferItem_1"
          }
        },
        "combinations": {
          "description": "组合方式列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttCombination"
          }
        },
        "timestamps": {
          "description": "时间戳格式列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttTimestamp"
          }
        }
      }
    },
    "TemplatePlcEditProps": {
      "type": "object",
      "properties": {
        "dirves": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DriveItem"
          }
        },
        "formData": {
          "type": "object",
          "properties": {
            "item": {
              "$ref": "#/definitions/PlcItem"
            },
            "portNoItems": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SelectItem"
              }
            },
            "plcTypeItems": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SelectItem"
              }
            }
          },
          "required": [
            "item",
            "plcTypeItems",
            "portNoItems"
          ]
        },
        "formResult": {
          "type": "boolean"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateReferenceItem"
          }
        },
        "onFormValidate": {
          "description": "当表单验证时触发\nschema: (result: boolean, item?: PlcItem) => boolean",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "当表单提交时触发\nschema: (item: PlcItem) => void",
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        }
      }
    },
    "TemplatePlcTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "showDeleteModal": {
          "type": "boolean"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "onDelete": {
          "description": "schema: (item: PlcItem) => void",
          "type": "object"
        },
        "onEdit": {
          "description": "schema: (item: PlcItem) => void",
          "type": "object"
        },
        "onSelect": {
          "type": "object"
        }
      }
    },
    "TemplatePlcToolbarProps": {
      "type": "object",
      "properties": {
        "selectable": {
          "type": "boolean"
        },
        "onSearch": {
          "description": "schema: (args: { alias?: string, plcName?: string, type?: string }) => void",
          "type": "object"
        },
        "onCreate": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onBatchDelete": {
          "type": "object"
        }
      }
    },
    "TemplatePlcProps": {
      "type": "object",
      "properties": {
        "onDelete": {
          "type": "object"
        },
        "onRefCheck": {
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        },
        "dirves": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DriveItem"
          }
        },
        "onFormSubmit": {
          "description": "当表单提交时触发\nschema: (item: PlcItem) => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { alias?: string, plcName?: string, type?: string }) => void",
          "type": "object"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "onSelect": {
          "type": "object"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "showDeleteModal": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        }
      }
    },
    "TemplateVariableEditProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "变量配置对象",
          "$ref": "#/definitions/VariableItem"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "formResult": {
          "type": "boolean"
        },
        "batch": {
          "type": "boolean"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateReferenceItem"
          }
        },
        "onFormValidate": {
          "description": "schema: (result: boolean, item?: VariableItem) => boolean",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: VariableItem) => void",
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        }
      }
    },
    "TemplateVariableEditModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "editItem": {
          "description": "变量配置对象",
          "$ref": "#/definitions/VariableItem"
        },
        "batch": {
          "type": "boolean"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateReferenceItem"
          }
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onFormValidate": {
          "type": "object"
        },
        "onFormSubmit": {
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        }
      }
    },
    "TemplateVariableTableProps": {
      "type": "object",
      "properties": {
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "showDeleteModal": {
          "type": "boolean"
        },
        "rowSelection": {},
        "onEdit": {
          "description": "schema: (item: VariableItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: VariableItem) => void",
          "type": "object"
        },
        "onSelect": {
          "description": "schema: (items: VariableItem[]) => void",
          "type": "object"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        }
      }
    },
    "TemplateVariableToolbarProps": {
      "type": "object",
      "properties": {
        "selectable": {
          "type": "boolean"
        },
        "onSearch": {
          "description": "schema: (args: { name?: string, description?: string }) => void",
          "type": "object"
        },
        "onCreate": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onBatchDelete": {
          "type": "object"
        }
      }
    },
    "TemplateReferenceItem": {
      "type": "object",
      "properties": {
        "objectType": {
          "description": "引用对象类型(0:设备配置、1:变脸配置、2:报警配置、3:边缘计算、4:转发配置, 5:边缘计算执行条件)",
          "type": "number"
        },
        "objectIds": {
          "description": "引用对象id列表",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TemplateReferenceProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateReferenceItem"
          }
        },
        "visible": {
          "type": "boolean"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        }
      }
    },
    "TemplateVariableProps": {
      "type": "object",
      "properties": {
        "onRefCheck": {
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        },
        "onDelete": {
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: VariableItem) => void",
          "type": "object"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "onSearch": {
          "description": "schema: (args: { name?: string, description?: string }) => void",
          "type": "object"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        },
        "onSelect": {
          "description": "schema: (items: VariableItem[]) => void",
          "type": "object"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "showDeleteModal": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "rowSelection": {}
      }
    },
    "TemplateTransferProtocolProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferItem_1"
          }
        },
        "mqttConfig": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string"
            },
            "port": {
              "type": "number"
            },
            "path": {
              "type": "string"
            }
          }
        },
        "timestamps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttTimestamp"
          }
        },
        "onSelect": {
          "description": "schema: (level: number, item?: TransferItem) => void",
          "type": "object"
        },
        "onFormValidate": {
          "description": "schema: (result: boolean, item: TransferItem) => boolean",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        },
        "onChange": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        }
      }
    },
    "TemplateTransferConnectionProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferFunctionItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "alarms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        },
        "enableCache": {
          "type": "boolean"
        },
        "onFormValidate": {
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: TransferFunctionItem, combinations: MqttCombination[]) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: TransferFunctionItem) => void",
          "type": "object"
        },
        "onEdit": {
          "description": "schema: (item: TransferFunctionItem) => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { name?: string, function?: string }) => void",
          "type": "object"
        },
        "combinations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttCombination"
          }
        }
      }
    },
    "TemplateTransferConfigProps": {
      "type": "object",
      "properties": {
        "combinations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttCombination"
          }
        },
        "timestamps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttTimestamp"
          }
        },
        "onCombinationCreate": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onCombinationDelete": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onTimestampCreate": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        },
        "onTimestampDelete": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        }
      }
    },
    "TemplateTransferProps": {
      "type": "object",
      "properties": {
        "combinations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttCombination"
          }
        },
        "timestamps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttTimestamp"
          }
        },
        "onCombinationCreate": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onCombinationDelete": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onTimestampCreate": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        },
        "onTimestampDelete": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferItem_1"
          }
        },
        "onChange": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: TransferItem) => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { name?: string, function?: string }) => void",
          "type": "object"
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "alarms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        }
      }
    },
    "TemplateSearchItem": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "remark": {
          "type": "string"
        }
      }
    },
    "TemplateToolbarProps": {
      "type": "object",
      "properties": {
        "showName": {
          "type": "boolean"
        },
        "showRemark": {
          "type": "boolean"
        },
        "showClean": {
          "type": "boolean"
        },
        "showSearch": {
          "type": "boolean"
        },
        "showImport": {
          "type": "boolean"
        },
        "showCreate": {
          "type": "boolean"
        },
        "showBatch": {
          "type": "boolean"
        },
        "searchItem": {
          "$ref": "#/definitions/TemplateSearchItem"
        },
        "selectable": {
          "type": "boolean"
        },
        "onImport": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onCreate": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: TemplateSearchItem) => void",
          "type": "object"
        },
        "onMenuItemClick": {
          "type": "object"
        }
      }
    },
    "TemplateImportProps": {
      "type": "object",
      "properties": {
        "formResult": {
          "type": "boolean"
        },
        "onImport": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        }
      }
    },
    "TemplateImportModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onImport": {
          "type": "object"
        }
      }
    },
    "TemplateEditProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        },
        "formResult": {
          "type": "boolean"
        },
        "onFormValidate": {
          "description": "schema: (result: boolean) => void",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        }
      }
    },
    "TemplateEditModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "editItem": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onSave": {
          "type": "object"
        }
      }
    },
    "TemplateTableProps": {
      "type": "object",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        },
        "onSelect": {
          "description": "schema: (items: TemplateItem[]) => void",
          "type": "object"
        },
        "onConfig": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onApply": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onCopy": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onEdit": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onViewRecord": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onItemLoad": {
          "description": "schema: (id: string) => Promise<TemplateItem>",
          "type": "object"
        }
      }
    },
    "TemplateTabProps": {
      "description": "模板编辑选项卡属性",
      "type": "object",
      "properties": {
        "plcs": {
          "description": "PLC列表数据源",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "plcPagination": {
          "description": "PLC列表分页参数",
          "$ref": "#/definitions/PaginationProps"
        },
        "variables": {
          "description": "变量列表数据源",
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "variablePagination": {
          "description": "变量列表分页参数",
          "$ref": "#/definitions/PaginationProps"
        },
        "alarms": {
          "description": "报警列表数据源",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        },
        "alarmPagination": {
          "description": "报警列表分页参数",
          "$ref": "#/definitions/PaginationProps"
        },
        "macros": {
          "description": "宏脚本列表数据源",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroItem"
          }
        },
        "macroPagination": {
          "description": "宏脚本列表分页参数",
          "$ref": "#/definitions/PaginationProps"
        },
        "macroDebugger": {
          "description": "宏脚本调试器属性",
          "$ref": "#/definitions/MacroDebuggerProps"
        },
        "transfers": {
          "description": "转发配置数据源",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferItem_1"
          }
        },
        "onPlcCreate": {
          "description": "点击PLC创建模态框的确定按钮时触发\nschema: (item: PlcItem) => void",
          "type": "object"
        },
        "onPlcDelete": {
          "description": "点击PLC列表删除按钮时触发\nschema: (item: PlcItem) => void",
          "type": "object"
        },
        "onPlcSearch": {
          "description": "点击PLC列表搜索按钮时触发\nschema: (args: { alias?: string, plcName?: string, type?: string }) => void",
          "type": "object"
        },
        "onPlcRefCheck": {
          "type": "object"
        },
        "onPlcRefRelease": {
          "type": "object"
        },
        "onVariableCreate": {
          "description": "点击变量创建模态框的确定按钮时触发\nschema: (item: VariableItem) => void",
          "type": "object"
        },
        "onVariableDelete": {
          "description": "点击变量列表删除按钮时触发\nschema: (item: VariableItem) => void",
          "type": "object"
        },
        "onVariableSearch": {
          "description": "点击变量列表搜索按钮时触发\nschema: (args: { name?: string, description?: string }) => void",
          "type": "object"
        },
        "onVariableRefCheck": {
          "type": "object"
        },
        "onVariableRefRelease": {
          "type": "object"
        },
        "onTransferCreate": {
          "description": "点击MQTT转发连接创建模态框的确定按钮时触发\nschema: (item: TransferItem) => void",
          "type": "object"
        },
        "onTransferDelete": {
          "description": "右键点击MQTT连接删除按钮时触发\nschema: (item: TransferItem) => void",
          "type": "object"
        },
        "onTransferChange": {
          "description": "MQTT配置内容变化时触发(包括添加修改和删除功能以及MQTT变量)\nschema: (item: TransferItem) => void",
          "type": "object"
        },
        "onAlarmCreate": {
          "description": "点击报警创建模态框确定按钮时触发\nschema: (item: AlarmItem) => void",
          "type": "object"
        },
        "onAlarmDelete": {
          "description": "点击报警列表删除按钮时触发\nschema: (item: AlarmItem) => void",
          "type": "object"
        },
        "onAlarmSearch": {
          "description": "点击报警列表搜索按钮时触发\nschema: (args: { name?: string }) => void",
          "type": "object"
        },
        "onAlarmRefCheck": {
          "type": "object"
        },
        "onAlarmRefRelease": {
          "type": "object"
        },
        "onMacroCreate": {
          "description": "点击宏脚本创建模态框的确定按钮时触发\nschema: (item: MacroItem) => void",
          "type": "object"
        },
        "onMacroDelete": {
          "description": "点击宏脚本列表删除按钮时触发\nschema: (item: MacroItem) => void",
          "type": "object"
        },
        "onMacroSearch": {
          "description": "点击宏脚本列表搜索按钮触发\nschema: (args: { name?: string }) => void",
          "type": "object"
        },
        "combinations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttCombination"
          }
        },
        "timestamps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MqttTimestamp"
          }
        },
        "onCombinationCreate": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onCombinationDelete": {
          "description": "schema: (item: MqttCombination) => void",
          "type": "object"
        },
        "onTimestampCreate": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        },
        "onTimestampDelete": {
          "description": "schema: (item: MqttTimestamp) => void",
          "type": "object"
        }
      }
    },
    "TemplateProgressBarProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "percent": {
          "type": "number"
        },
        "display": {
          "$ref": "#/definitions/React.ReactNode"
        }
      }
    },
    "TemplateProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateItem"
          }
        },
        "boxes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "boxPagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "onTemplateCreate": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onTemplateUpdate": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onTemplateDelete": {
          "description": "schema: (item: TemplateItem[]) => void",
          "type": "object"
        },
        "onTemplateImport": {
          "description": "schema: (item: TemplateItem) => void",
          "type": "object"
        },
        "onTemplateApply": {
          "description": "schema: (template: TemplateItem, boxes: BoxItem[], modules: string[]) => void",
          "type": "object"
        },
        "onBoxSearch": {
          "description": "schema: (args: { keyword?: string, remark?: string }) => void",
          "type": "object"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "onItemLoad": {
          "description": "schema: (id: string) => Promise<TemplateItem>",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: TemplateSearchItem) => void",
          "type": "object"
        },
        "searchItem": {
          "$ref": "#/definitions/TemplateSearchItem"
        },
        "macroDebugger": {
          "description": "宏脚本调试器属性",
          "$ref": "#/definitions/MacroDebuggerProps"
        }
      }
    },
    "TemplateAlarmToolbarProps": {
      "type": "object",
      "properties": {
        "selectable": {
          "type": "boolean"
        },
        "onSearch": {
          "description": "点击搜索按钮时触发\nschema: (args: { name?: string }) => void",
          "type": "object"
        },
        "onCreate": {
          "description": "点检创建按钮时触发\nschema: () => void",
          "type": "object"
        },
        "onBatchDelete": {
          "type": "object"
        }
      }
    },
    "TemplateAlarmTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "onEdit": {
          "description": "schema: (item: AlarmItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: AlarmItem) => void",
          "type": "object"
        },
        "onSelect": {
          "type": "object"
        }
      }
    },
    "TemplateAlarmEditProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "报警配置条目",
          "$ref": "#/definitions/AlarmItem"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "formResult": {
          "type": "boolean"
        },
        "references": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateReferenceItem"
          }
        },
        "onFormValidate": {
          "description": "schema: (result: boolean, item?: AlarmItem) => boolean",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "表单提交时触发\nschema: (item: AlarmItem) => void",
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        }
      }
    },
    "TemplateAlarmProps": {
      "type": "object",
      "properties": {
        "onDelete": {
          "type": "object"
        },
        "onRefCheck": {
          "type": "object"
        },
        "onRefRelease": {
          "type": "object"
        },
        "onFormSubmit": {
          "description": "表单提交时触发\nschema: (item: AlarmItem) => void",
          "type": "object"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "onSearch": {
          "description": "点击搜索按钮时触发\nschema: (args: { name?: string }) => void",
          "type": "object"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AlarmItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "onSelect": {
          "type": "object"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        }
      }
    },
    "MacroDebuggerProps": {
      "type": "object",
      "properties": {
        "watchItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroWatchItem"
          }
        },
        "output": {
          "type": "string"
        },
        "selection": {
          "description": "代码选中区域对象",
          "$ref": "#/definitions/MacroCodeSelection"
        },
        "status": {
          "type": "number"
        },
        "onRun": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "onStep": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "onStop": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onClear": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onBreakPointsChange": {
          "description": "schema: (breakPoints: Map<number, string>) => void",
          "type": "object"
        }
      }
    },
    "TemplateMacroEditorProps": {
      "type": "object",
      "properties": {
        "watchColumns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "defaultValue": {
          "type": "string"
        },
        "onChange": {
          "description": "schema: (value: string) => void",
          "type": "object"
        },
        "output": {
          "type": "string"
        },
        "selection": {
          "description": "代码选中区域对象",
          "$ref": "#/definitions/MacroCodeSelection"
        },
        "onClear": {
          "description": "schema: () => void",
          "type": "object"
        },
        "watchItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroWatchItem"
          }
        },
        "onBreakPointsChange": {
          "description": "schema: (breakPoints: Map<number, string>) => void",
          "type": "object"
        }
      }
    },
    "TemplateMacroTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "onEdit": {
          "description": "schema: (item: MacroItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: MacroItem) => void",
          "type": "object"
        },
        "onSelect": {
          "type": "object"
        }
      }
    },
    "TemplateMacroToolbarProps": {
      "type": "object",
      "properties": {
        "selectable": {
          "type": "boolean"
        },
        "onCreate": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { name?: string }) => void",
          "type": "object"
        },
        "onBatchDelete": {
          "type": "object"
        }
      }
    },
    "TemplateMacroVariableProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "宏脚本",
          "$ref": "#/definitions/MacroItem"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "onItemChange": {
          "description": "schema: (item: MacroItem) => void",
          "type": "object"
        }
      }
    },
    "TemplateMacroEditProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "宏脚本",
          "$ref": "#/definitions/MacroItem"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "saving": {
          "type": "boolean"
        },
        "formResult": {
          "type": "boolean"
        },
        "onSave": {
          "description": "schema: (item: MacroItem, close?: boolean) => void",
          "type": "object"
        },
        "onStateChange": {
          "description": "schema: (saveing: boolean) => void",
          "type": "object"
        },
        "onItemChange": {
          "description": "schema: (item: MacroItem) => void",
          "type": "object"
        },
        "watchItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroWatchItem"
          }
        },
        "output": {
          "type": "string"
        },
        "selection": {
          "description": "代码选中区域对象",
          "$ref": "#/definitions/MacroCodeSelection"
        },
        "status": {
          "type": "number"
        },
        "onRun": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "onStep": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "onStop": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onClear": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onBreakPointsChange": {
          "description": "schema: (breakPoints: Map<number, string>) => void",
          "type": "object"
        }
      }
    },
    "TemplateMacroProps": {
      "type": "object",
      "properties": {
        "onDelete": {
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { name?: string }) => void",
          "type": "object"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroItem"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "onSelect": {
          "type": "object"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "status": {
          "type": "number"
        },
        "selection": {
          "description": "代码选中区域对象",
          "$ref": "#/definitions/MacroCodeSelection"
        },
        "onClear": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onStep": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "plcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlcItem"
          }
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VariableItem"
          }
        },
        "watchItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MacroWatchItem"
          }
        },
        "onBreakPointsChange": {
          "description": "schema: (breakPoints: Map<number, string>) => void",
          "type": "object"
        },
        "saving": {
          "type": "boolean"
        },
        "formResult": {
          "type": "boolean"
        },
        "onSave": {
          "description": "schema: (item: MacroItem, close?: boolean) => void",
          "type": "object"
        },
        "onStateChange": {
          "description": "schema: (saveing: boolean) => void",
          "type": "object"
        },
        "onItemChange": {
          "description": "schema: (item: MacroItem) => void",
          "type": "object"
        },
        "onRun": {
          "description": "schema: (code: string, variables: VariableItem[], plcs: PlcItem[]) => void",
          "type": "object"
        },
        "onStop": {
          "description": "schema: () => void",
          "type": "object"
        }
      }
    },
    "TemplateApplyProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "onSelect": {
          "description": "schema: (items: BoxItem[]) => void",
          "type": "object"
        },
        "onSearch": {
          "description": "schema: (args: { keyword?: string; remark?: string }) => void",
          "type": "object"
        }
      },
      "required": [
        "data"
      ]
    },
    "TemplateTransferTableProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferItem_1"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "onEdit": {
          "type": "object"
        },
        "onDelete": {
          "type": "object"
        }
      }
    },
    "BoxItem": {
      "description": "设备对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id",
          "type": "string"
        },
        "alias": {
          "description": "别名",
          "type": "string"
        },
        "boxNo": {
          "description": "序列号",
          "type": "string"
        },
        "connectionState": {
          "description": "连接状态\n0:未知 1:在线 2:超时 3:离线",
          "type": "number"
        },
        "boxType": {
          "description": "盒子类型\n0:FBox 1:FBox-Mini 2:FBox-Lite 3:FBox-Vpn 4:FBox-Lite_T 5:FLink 6:FL3 7:FBox-Lite 8:HMI 16:NBIot",
          "type": "number"
        },
        "comMode": {
          "description": "连接模式\n0:MQTT 1:USB 2:Tcp",
          "type": "number"
        },
        "networkType": {
          "description": "网络类型\n0:未知 1:以太网 2:2G 3:3G 4:Wifi 5:4G",
          "type": "number"
        },
        "templateState": {
          "description": "模板状态\n0:未下发 1:正在下发 2:下发完成 3:下发失败",
          "type": "number"
        },
        "template": {
          "description": "关联模板对象",
          "$ref": "#/definitions/TemplateItem"
        },
        "hardwareId": {
          "description": "硬件ID",
          "type": "string"
        },
        "password": {
          "description": "硬件密码",
          "type": "string"
        },
        "userPassword": {
          "description": "添加密码",
          "type": "string"
        },
        "tags": {
          "description": "标签",
          "type": "string"
        },
        "lastOffline": {
          "description": "最后离线时间",
          "type": "string"
        },
        "lastOnline": {
          "description": "最后在线时间",
          "type": "string"
        },
        "natIp": {
          "description": "IP地址",
          "type": "string"
        },
        "isSynced": {
          "description": "是否同步",
          "type": "boolean"
        },
        "favorite": {
          "description": "星标",
          "type": "boolean"
        }
      }
    },
    "BoxDetailItem": {
      "description": "设备详情对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "盒子Id",
          "type": "string"
        },
        "boxNo": {
          "description": "盒子序列号",
          "type": "string"
        },
        "userPassword": {
          "description": "添加密码",
          "type": "string"
        },
        "boxType": {
          "description": "盒子类型",
          "type": "number"
        },
        "subType": {
          "description": "子类型\n1.Ethernet 2.2G 3.3G 4.wifi 5.4G 7.4GR 8.5G",
          "type": "number"
        },
        "currentNetwork": {
          "description": "当前上网方式\n0:未知 1.Ethernet 2.2G 3.3G 4.Wifi 5.4G",
          "type": "number"
        },
        "connectionState": {
          "description": "连接状态",
          "type": "number"
        },
        "signal": {
          "description": "信号强度",
          "type": "number"
        },
        "iccid": {
          "description": "ICCID",
          "type": "string"
        },
        "imei": {
          "description": "IMEI",
          "type": "string"
        },
        "enableItemPush": {
          "description": "监控点推送状态",
          "type": "number"
        },
        "enableAlarmPush": {
          "description": "报警推送状态",
          "type": "number"
        },
        "softVer": {
          "description": "固件版本",
          "$ref": "#/definitions/BoxVersionItem"
        },
        "netMode": {
          "description": "网络模式配置",
          "$ref": "#/definitions/BoxNetworkModeItem"
        },
        "wan": {
          "description": "WAN口配置对象",
          "$ref": "#/definitions/BoxNetworkItem"
        },
        "gprs": {
          "description": "GPRS网络信息",
          "$ref": "#/definitions/BoxNetworkItem"
        },
        "wifi": {
          "description": "WIFI网络配置",
          "$ref": "#/definitions/BoxNetworkItem"
        },
        "apn": {
          "description": "Apn配置对象",
          "$ref": "#/definitions/BoxApnItem"
        },
        "connection": {
          "description": "连接配置对象",
          "$ref": "#/definitions/BoxConnectionItem"
        },
        "time": {
          "description": "时间配置对象",
          "$ref": "#/definitions/BoxTimeItem"
        }
      }
    },
    "BoxUpdateItem": {
      "description": "设备更新对象",
      "type": "object",
      "properties": {
        "alias": {
          "type": "string"
        },
        "tags": {
          "type": "string"
        }
      }
    },
    "BoxAuditItem": {
      "description": "设备审计对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id",
          "type": "string"
        },
        "type": {
          "description": "类型\n0:全部 1:模板下发 2:固件升级 3:网络设置 4:更新时钟 5:设置APN",
          "type": "number"
        },
        "creationTime": {
          "description": "操作时间",
          "type": "string"
        },
        "content": {
          "description": "操作内容",
          "type": "string"
        },
        "creator": {
          "description": "操作员",
          "type": "string"
        }
      }
    },
    "BoxLogItem": {
      "description": "设备日志对象",
      "type": "object",
      "properties": {
        "action": {
          "type": "number"
        },
        "timestamp": {
          "type": "string"
        }
      }
    },
    "BoxFirmwareItem": {
      "description": "固件升级对象",
      "type": "object",
      "properties": {
        "boxIds": {
          "description": "盒子Id列表",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "firmware": {
          "description": "固件对象",
          "$ref": "#/definitions/FirmwareItem"
        }
      }
    },
    "BoxJobItem": {
      "description": "设备任务对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id",
          "type": "string"
        },
        "type": {
          "description": "任务类型\n1:模板下发 2:固件下发",
          "type": "number"
        },
        "boxNo": {
          "description": "设备序列号",
          "type": "string"
        },
        "state": {
          "description": "任务状态\n1:正在下发 2:下发完成 3:下发失败",
          "type": "number"
        },
        "code": {
          "description": "错误码",
          "type": "number"
        },
        "msg": {
          "description": "错误消息",
          "type": "string"
        },
        "progress": {
          "description": "任务进度百分比",
          "type": "number"
        },
        "steps": {
          "description": "任务步骤数",
          "type": "number"
        },
        "creationTime": {
          "description": "任务创建时间",
          "type": "string"
        }
      }
    },
    "BoxVpnItem": {
      "description": "VPN对象",
      "type": "object",
      "properties": {
        "clientStatus": {
          "description": "客户端状态",
          "type": "number"
        },
        "boxStatus": {
          "description": "盒子状态",
          "type": "number"
        },
        "plcStatus": {
          "description": "PLC状态",
          "type": "number"
        },
        "connectStatus": {
          "description": "连接状态描述",
          "type": "string"
        },
        "gateway": {
          "description": "网关",
          "type": "string"
        },
        "subnetMask": {
          "description": "子网掩码",
          "type": "string"
        },
        "logs": {
          "description": "日志",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "BoxConnectionItem": {
      "description": "连接配置",
      "type": "object",
      "properties": {
        "mode": {
          "description": "连接模式\nmqtt, tcp",
          "type": "string"
        },
        "server": {
          "description": "服务器地址",
          "type": "string"
        },
        "mqttVersion": {
          "description": "MQTT协议版本号\n3.1, 3.1.1",
          "type": "string"
        },
        "crtType": {
          "description": "证书类型\n0:CA signed 1:self signed",
          "type": "number"
        },
        "caCrt": {
          "description": "CA证书内容",
          "type": "string"
        },
        "caCrtName": {
          "description": "CA证书名称(显示字段)",
          "type": "string"
        },
        "clientCrt": {
          "description": "客户端证书内容",
          "type": "string"
        },
        "clientCrtName": {
          "description": "客户端证书名称(显示字段)",
          "type": "string"
        },
        "clientKey": {
          "description": "客户端证书Key",
          "type": "string"
        },
        "clientKeyName": {
          "description": "客户端证书Key名称(显示字段)",
          "type": "string"
        },
        "keepAlive": {
          "description": "心跳周期(单位: 秒)",
          "type": "number"
        },
        "connectTimeout": {
          "description": "连接超时时间(单位: 秒)",
          "type": "number"
        },
        "cleansession": {
          "description": "清理会话",
          "type": "number"
        },
        "connectStatus": {
          "description": "是否连接成功标记",
          "type": "boolean"
        }
      }
    },
    "BoxNetworkModeItem": {
      "description": "网络模式配置",
      "type": "object",
      "properties": {
        "networkMode": {
          "type": "number"
        }
      }
    },
    "BoxNetworkItem": {
      "description": "网卡配置",
      "type": "object",
      "properties": {
        "networkType": {
          "description": "网卡类型(1.Ethernet 2.2G 3.3G 4.Wifi 5.4G)",
          "type": "number"
        },
        "ipSource": {
          "description": "IP类型\n0:DHCP 1:静态IP",
          "type": "number"
        },
        "ipAddr": {
          "description": "IP地址",
          "type": "string"
        },
        "subnetMask": {
          "description": "子网掩码",
          "type": "string"
        },
        "gateway": {
          "description": "网关",
          "type": "string"
        },
        "dns1": {
          "description": "主DNS",
          "type": "string"
        },
        "dns2": {
          "description": "从DNS",
          "type": "string"
        },
        "lanIp": {
          "description": "LAN IP",
          "type": "string"
        },
        "extra": {
          "description": "其它网卡参数",
          "type": "object",
          "properties": {
            "lanIp": {
              "type": "string"
            },
            "lanEnable": {
              "type": "boolean"
            },
            "ssid": {
              "type": "string"
            },
            "password": {
              "type": "string"
            }
          }
        }
      }
    },
    "BoxTimeItem": {
      "description": "时区配置",
      "type": "object",
      "properties": {
        "timezone": {
          "description": "时区",
          "type": "string"
        },
        "ntpserver": {
          "description": "时钟服务器",
          "type": "string"
        },
        "dateTime": {
          "description": "当前日期",
          "$ref": "#/definitions/moment.Moment"
        }
      }
    },
    "BoxApnItem": {
      "description": "APN配置",
      "type": "object",
      "properties": {
        "apn": {
          "description": "APN",
          "type": "string"
        },
        "dialing": {
          "description": "拨号号码(繁易物联网卡不支持拨号)",
          "type": "string"
        },
        "userName": {
          "description": "用户名",
          "type": "string"
        },
        "password": {
          "description": "密码",
          "type": "string"
        }
      }
    },
    "BoxWifiItem": {
      "description": "盒子扫描的WIFI信息",
      "type": "object",
      "properties": {
        "apName": {
          "description": "wifi名称",
          "type": "string"
        },
        "signalLevel": {
          "description": "信号",
          "type": "number"
        }
      }
    },
    "BoxVersionItem": {
      "description": "盒子版本号信息",
      "type": "object",
      "properties": {
        "fcs": {
          "description": "fcs版本",
          "type": "string"
        },
        "floader": {
          "description": "fds版本",
          "type": "string"
        },
        "fds": {
          "description": "fds版本",
          "type": "string"
        },
        "fgui": {
          "description": "FGUI版本",
          "type": "string"
        },
        "boot": {
          "description": "Boot文件版本",
          "type": "string"
        },
        "kernel": {
          "description": "内核版本",
          "type": "string"
        },
        "rootfs": {
          "description": "文件系统版本",
          "type": "string"
        },
        "hardware": {
          "description": "硬件版本号",
          "type": "string"
        },
        "boxType": {
          "description": "盒子类型",
          "type": "number"
        }
      }
    },
    "BoxFirmwareProps": {
      "type": "object",
      "properties": {
        "boxes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "formResult": {
          "type": "boolean"
        },
        "onFormValidate": {
          "description": "schema: (result: boolean) => void",
          "type": "object"
        },
        "onFormSubmit": {
          "description": "schema: (item: BoxFirmwareItem) => void",
          "type": "object"
        }
      }
    },
    "BoxFirmwareModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "boxItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onFirmwareUpdate": {
          "type": "object"
        }
      }
    },
    "BoxTableProps": {
      "type": "object",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "onMenuItemClick": {
          "type": "object"
        },
        "onSelect": {
          "description": "schema: (items: BoxItem[]) => void",
          "type": "object"
        },
        "onDetailShow": {
          "description": "schema: (item: BoxItem) => void",
          "type": "object"
        },
        "onContact": {
          "description": "schema: (item: BoxItem) => void",
          "type": "object"
        },
        "onDelete": {
          "description": "schema: (item: BoxItem) => void",
          "type": "object"
        },
        "onEdit": {
          "description": "schema: (item: BoxItem, edit: { alias?: string, tags?: string }) => void",
          "type": "object"
        },
        "onVpnModalShow": {
          "description": "schema: (item: BoxItem) => void",
          "type": "object"
        }
      }
    },
    "BoxSearchItem": {
      "type": "object",
      "properties": {
        "keyword": {
          "type": "string"
        },
        "connectionState": {
          "type": "number"
        },
        "templateState": {
          "type": "number"
        },
        "remark": {
          "type": "string"
        },
        "templateName": {
          "type": "string"
        },
        "boxType": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      }
    },
    "BoxToolbarProps": {
      "type": "object",
      "properties": {
        "showConnectionStates": {
          "type": "boolean"
        },
        "connectionStates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectItem"
          }
        },
        "showTemplateStates": {
          "type": "boolean"
        },
        "templateStates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectItem"
          }
        },
        "showRemark": {
          "type": "boolean"
        },
        "showFilter": {
          "type": "boolean"
        },
        "showImport": {
          "type": "boolean"
        },
        "showOperations": {
          "type": "boolean"
        },
        "onSearch": {
          "description": "schema: (args: BoxSearchItem) => void",
          "type": "object"
        },
        "onImport": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onFirmwareUpgrade": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onTemplateUpdate": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onBatchRetry": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onMenuItemClick": {
          "type": "object"
        }
      }
    },
    "BoxComMode": {
      "description": "设备通信模式\n0: MQTT\n1: USB\n2: Tcp",
      "enum": [
        0,
        1,
        2
      ],
      "type": "number"
    },
    "BoxImportSearchItem": {
      "type": "object",
      "properties": {
        "importType": {
          "description": "盒子发现类别\n0: USB\n1: 广播\n2: 固定IP\n3: 文件",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "number"
        },
        "ip": {
          "type": "string"
        },
        "boxNo": {
          "type": "string"
        },
        "userPassword": {
          "type": "string"
        }
      },
      "required": [
        "importType"
      ]
    },
    "BoxImportProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "formResult": {
          "type": "boolean"
        },
        "templateUrl": {
          "type": "string"
        },
        "importTypes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectItem"
          }
        },
        "onImport": {
          "description": "点击确定导入按钮时触发\nschema: (items: BoxItem[], mode: BoxComMode) => void",
          "type": "object"
        },
        "onSearch": {
          "description": "点击搜索按钮时触发",
          "type": "object"
        },
        "onFileSelect": {
          "description": "当选择文件时触发",
          "type": "object"
        },
        "onTypeChange": {
          "description": "变更类型时触发",
          "type": "object"
        },
        "onChange": {
          "description": "选中条目时触发",
          "type": "object"
        }
      }
    },
    "BoxImportModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "boxItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "importTypes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectItem"
          }
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onSearch": {
          "description": "点击搜索按钮时触发",
          "type": "object"
        },
        "onImport": {
          "description": "点击确定导入按钮时触发\nschema: (items: BoxItem[], mode: BoxComMode) => void",
          "type": "object"
        },
        "onFileSelect": {
          "description": "当选择文件时触发",
          "type": "object"
        },
        "onTypeChange": {
          "description": "变更类型时触发",
          "type": "object"
        }
      }
    },
    "BoxDetailProps": {
      "type": "object",
      "properties": {
        "boxItem": {
          "description": "设备信息",
          "$ref": "#/definitions/BoxItem"
        },
        "values": {
          "description": "实时数据"
        },
        "valueMode": {
          "description": "数据获取模式",
          "enum": [
            "pull",
            "push"
          ],
          "type": "string"
        },
        "fixedStyle": {
          "description": "固定头部样式"
        },
        "hideTabs": {
          "description": "隐藏选项卡",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "onBoxDetailLoad": {
          "description": "盒子详情加载",
          "type": "object"
        },
        "onBoxTemplateLoad": {
          "description": "模板加载",
          "type": "object"
        },
        "onBoxAuditListLoad": {
          "description": "升级日志列表加载",
          "type": "object"
        },
        "onBoxLogListLoad": {
          "description": "日志列表加载",
          "type": "object"
        },
        "onBoxWifiLoad": {
          "type": "object"
        },
        "onBoxValueRead": {
          "description": "获取值",
          "type": "object"
        },
        "onBoxValueWrite": {
          "description": "写值",
          "type": "object"
        },
        "onBoxValueSubscribe": {
          "type": "object"
        },
        "onBoxNetworkModeUpdate": {
          "type": "object"
        },
        "onBoxNetworkUpdate": {
          "type": "object"
        },
        "onBoxApnUpdate": {
          "type": "object"
        },
        "onBoxConnectionUpdate": {
          "type": "object"
        },
        "onBoxTimeUpdate": {
          "type": "object"
        },
        "onBoxVariablePushChange": {
          "description": "开启/关闭监控点推送",
          "type": "object"
        },
        "onBoxAlarmPushChange": {
          "description": "开启/关闭报警推送",
          "type": "object"
        },
        "onBoxReboot": {
          "description": "重启设备",
          "type": "object"
        }
      }
    },
    "BoxStateItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "connectionState": {
          "type": "number"
        }
      },
      "required": [
        "connectionState",
        "id"
      ]
    },
    "BoxPushType": {
      "enum": [
        "alarm",
        "all",
        "variable"
      ],
      "type": "string"
    },
    "BoxPushStatus": {
      "enum": [
        0,
        1
      ],
      "type": "number"
    },
    "BoxUpgradeItem": {
      "type": "object",
      "properties": {
        "progress": {
          "type": "number"
        },
        "steps": {
          "type": "number"
        },
        "step": {
          "type": "number"
        },
        "code": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "boxNo": {
          "type": "string"
        }
      }
    },
    "BoxUpgradeProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "item": {
          "$ref": "#/definitions/BoxUpgradeItem"
        },
        "onOk": {
          "type": "object"
        }
      }
    },
    "BoxErrorItem": {
      "type": "object",
      "properties": {
        "code": {
          "type": "number"
        },
        "boxNo": {
          "type": "string"
        },
        "msg": {
          "type": "string"
        }
      },
      "required": [
        "code"
      ]
    },
    "BoxRebootItem": {
      "type": "object",
      "properties": {
        "waitTimeout": {
          "type": "number"
        },
        "force": {
          "type": "boolean"
        }
      }
    },
    "BoxProps": {
      "type": "object",
      "properties": {
        "listType": {
          "enum": [
            "list",
            "table"
          ],
          "type": "string"
        },
        "importTypes": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "boxStateItem": {
          "$ref": "#/definitions/BoxStateItem"
        },
        "boxJobProgressItem": {
          "$ref": "#/definitions/BoxJobProgressItem"
        },
        "boxFoundItem": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "boxValueItems": {},
        "boxErrorItem": {
          "$ref": "#/definitions/BoxErrorItem"
        },
        "boxUpgradeItem": {
          "$ref": "#/definitions/BoxUpgradeItem"
        },
        "onBoxListLoad": {
          "description": "盒子列表加载时触发",
          "type": "object"
        },
        "onBoxTagLoad": {
          "description": "通过标签加载盒子信息",
          "type": "object"
        },
        "onBoxUsbLoad": {
          "type": "object"
        },
        "onBoxTcpLoad": {
          "type": "object"
        },
        "onBoxTcpScan": {
          "type": "object"
        },
        "onBoxSelect": {
          "type": "object"
        },
        "onBoxFavorite": {
          "type": "object"
        },
        "onBoxImport": {
          "description": "导入盒子",
          "type": "object"
        },
        "onBoxDelete": {
          "type": "object"
        },
        "onBoxReboot": {
          "type": "object"
        },
        "onBoxFirmwareUpdate": {
          "type": "object"
        },
        "onBoxOldFirmwareUpdate": {
          "type": "object"
        },
        "onBoxClean": {
          "type": "object"
        },
        "onBoxUpdate": {
          "type": "object"
        },
        "onTemplateListLoad": {
          "type": "object"
        },
        "onTemplateApply": {
          "type": "object"
        },
        "onJobListLoad": {
          "type": "object"
        },
        "onJobStateLoad": {
          "type": "object"
        },
        "onBoxNatIpUpdate": {
          "type": "object"
        },
        "onBoxDetailLoad": {
          "description": "盒子详情加载",
          "type": "object"
        },
        "onBoxTemplateLoad": {
          "description": "模板加载",
          "type": "object"
        },
        "onBoxAuditListLoad": {
          "description": "升级日志列表加载",
          "type": "object"
        },
        "onBoxLogListLoad": {
          "description": "日志列表加载",
          "type": "object"
        },
        "onBoxValueRead": {
          "description": "获取值",
          "type": "object"
        },
        "onBoxValueWrite": {
          "description": "写值",
          "type": "object"
        },
        "onBoxNetworkModeUpdate": {
          "type": "object"
        },
        "onBoxNetworkUpdate": {
          "type": "object"
        },
        "onBoxApnUpdate": {
          "type": "object"
        },
        "onBoxConnectionUpdate": {
          "type": "object"
        },
        "onBoxTimeUpdate": {
          "type": "object"
        },
        "onBoxVariablePushChange": {
          "description": "开启/关闭监控点推送",
          "type": "object"
        },
        "onBoxAlarmPushChange": {
          "description": "开启/关闭报警推送",
          "type": "object"
        },
        "onBoxValueSubscribe": {
          "type": "object"
        },
        "onBoxWifiLoad": {
          "type": "object"
        }
      }
    },
    "BoxJobProps": {
      "type": "object",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Column"
          }
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxJobItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "options": {
          "type": "array",
          "items": {}
        },
        "state": {
          "type": "number"
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        },
        "onSearch": {
          "description": "schema: (args: { state?: number }) => void",
          "type": "object"
        }
      }
    },
    "BoxJobStateItem": {
      "type": "object",
      "properties": {
        "state": {
          "type": "number"
        },
        "count": {
          "type": "number"
        },
        "default": {
          "type": "boolean"
        }
      }
    },
    "BoxJobProgressItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "code": {
          "type": "number"
        },
        "progress": {
          "type": "number"
        },
        "visible": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "id",
        "progress"
      ]
    },
    "BoxJobListProps": {
      "type": "object",
      "properties": {
        "states": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxJobStateItem"
          }
        },
        "progressItem": {
          "$ref": "#/definitions/BoxJobProgressItem"
        },
        "onItemLoad": {
          "type": "object"
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        }
      }
    },
    "BoxJobListModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "states": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxJobStateItem"
          }
        },
        "progressItem": {
          "$ref": "#/definitions/BoxJobProgressItem"
        },
        "onItemLoad": {
          "type": "object"
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        }
      }
    },
    "BoxTunnelVpnProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "VPN对象",
          "$ref": "#/definitions/BoxVpnItem"
        },
        "onConnect": {
          "description": "schema: (item: BoxVpnItem) => void",
          "type": "object"
        },
        "onDisconnect": {
          "description": "schema: () => void",
          "type": "object"
        },
        "onPlcCheck": {
          "description": "schema: (plcIp: string) => void",
          "type": "object"
        }
      }
    },
    "BoxImportType": {
      "description": "盒子发现类别\n0: USB\n1: 广播\n2: 固定IP\n3: 文件",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ],
      "type": "number"
    },
    "BoxDiscoveryProps": {
      "description": "盒子发现组件",
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "discoveryItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "onBoxDiscover": {
          "type": "object"
        },
        "onBoxSelect": {
          "type": "object"
        },
        "onCancel": {
          "type": "object"
        }
      }
    },
    "BoxListProps": {
      "description": "设备列表组件",
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "defaultIndex": {
          "type": "number"
        },
        "selectable": {
          "type": "boolean"
        },
        "selectionType": {
          "enum": [
            "checkbox",
            "radio"
          ],
          "type": "string"
        },
        "checkAll": {
          "type": "boolean"
        },
        "checkedItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "onImport": {
          "type": "object"
        },
        "onSelect": {
          "type": "object"
        },
        "onCheck": {
          "type": "object"
        },
        "onMenuItemClick": {
          "type": "object"
        },
        "onFavorite": {
          "type": "object"
        }
      }
    },
    "BoxDetailVariableProps": {
      "type": "object",
      "properties": {
        "boxItem": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "values": {},
        "contactTemplate": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "onValueSet": {
          "type": "object"
        },
        "onVariablePushStatusChange": {
          "type": "object"
        },
        "onVariableSearch": {
          "type": "object"
        }
      }
    },
    "BoxDetailAlarmProps": {
      "type": "object",
      "properties": {
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "contactTemplate": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        },
        "onAlarmPushStatusChange": {
          "type": "object"
        }
      }
    },
    "BoxDetailMacroProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "contactTemplate": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        }
      }
    },
    "BoxDetailTransferProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "contactTemplate": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        }
      }
    },
    "BoxDetailPlcProps": {
      "type": "object",
      "properties": {
        "item": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "contactTemplate": {
          "description": "模板对象\n模板支持导入和导出，因此所有关联数据均需要放置在模板上进行隔离，防止导入到其它设备上时因缺少依赖数据而失败",
          "$ref": "#/definitions/TemplateItem"
        }
      }
    },
    "BoxDetailAuditProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxAuditItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "toolbar": {
          "type": "boolean"
        },
        "boxNo": {
          "type": "string"
        },
        "onSearch": {
          "type": "object"
        }
      }
    },
    "BoxDetailBasicProps": {
      "type": "object",
      "properties": {
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "wifiItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxWifiItem"
          }
        },
        "onWifiScan": {
          "type": "object"
        },
        "onNetworkModeUpdate": {
          "type": "object"
        },
        "onNetworkUpdate": {
          "type": "object"
        },
        "onApnUpdate": {
          "type": "object"
        },
        "onConnectionUpdate": {
          "type": "object"
        },
        "onTimeUpdate": {
          "type": "object"
        }
      }
    },
    "BoxDetailLogProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxLogItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        }
      }
    },
    "BoxDetailStatusProps": {
      "type": "object",
      "properties": {
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        }
      }
    },
    "BoxDetailAdvanceProps": {
      "type": "object",
      "properties": {
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "onItemClick": {
          "type": "object"
        }
      }
    },
    "BoxDetailTemplateProps": {
      "type": "object",
      "properties": {
        "template": {
          "description": "模板对象",
          "$ref": "#/definitions/TemplateItem"
        },
        "detailItem": {
          "description": "设备详情对象",
          "$ref": "#/definitions/BoxDetailItem"
        },
        "variableValues": {
          "description": "变量实时数据"
        },
        "variablePagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "activeKey": {
          "type": "string"
        },
        "onTabChange": {
          "type": "object"
        },
        "onDestory": {
          "type": "object"
        },
        "onVariablePushStatusChange": {
          "type": "object"
        },
        "onValueSet": {
          "type": "object"
        },
        "onVariableSearch": {
          "type": "object"
        },
        "onAlarmPushStatusChange": {
          "type": "object"
        }
      }
    },
    "BoxEditModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "editItem": {
          "description": "设备对象",
          "$ref": "#/definitions/BoxItem"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onFinish": {
          "type": "object"
        }
      }
    },
    "BoxContactProps": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/PaginationProps"
        },
        "size": {
          "enum": [
            "large",
            "middle",
            "small"
          ],
          "type": "string"
        },
        "onSelect": {
          "type": "object"
        },
        "onSearch": {
          "type": "object"
        }
      }
    },
    "BoxContactModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "boxItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BoxItem"
          }
        },
        "templateItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateItem"
          }
        },
        "templateTotal": {
          "type": "number"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onContact": {
          "type": "object"
        },
        "onChange": {
          "type": "object"
        }
      }
    },
    "BoxDetailConnectionProps": {
      "type": "object",
      "properties": {
        "editItem": {
          "description": "连接配置",
          "$ref": "#/definitions/BoxConnectionItem"
        },
        "formResult": {
          "type": "boolean"
        },
        "title": {
          "type": "boolean"
        },
        "colSpan": {
          "type": "number"
        },
        "disabled": {
          "type": "boolean"
        },
        "onSave": {
          "type": "object"
        },
        "onFormValidate": {
          "type": "object"
        }
      }
    },
    "BoxDetailConnectionModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onSave": {
          "type": "object"
        },
        "editItem": {
          "description": "连接配置",
          "$ref": "#/definitions/BoxConnectionItem"
        }
      }
    },
    "BoxDetailTimeProps": {
      "type": "object",
      "properties": {
        "editItem": {
          "description": "时区配置",
          "$ref": "#/definitions/BoxTimeItem"
        },
        "formResult": {
          "type": "boolean"
        },
        "title": {
          "type": "boolean"
        },
        "colSpan": {
          "type": "number"
        },
        "disabled": {
          "type": "boolean"
        },
        "onSave": {
          "type": "object"
        }
      }
    },
    "BoxDetailTimeModalProps": {
      "type": "object",
      "properties": {
        "visible": {
          "type": "boolean"
        },
        "onVisibleChange": {
          "type": "object"
        },
        "onSave": {
          "type": "object"
        },
        "editItem": {
          "description": "时区配置",
          "$ref": "#/definitions/BoxTimeItem"
        }
      }
    },
    "PaginationProps": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number"
        },
        "pageSize": {
          "type": "number"
        },
        "defaultCurrent": {
          "type": "number"
        },
        "current": {
          "type": "number"
        },
        "showSizeChanger": {
          "type": "boolean"
        },
        "onChange": {
          "type": "object"
        },
        "onShowSizeChange": {
          "type": "object"
        }
      }
    },
    "TransferItem_1": {
      "description": "数据转发配置对象",
      "type": "object",
      "properties": {
        "id": {
          "description": "id 一般对应主键(Guid)",
          "type": "string"
        },
        "enable": {
          "description": "是否启用该配置(当前固件默认仅支持一个有效配置)",
          "type": "boolean"
        },
        "server_config": {
          "description": "MQTT服务器配置",
          "type": "object",
          "properties": {
            "config_name": {
              "description": "配置名称",
              "type": "string"
            },
            "platform": {
              "description": "平台类型",
              "type": "string"
            },
            "server_url": {
              "description": "MQTT服务器地址",
              "type": "string"
            },
            "server_port": {
              "description": "MQTT服务器端口",
              "type": "number"
            },
            "path": {
              "description": "MQTT服务路径(只针对websocket连接有效)",
              "type": "string"
            },
            "client_id": {
              "description": "MQTTClientId(模板里配置请使用环境变量，默认为$uuid)",
              "type": "string"
            },
            "keepalive": {
              "description": "Keepalive时间(单位:s)",
              "type": "number"
            },
            "mqtt_version": {
              "description": "MQTT版本(3.1, 3.1.1, 5.0)",
              "type": "string"
            },
            "connection_type": {
              "description": "MQTT连接类型(raw_tcp:TCP连接, secure_tcp:TCP证书连接, raw_websocket:websocket连接，secure_websocket:websocket证书连接)",
              "type": "string"
            },
            "ca_crt": {
              "description": "ca证书(文件内容)",
              "type": "string"
            },
            "ca_crt_file": {
              "description": "ca证书(文件名称)",
              "type": "string"
            },
            "client_crt": {
              "description": "客户端证书(文件内容)",
              "type": "string"
            },
            "client_crt_file": {
              "description": "客户端证书(文件名称)",
              "type": "string"
            },
            "client_key": {
              "description": "客户端证书密钥(文件内容)",
              "type": "string"
            },
            "client_key_file": {
              "description": "客户端证书密钥(文件名称)",
              "type": "string"
            },
            "store": {
              "description": "存储位置(local:本地存储, sd:SD卡存储, usb:USB存储)",
              "type": "string"
            },
            "with_authen": {
              "description": "是否开启验证",
              "type": "boolean"
            },
            "username": {
              "description": "用户名，环境变量($uid)指代设备硬件ID",
              "type": "string"
            },
            "password": {
              "description": "密码，环境变量($password)指代设备硬件密码",
              "type": "string"
            },
            "pub_mode": {
              "description": "推送方式(interval:定时推送, change:变化推送)",
              "type": "string"
            },
            "pub_interval": {
              "description": "推送间隔(单位:ms)",
              "type": "number"
            },
            "offline_caching": {
              "description": "是否启用离线缓存",
              "type": "boolean"
            },
            "cache_time": {
              "description": "缓存数据上报时间(单位:ms)",
              "type": "number"
            },
            "cache_get_time": {
              "description": "缓存数据采集间隔(单位:s)",
              "type": "number"
            },
            "compress_info": {
              "description": "报文压缩",
              "type": "object",
              "properties": {
                "compress": {
                  "description": "是否启用报文压缩",
                  "type": "number"
                },
                "type": {
                  "description": "压缩算法类型",
                  "type": "string"
                }
              }
            }
          }
        },
        "timestamp_format": {
          "description": "时间格式配置",
          "type": "object",
          "properties": {
            "time_format": {
              "description": "时间格式",
              "type": "string"
            },
            "time_zone": {
              "description": "时区(utc、asia/shanghai)",
              "type": "string"
            }
          }
        },
        "items_config": {
          "description": "组合方式配置",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "description": "组合方式Id",
                "type": "string"
              },
              "format": {
                "description": "格式",
                "type": "string"
              }
            }
          }
        },
        "function_config": {
          "description": "转发功能列表",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransferFunctionItem"
          }
        },
        "drive": {
          "description": "MQTT驱动文件",
          "type": "object",
          "properties": {
            "soFileUrl": {
              "type": "string"
            },
            "soFileMd5": {
              "type": "string"
            },
            "checkUrl": {
              "description": "驱动检查接口地址",
              "type": "string"
            }
          }
        }
      }
    },
    "moment.Moment": {
      "type": "object",
      "properties": {
        "constructor": {
          "$ref": "#/definitions/Function"
        }
      },
      "required": [
        "constructor"
      ]
    },
    "Function": {
      "type": "object",
      "properties": {
        "prototype": {},
        "length": {
          "type": "number"
        },
        "arguments": {},
        "caller": {
          "$ref": "#/definitions/Function"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "arguments",
        "caller",
        "length",
        "name",
        "prototype"
      ]
    }
  }
}