middleware_agent/docs/md/middleware-agent.md

81 KiB
Raw Blame History

title language_tabs toc_footers includes search code_clipboard highlight_theme headingLevel generator
middleware-agent
shell
Shell
http
HTTP
javascript
JavaScript
ruby
Ruby
python
Python
php
PHP
java
Java
go
Go
true true darkula 2 @tarslib/widdershins v4.0.23

middleware-agent

Base URLs:

Authentication

magent/通用接口

POST 获取系统版本信息POST 请求)。

POST /api/version

该接口返回系统的版本信息,包括提交 ID、描述、时间、标签名称、构建时间以及分支名称。 接口支持加密和解密协议,并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "version": {
      "commitId": "",
      "commitDescribe": "",
      "commitTime": "",
      "tagName": "",
      "buildTime": "",
      "gitBranch": ""
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespVersionResp

GET 获取系统版本信息GET 请求)。

GET /api/version

该接口提供系统版本信息,与 POST 接口返回的数据相同。 支持加密协议和操作日志记录。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "version": {
      "commitId": "",
      "commitDescribe": "",
      "commitTime": "",
      "tagName": "",
      "buildTime": "",
      "gitBranch": ""
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespVersionResp

magent/系统信息接口

GET 获取操作系统信息。

GET /api/systemInfo/osInfo

该接口返回操作系统名称以及系统启动时间。返回数据通过加密协议进行保护, 并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "os": "",
    "bootTime": 0,
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetOsInfoResp

GET 获取处理器信息。

GET /api/systemInfo/processorInfo

该接口返回处理器的相关信息(如 CPU 详情)。返回数据通过加密协议进行保护, 并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "cpuInfo": {
      "cpuVendor": "",
      "cpuName": "",
      "processorId": "",
      "cpuIdentifier": "",
      "microArchitecture": "",
      "cpu64bit": false,
      "cpuVendorFreq": 0,
      "physicalCpus": 0,
      "physicalCores": 0,
      "logicalCpu": 0
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetProcessorInfoResp

GET 获取硬件信息。

GET /api/systemInfo/hwInfo

该接口返回系统硬件的相关信息。返回数据通过加密协议进行保护, 并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "hwInfo": {
      "model": "",
      "manufacturer": "",
      "uuid": "",
      "serialNumber": "",
      "firmware": {
        "name": "",
        "version": "",
        "manufacturer": "",
        "releaseDate": "",
        "description": ""
      },
      "mb": {
        "version": "",
        "manufacturer": "",
        "model": "",
        "serialNumber": ""
      },
      "memoryInfo": {
        "physicalMemory": {
          "totalMemory": 0,
          "freeMemory": 0
        },
        "swapMemory": {
          "totalMemory": 0,
          "freeMemory": 0
        },
        "hwMemory": [
          {
            "bankLabel": "",
            "capacity": 0,
            "clockSpeed": 0,
            "manufacturer": "",
            "memoryType": "",
            "partNumber": "",
            "serialNumber": ""
          }
        ]
      },
      "fileStoreInfo": {
        "fileStore": [
          {
            "name": "",
            "volume": "",
            "mountPoint": "",
            "uuid": "",
            "fsType": "",
            "description": "",
            "freeSpace": 0,
            "totalSpace": 0,
            "usableSpace": 0
          }
        ],
        "hwDisk": [
          {
            "name": "",
            "model": "",
            "serial": "",
            "size": 0
          }
        ]
      },
      "networkInfo": {
        "ifNetwork": [
          {
            "index": 0,
            "name": "",
            "dispayName": "",
            "mac": "",
            "ipv4": [
              "192.168.1.1",
              "10.0.0.1"
            ],
            "ipv6": [
              "fe80::1",
              "::1"
            ],
            "ifOperStatus": 0,
            "mtu": 0,
            "speed": 0,
            "bytesRecv": 0,
            "bytesSent": 0,
            "packetsRecv": 0,
            "packetsSent": 0,
            "inErrors": 0,
            "outErrors": 0,
            "inDrops": 0
          }
        ],
        "hostName": "",
        "domainName": "",
        "dnsServers": [
          ""
        ],
        "ipv4DefaultGateway": "",
        "ipv6DefaultGateway": ""
      }
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetHwInfoResp

GET 获取网络信息。

GET /api/systemInfo/networkInfo

该接口返回系统网络相关信息。返回数据通过加密协议进行保护,并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "networkInfo": {
      "ifNetwork": [
        {
          "index": 0,
          "name": "",
          "dispayName": "",
          "mac": "",
          "ipv4": [
            "192.168.1.1",
            "10.0.0.1"
          ],
          "ipv6": [
            "fe80::1",
            "::1"
          ],
          "ifOperStatus": 0,
          "mtu": 0,
          "speed": 0,
          "bytesRecv": 0,
          "bytesSent": 0,
          "packetsRecv": 0,
          "packetsSent": 0,
          "inErrors": 0,
          "outErrors": 0,
          "inDrops": 0
        }
      ],
      "hostName": "",
      "domainName": "",
      "dnsServers": [
        ""
      ],
      "ipv4DefaultGateway": "",
      "ipv6DefaultGateway": ""
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetNetworkInfoResp

GET 获取内存信息。

GET /api/systemInfo/memoryInfo

该接口返回系统内存相关信息。返回数据通过加密协议进行保护,并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "memoryInfo": {
      "physicalMemory": {
        "totalMemory": 0,
        "freeMemory": 0
      },
      "swapMemory": {
        "totalMemory": 0,
        "freeMemory": 0
      },
      "hwMemory": [
        {
          "bankLabel": "",
          "capacity": 0,
          "clockSpeed": 0,
          "manufacturer": "",
          "memoryType": "",
          "partNumber": "",
          "serialNumber": ""
        }
      ]
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetMemoryInfoResp

GET 获取文件存储信息。

GET /api/systemInfo/fileStoreInfo

该接口返回系统文件系统以及磁盘相关信息。返回数据通过加密协议进行保护,并记录操作日志。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "fileStoreInfo": {
      "fileStore": [
        {
          "name": "",
          "volume": "",
          "mountPoint": "",
          "uuid": "",
          "fsType": "",
          "description": "",
          "freeSpace": 0,
          "totalSpace": 0,
          "usableSpace": 0
        }
      ],
      "hwDisk": [
        {
          "name": "",
          "model": "",
          "serial": "",
          "size": 0
        }
      ]
    },
    "status": 0,
    "message": [
      "操作成功"
    ]
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetFileStoreInfoResp

magent/系统资源占用信息接口

GET 获取当前系统资源使用信息。

GET /api/systemInfo/usage

此方法使用了加密协议和操作日志注解,提供对系统资源使用情况的读取操作。

返回示例

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "status": 0,
    "message": [
      "操作成功"
    ],
    "resourceUsage": {
      "data": [
        {
          "cpuUsagePercent": 0,
          "memoryUsagePercent": 0
        }
      ],
      "head": 0,
      "tail": 0,
      "size": 0,
      "capacity": 0
    }
  },
  "code": 0
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none ProtocolRespGetResourceUsageResp

数据模型

Pet

{
  "id": 1,
  "category": {
    "id": 1,
    "name": "string"
  },
  "name": "doggie",
  "photoUrls": [
    "string"
  ],
  "tags": [
    {
      "id": 1,
      "name": "string"
    }
  ],
  "status": "available"
}

属性

名称 类型 必选 约束 中文名 说明
id integer(int64) true none 宠物ID编号
category Category true none 分组
name string true none 名称
photoUrls [string] true none 照片URL
tags [Tag] true none 标签
status string true none 宠物销售状态

枚举值

属性
status available
status pending
status sold

Category

{
  "id": 1,
  "name": "string"
}

属性

名称 类型 必选 约束 中文名 说明
id integer(int64) false none 分组ID编号
name string false none 分组名称

Tag

{
  "id": 1,
  "name": "string"
}

属性

名称 类型 必选 约束 中文名 说明
id integer(int64) false none 标签ID编号
name string false none 标签名称

VersionInfo

{
  "commitId": "abc12345",
  "commitDescribe": "Fix bug in user login",
  "commitTime": "2023-01-07T12:00:00Z",
  "tagName": "v1.0.0",
  "buildTime": "2023-01-07T14:00:00Z",
  "gitBranch": "main"
}

属性

名称 类型 必选 约束 中文名 说明
commitId string false none 提交 ID。


表示系统当前版本的代码提交记录的唯一标识,例如 "abc12345"。


系统当前版本的代码提交记录的唯一标识。
commitDescribe string false none 提交描述。


表示系统当前版本的代码提交的具体描述信息,例如 "Fix bug in user login"。


系统当前版本的代码提交的具体描述信息。
commitTime string false none 提交时间。


表示代码提交的时间戳,例如 "2023-01-07T12:00:00Z"。


代码提交的时间戳。
tagName string false none 标签名称。


表示系统当前版本的标签信息,例如 "v1.0.0"。


系统当前版本的标签信息。
buildTime string false none 构建时间。


表示当前系统版本构建的时间戳,例如 "2023-01-07T14:00:00Z"。


系统版本的构建时间戳。
gitBranch string false none Git 分支。


表示代码版本对应的 Git 分支名称,例如 "main"。


代码版本对应的 Git 分支名称。

ResourceUsage

{
  "cpuUsagePercent": 0,
  "memoryUsagePercent": 0
}

属性

名称 类型 必选 约束 中文名 说明
cpuUsagePercent integer false none CPU 使用率(百分比)。
memoryUsagePercent integer false none 内存使用率(百分比)。

VersionResp

{
  "version": {
    "commitId": "abc12345",
    "commitDescribe": "Fix bug in user login",
    "commitTime": "2023-01-07T12:00:00Z",
    "tagName": "v1.0.0",
    "buildTime": "2023-01-07T14:00:00Z",
    "gitBranch": "main"
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
version VersionInfo false none 版本信息内容。


表示当前系统或模块的版本详情信息,包括版本号、发布日期以及描述信息。
版本信息内容,包括版本号、发布日期以及描述信息

status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

CircularQueueResourceUsage

{
  "data": [
    {
      "cpuUsagePercent": 0,
      "memoryUsagePercent": 0
    }
  ],
  "head": 0,
  "tail": 0,
  "size": 0,
  "capacity": 0
}

属性

名称 类型 必选 约束 中文名 说明
data [ResourceUsage] false none 存储队列的数组
head integer false none 队列头指针
tail integer false none 队列尾指针
size integer false none 当前队列中的元素数量
capacity integer false none 队列的最大容量

ProtocolRespVersionResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "version": {
      "commitId": "abc12345",
      "commitDescribe": "Fix bug in user login",
      "commitTime": "2023-01-07T12:00:00Z",
      "tagName": "v1.0.0",
      "buildTime": "2023-01-07T14:00:00Z",
      "gitBranch": "main"
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent VersionResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

GetResourceUsageResp

{
  "status": 0,
  "message": "[\"操作成功\"]",
  "resourceUsage": {
    "data": [
      {
        "cpuUsagePercent": 0,
        "memoryUsagePercent": 0
      }
    ],
    "head": 0,
    "tail": 0,
    "size": 0,
    "capacity": 0
  }
}

属性

名称 类型 必选 约束 中文名 说明
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。
resourceUsage CircularQueueResourceUsage false none 包含资源使用信息的环形队列。
类型为{@link ResourceUsage}。
最近一段时间内的资源占用信息。

GetOsInfoResp

{
  "os": "string",
  "bootTime": 0,
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
os string false none 操作系统名称。


表示系统的操作系统名称,例如 "Ubuntu 20.04" 或 "Windows 10"。


操作系统名称,例如 Ubuntu 20.04 或 Windows 10
bootTime integer false none 系统启动时间。


表示系统最近一次启动的时间,格式为{@link Timestamp}。
例如 "2023-01-07T08:00:00"。


系统启动时间,例如 2023-01-07T08:00:00
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetResourceUsageResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "status": 0,
    "message": "[\"操作成功\"]",
    "resourceUsage": {
      "data": [
        {
          "cpuUsagePercent": 0,
          "memoryUsagePercent": 0
        }
      ],
      "head": 0,
      "tail": 0,
      "size": 0,
      "capacity": 0
    }
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetResourceUsageResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

ProtocolRespGetOsInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "os": "string",
    "bootTime": 0,
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetOsInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

ProcessorInfo

{
  "cpuVendor": "Intel",
  "cpuName": "Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz",
  "processorId": "BFEBFBFF000306C3",
  "cpuIdentifier": "x86_64 Family 6 Model 158 Stepping 10",
  "microArchitecture": "Comet Lake",
  "cpu64bit": true,
  "cpuVendorFreq": 3800000000,
  "physicalCpus": 1,
  "physicalCores": 8,
  "logicalCpu": 16
}

属性

名称 类型 必选 约束 中文名 说明
cpuVendor string false none CPU 厂商。


表示处理器的制造商名称,例如 "Intel"、"AMD"。


处理器的制造商名称。
cpuName string false none CPU 名称。


表示处理器的完整型号名称,例如 "Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz"。


处理器的完整型号名称。
processorId string false none CPU 标识符Processor ID


表示处理器的唯一标识符,例如 "BFEBFBFF000306C3"。


处理器的唯一标识符。
cpuIdentifier string false none CPU 标识信息。


提供额外的处理器标识信息,例如 "x86_64 Family 6 Model 158 Stepping 10"。


处理器的标识信息。
microArchitecture string false none 微架构Micro-Architecture


表示处理器的微架构名称,例如 "Comet Lake"。


处理器的微架构名称。
cpu64bit boolean false none 是否为 64 位架构。


表示处理器是否支持 64 位架构。


处理器是否支持 64 位架构。
cpuVendorFreq integer(int64) false none CPU 主频Hz


表示处理器的厂商标称主频单位Hz例如 3800000000 表示 3.80GHz。


处理器的标称主频单位Hz
physicalCpus integer false none 物理 CPU 数量。


表示系统中物理处理器的数量。


系统中物理处理器的数量。
physicalCores integer false none 物理核心数量。


表示处理器的物理核心数,例如 8 核。


处理器的物理核心数。
logicalCpu integer false none 逻辑核心数量。


表示处理器的逻辑核心数(包括超线程),例如 16 核。


处理器的逻辑核心数(包括超线程)。

GetProcessorInfoResp

{
  "cpuInfo": {
    "cpuVendor": "Intel",
    "cpuName": "Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz",
    "processorId": "BFEBFBFF000306C3",
    "cpuIdentifier": "x86_64 Family 6 Model 158 Stepping 10",
    "microArchitecture": "Comet Lake",
    "cpu64bit": true,
    "cpuVendorFreq": 3800000000,
    "physicalCpus": 1,
    "physicalCores": 8,
    "logicalCpu": 16
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
cpuInfo ProcessorInfo false none 处理器信息内容。


包含处理器的详细信息,例如型号、核心数、线程数、架构类型等。
类型为{@link ProcessorInfo}。


处理器信息内容,例如型号、核心数、线程数、架构类型等。
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetProcessorInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "cpuInfo": {
      "cpuVendor": "Intel",
      "cpuName": "Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz",
      "processorId": "BFEBFBFF000306C3",
      "cpuIdentifier": "x86_64 Family 6 Model 158 Stepping 10",
      "microArchitecture": "Comet Lake",
      "cpu64bit": true,
      "cpuVendorFreq": 3800000000,
      "physicalCpus": 1,
      "physicalCores": 8,
      "logicalCpu": 16
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetProcessorInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

HwFirmware

{
  "name": "CPU固件",
  "version": "1.0.0",
  "manufacturer": "公司XYZ",
  "releaseDate": "2025-01-01",
  "description": "这是固件的描述信息"
}

属性

名称 类型 必选 约束 中文名 说明
name string false none 固件名称。


表示固件的完整名称,例如 "CPU固件"。


固件名称,用于标识具体固件。
version string false none 固件版本。


表示固件的版本号,例如 "1.0.0"。


固件的版本号。
manufacturer string false none 制造商名称。


表示固件的制造商或开发公司,例如 "公司XYZ"。


固件制造商的名称。
releaseDate string false none 固件发布日期。


表示固件的发布时间,使用 ISO 8601 格式的日期字符串,例如 "2025-01-01"。


固件的发布日期格式为YYYY-MM-DD。
description string false none 固件描述。


描述固件的详细信息,例如用途或特性。


固件的详细描述信息。

HwMotherBoard

{
  "version": "1.0.0",
  "manufacturer": "公司XYZ",
  "model": "主板型号A",
  "serialNumber": "MB123456789"
}

属性

名称 类型 必选 约束 中文名 说明
version string false none 主板版本号。


表示主板的版本,例如 "1.0.0"。


主板的版本号。
manufacturer string false none 主板制造商。


表示主板的制造商名称,例如 "公司XYZ"。


主板的制造商名称。
model string false none 主板型号名称。


表示主板的型号,例如 "主板型号A"。


主板的型号名称。
serialNumber string false none 主板序列号。


表示主板的唯一序列号,例如 "MB123456789"。


主板的序列号。

MemoryDetails

{
  "totalMemory": 0,
  "freeMemory": 0
}

属性

名称 类型 必选 约束 中文名 说明
totalMemory integer(int64) false none 总内存大小(单位:字节)。


该字段记录系统的总内存容量,通常表示物理内存或交换内存的总大小。
在 JSON 序列化时,通过{@link AutoExternString} 注解生成一个格式化后的额外字段。



示例值:



  • {@code 8192L}(表示 8 KB 总内存)。



JSON 输出示例:



{
"totalMemory": 8192,
"totalMemoryStr": "8 KB"
}
freeMemory integer(int64) false none 空闲内存大小(单位:字节)。


该字段记录系统当前可用的内存大小,通常用于监控系统运行时内存的利用率。
在 JSON 序列化时,通过{@link AutoExternString} 注解生成一个格式化后的额外字段。



示例值:



  • {@code 2048L}(表示 2 KB 空闲内存)。



JSON 输出示例:



{
"freeMemory": 2048,
"freeMemoryStr": "2 KB"
}

HwMemory

{
  "bankLabel": "DIMM0",
  "capacity": 8192,
  "clockSpeed": 2666,
  "manufacturer": "Samsung",
  "memoryType": "DDR4",
  "partNumber": "M378A1G43AB2-CWE",
  "serialNumber": "123456789ABC"
}

属性

名称 类型 必选 约束 中文名 说明
bankLabel string false none 内存模块的插槽标签。


用于标识内存条安装在哪个插槽中,例如{@code "DIMM0"} 或{@code "ChannelA-DIMM1"}。


内存模块的插槽标签。
capacity integer(int64) false none 内存模块的容量(单位:字节)。


表示该内存条的总容量。例如:{@code 8192L} 表示 8 GB。


内存模块的容量(单位:字节)。
clockSpeed integer(int64) false none 内存模块的时钟频率单位MHz


表示内存条的运行速度,例如{@code 2666L} 表示 2666 MHz。


内存模块的时钟频率单位MHz
manufacturer string false none 内存模块的制造商。


表示内存生产商的名称,例如{@code "Samsung"} 或{@code "Kingston"}。


内存模块的制造商。
memoryType string false none 内存模块的类型。


表示内存的技术类型,例如{@code "DDR4"}、{@code "DDR3"} 或{@code "LPDDR4"}。


内存模块的类型。
partNumber string false none 内存模块的零件编号。


用于标识内存模块的具体型号,例如{@code "M378A1G43AB2-CWE"}。


内存模块的零件编号。
serialNumber string false none 内存模块的序列号。


表示内存条的唯一标识符,例如{@code "123456789ABC"}。


内存模块的序列号。

MemoryInfo

{
  "physicalMemory": "8192",
  "swapMemory": "8192",
  "hwMemory": "8192"
}

属性

名称 类型 必选 约束 中文名 说明
physicalMemory MemoryDetails false none 物理内存的详细信息。


包括总内存大小、已用内存、可用内存等属性信息。


物理内存的详细信息。
swapMemory MemoryDetails false none 物理内存的详细信息。


包括总内存大小、已用内存、可用内存等属性信息。


物理内存的详细信息。
hwMemory [HwMemory] false none 硬件内存的列表。


包含系统中的所有内存模块的硬件信息,例如每条内存的容量、制造商等。


硬件内存的列表。

FileStoreDetails

{
  "name": "Local Disk C:",
  "volume": "Volume1234",
  "mountPoint": "C:\\",
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "fsType": "NTFS",
  "description": "Primary System Partition",
  "freeSpace": 2147483648,
  "totalSpace": 10737418240,
  "usableSpace": 20634418240
}

属性

名称 类型 必选 约束 中文名 说明
name string false none 文件存储设备的名称。


例如 "Local Disk C:" 或其他自定义的存储设备名称。


文件存储设备的名称。
volume string false none 存储设备的卷标。


表示存储设备的逻辑卷标,例如 "Volume1234"。


存储设备的卷标。
mountPoint string false none 挂载点路径。


表示存储设备在系统中的挂载路径。例如,在 Windows 系统中为 "C:\",在 Linux 系统中为 "/mnt/data"。


挂载点路径。
uuid string false none 存储设备的唯一标识符UUID


该字段通常用于标识存储设备的唯一性,例如 "123e4567-e89b-12d3-a456-426614174000"。


存储设备的唯一标识符UUID
fsType string false none 文件系统类型。


例如 "NTFS"、"FAT32"、"ext4" 等文件系统类型。


文件系统类型。
description string false none 存储设备的描述信息。


通常用于备注存储设备的用途或特性,例如 "Primary System Partition" 表示系统主分区。


存储设备的描述信息。
freeSpace integer(int64) false none 存储设备的空闲空间大小(单位:字节)。


表示当前存储设备中的剩余可用空间。
在 JSON 序列化时,通过{@link AutoExternString} 注解生成附加的格式化字段{@code freeSpaceStr}。



示例值:



  • {@code 2147483648L}(表示 2 GB 空闲空间)。



JSON 输出示例:



{
"freeSpace": 2147483648,
"freeSpaceStr": "2 GB"
}

存储设备的空闲空间大小(单位:字节)。
totalSpace integer(int64) false none 存储设备的总空间大小(单位:字节)。


表示存储设备的容量总大小。
在 JSON 序列化时,通过{@link AutoExternString} 注解生成附加的格式化字段{@code totalSpaceStr}。



示例值:



  • {@code 10737418240L}(表示 10 GB 总空间)。



JSON 输出示例:



{
"totalSpace": 10737418240,
"totalSpaceStr": "10 GB"
}

存储设备的总空间大小(单位:字节)。
usableSpace integer(int64) false none 存储设备的可用空间大小(单位:字节)。


表示当前存储设备中实际可用的空间大小,通常根据用户权限计算。
在 JSON 序列化时,通过{@link AutoExternString} 注解生成附加的格式化字段{@code usableSpaceStr}。



示例值:



  • {@code 1073741824L}(表示 1 GB 可用空间)。



JSON 输出示例:



{
"usableSpace": 1073741824,
"usableSpaceStr": "1 GB"
}

存储设备的可用空间大小(单位:字节)。

HwDisk

{
  "name": "Disk 0",
  "model": "Samsung SSD 970 EVO Plus",
  "serial": "SN1234567890",
  "size": 500107862016
}

属性

名称 类型 必选 约束 中文名 说明
name string false none 硬盘名称。

例如Disk 0、sda 等。


硬盘名称例如Disk 0、sda 等
model string false none 硬盘型号。

例如Samsung SSD 970 EVO Plus。


硬盘型号例如Samsung SSD 970 EVO Plus
serial string false none 硬盘序列号。

用于唯一标识硬盘设备。


硬盘序列号,用于唯一标识硬盘设备
size integer(int64) false none 硬盘总容量(单位:字节)。


通过{@link AutoExternString} 注解使用{@link UtilsFormatType#FORMAT_BYTES} 格式化。
序列化时会将字节大小自动格式化为更加易读的字符串表示(如 KB、MB、GB


硬盘总容量(单位:字节),格式化为易读的字符串表示(如 KB、MB、GB

FileStoreInfo

{
  "fileStore": [
    {
      "name": "Local Disk C:",
      "volume": "Volume1234",
      "mountPoint": "C:\\",
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "fsType": "NTFS",
      "description": "Primary System Partition",
      "freeSpace": 2147483648,
      "totalSpace": 10737418240,
      "usableSpace": 20634418240
    }
  ],
  "hwDisk": [
    {
      "name": "Disk 0",
      "model": "Samsung SSD 970 EVO Plus",
      "serial": "SN1234567890",
      "size": 500107862016
    }
  ]
}

属性

名称 类型 必选 约束 中文名 说明
fileStore [FileStoreDetails] false none 文件存储详情的列表。

每个元素表示一个文件存储的详细信息,包括挂载点、文件系统类型、总大小等。


文件存储详情的列表,每个元素表示一个文件存储的详细信息,包括挂载点、文件系统类型、总大小等
hwDisk [HwDisk] false none 硬盘信息的列表。

每个元素表示一个硬盘设备的详细信息,包括名称、容量、序列号等。


硬盘信息的列表,每个元素表示一个硬盘设备的详细信息,包括名称、容量、序列号等

IfInterfaceInfo

{
  "index": 1,
  "name": "eth0",
  "dispayName": "Ethernet Adapter",
  "mac": "00:1A:2B:3C:4D:5E",
  "ipv4": "[\"192.168.1.1\", \"10.0.0.1\"]",
  "ipv6": "[\"fe80::1\", \"::1\"]",
  "ifOperStatus": 1,
  "mtu": 1500,
  "speed": 1000000000,
  "bytesRecv": 10485760,
  "bytesSent": 20971520,
  "packetsRecv": 1000,
  "packetsSent": 1200,
  "inErrors": 5,
  "outErrors": 3,
  "inDrops": 2
}

属性

名称 类型 必选 约束 中文名 说明
index integer false none 网络接口的索引。
网络接口的索引
name string false none 网络接口的名称。
网络接口的名称
dispayName string false none 网络接口的显示名称。
网络接口的显示名称
mac string false none 网络接口的 MAC 地址。
网络接口的 MAC 地址
ipv4 [string] false none 网络接口的 IPv4 地址列表。
网络接口的 IPv4 地址列表
ipv6 [string] false none 网络接口的 IPv6 地址列表。
网络接口的 IPv6 地址列表
ifOperStatus integer false none 网络接口的运行状态。

枚举类型:{@link NetworkIF.IfOperStatus}


网络接口的运行状态枚举类型UP, DOWN, UNKNOWN 等
mtu integer(int64) false none 网络接口的最大传输单元MTU
网络接口的最大传输单元MTU
speed integer(int64) false none 网络接口的速度(单位:位/秒)。
网络接口的速度(单位:位/秒),格式化为易读的字符串
bytesRecv integer(int64) false none 接收到的字节总数。
接收到的字节总数,格式化为易读的字符串
bytesSent integer(int64) false none 发送的字节总数。
发送的字节总数,格式化为易读的字符串
packetsRecv integer(int64) false none 接收到的报文总数。
接收到的报文总数,格式化为易读的字符串
packetsSent integer(int64) false none 发送的报文总数。
发送的报文总数,格式化为易读的字符串
inErrors integer(int64) false none 输入错误帧总数。
输入错误帧总数
outErrors integer(int64) false none 输出错误帧总数。
输出错误帧总数
inDrops integer(int64) false none 丢弃的输入数据包总数。
丢弃的输入数据包总数

NetworkInfo

{
  "ifNetwork": [
    {
      "index": 1,
      "name": "eth0",
      "dispayName": "Ethernet Adapter",
      "mac": "00:1A:2B:3C:4D:5E",
      "ipv4": "[\"192.168.1.1\", \"10.0.0.1\"]",
      "ipv6": "[\"fe80::1\", \"::1\"]",
      "ifOperStatus": 1,
      "mtu": 1500,
      "speed": 1000000000,
      "bytesRecv": 10485760,
      "bytesSent": 20971520,
      "packetsRecv": 1000,
      "packetsSent": 1200,
      "inErrors": 5,
      "outErrors": 3,
      "inDrops": 2
    }
  ],
  "hostName": "string",
  "domainName": "string",
  "dnsServers": [
    "string"
  ],
  "ipv4DefaultGateway": "string",
  "ipv6DefaultGateway": "string"
}

属性

名称 类型 必选 约束 中文名 说明
ifNetwork [IfInterfaceInfo] false none 系统中所有的网络接口信息。
系统中所有的网络接口信息
hostName string false none 系统的主机名。
系统的主机名
domainName string false none 系统所在的域名。
系统所在的域名
dnsServers [string] false none 系统配置的 DNS 服务器地址列表。
系统配置的 DNS 服务器地址列表
ipv4DefaultGateway string false none 系统的 IPv4 默认网关地址。
系统的 IPv4 默认网关地址
ipv6DefaultGateway string false none 系统的 IPv6 默认网关地址。
系统的 IPv6 默认网关地址

HwInfo

{
  "model": "设备型号A",
  "manufacturer": "公司XYZ",
  "uuid": "123e4567-e89b-12d3-a456-426655440000",
  "serialNumber": "SN123456789",
  "firmware": {
    "name": "CPU固件",
    "version": "1.0.0",
    "manufacturer": "公司XYZ",
    "releaseDate": "2025-01-01",
    "description": "这是固件的描述信息"
  },
  "mb": {
    "version": "1.0.0",
    "manufacturer": "公司XYZ",
    "model": "主板型号A",
    "serialNumber": "MB123456789"
  },
  "memoryInfo": {
    "physicalMemory": "8192",
    "swapMemory": "8192",
    "hwMemory": "8192"
  },
  "fileStoreInfo": {
    "fileStore": [
      {
        "name": "Local Disk C:",
        "volume": "Volume1234",
        "mountPoint": "C:\\",
        "uuid": "123e4567-e89b-12d3-a456-426614174000",
        "fsType": "NTFS",
        "description": "Primary System Partition",
        "freeSpace": 2147483648,
        "totalSpace": 10737418240,
        "usableSpace": 20634418240
      }
    ],
    "hwDisk": [
      {
        "name": "Disk 0",
        "model": "Samsung SSD 970 EVO Plus",
        "serial": "SN1234567890",
        "size": 500107862016
      }
    ]
  },
  "networkInfo": {
    "ifNetwork": [
      {
        "index": 1,
        "name": "eth0",
        "dispayName": "Ethernet Adapter",
        "mac": "00:1A:2B:3C:4D:5E",
        "ipv4": "[\"192.168.1.1\", \"10.0.0.1\"]",
        "ipv6": "[\"fe80::1\", \"::1\"]",
        "ifOperStatus": 1,
        "mtu": 1500,
        "speed": 1000000000,
        "bytesRecv": 10485760,
        "bytesSent": 20971520,
        "packetsRecv": 1000,
        "packetsSent": 1200,
        "inErrors": 5,
        "outErrors": 3,
        "inDrops": 2
      }
    ],
    "hostName": "string",
    "domainName": "string",
    "dnsServers": [
      "string"
    ],
    "ipv4DefaultGateway": "string",
    "ipv6DefaultGateway": "string"
  }
}

属性

名称 类型 必选 约束 中文名 说明
model string false none 硬件型号名称。


该字段记录硬件的型号名称,通常用于标识不同的硬件设备。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code "设备型号A"}。



JSON 输出示例:



{
"model": "设备型号A"
}

硬件型号名称。
manufacturer string false none 硬件制造商的名称。


该字段记录硬件制造商的名称,通常用于标识硬件的生产厂商。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code "公司XYZ"}。



JSON 输出示例:



{
"manufacturer": "公司XYZ"
}

硬件制造商的名称。
uuid string false none 硬件的唯一标识符 (UUID)。


该字段记录硬件的唯一标识符,通常用于标识硬件的唯一性。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code "123e4567-e89b-12d3-a456-426655440000"}。



JSON 输出示例:



{
"uuid": "123e4567-e89b-12d3-a456-426655440000"
}

硬件的唯一标识符 (UUID)。
serialNumber string false none 硬件的序列号。


该字段记录硬件的序列号,通常用于标识硬件的生产批次和唯一性。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code "SN123456789"}。



JSON 输出示例:



{
"serialNumber": "SN123456789"
}

硬件的序列号。
firmware HwFirmware false none 硬件的固件信息,包括固件名称、版本、制造商等。


该字段记录硬件的固件信息,通常用于标识硬件的固件版本和制造商。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new HwFirmware()}。



JSON 输出示例:



{
"firmware":{...}
}

硬件的固件信息,包括固件名称、版本、制造商等。
mb HwMotherBoard false none 硬件的主板信息,包括主板型号、芯片组、制造商等。


该字段记录硬件的主板信息,通常用于标识硬件的主板型号和制造商。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new HwMotherBoard()}。



JSON 输出示例:



{
"mb":{...}
}

硬件的主板信息,包括主板型号、芯片组、制造商等。
memoryInfo MemoryInfo false none 系统内存详细信息,包括物理内存、虚拟内存、厂商、规格等。


该字段记录系统内存的详细信息,通常用于标识系统内存的容量和制造商。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new MemoryInfo()}。



JSON 输出示例:



{
"memoryInfo":{...}
}

系统内存详细信息,包括物理内存、虚拟内存、厂商、规格等。
fileStoreInfo FileStoreInfo false none 文件存储设备的信息,包括挂载点、文件系统类型、容量及剩余空间。


该字段记录文件存储设备的信息,通常用于标识文件存储设备的容量和文件系统类型。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new FileStoreInfo()}。



JSON 输出示例:



{
"fileStoreInfo":{...}
}

文件存储设备的信息,包括挂载点、文件系统类型、容量及剩余空间。
networkInfo NetworkInfo false none 网络信息。


该字段记录网络的详细信息,包括网络名称、网络类型、网络状态、网络速度等。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new NetworkInfo()}。



JSON 输出示例:



{
"networkInfo":{...}
}

GetHwInfoResp

{
  "hwInfo": {
    "model": "设备型号A",
    "manufacturer": "公司XYZ",
    "uuid": "123e4567-e89b-12d3-a456-426655440000",
    "serialNumber": "SN123456789",
    "firmware": {
      "name": "CPU固件",
      "version": "1.0.0",
      "manufacturer": "公司XYZ",
      "releaseDate": "2025-01-01",
      "description": "这是固件的描述信息"
    },
    "mb": {
      "version": "1.0.0",
      "manufacturer": "公司XYZ",
      "model": "主板型号A",
      "serialNumber": "MB123456789"
    },
    "memoryInfo": {
      "physicalMemory": "8192",
      "swapMemory": "8192",
      "hwMemory": "8192"
    },
    "fileStoreInfo": {
      "fileStore": [
        {
          "name": "[",
          "volume": "[",
          "mountPoint": "[",
          "uuid": "[",
          "fsType": "[",
          "description": "[",
          "freeSpace": "[",
          "totalSpace": "[",
          "usableSpace": "["
        }
      ],
      "hwDisk": [
        {
          "name": "[",
          "model": "[",
          "serial": "[",
          "size": "["
        }
      ]
    },
    "networkInfo": {
      "ifNetwork": [
        {
          "index": "[",
          "name": "[",
          "dispayName": "[",
          "mac": "[",
          "ipv4": "[",
          "ipv6": "[",
          "ifOperStatus": "[",
          "mtu": "[",
          "speed": "[",
          "bytesRecv": "[",
          "bytesSent": "[",
          "packetsRecv": "[",
          "packetsSent": "[",
          "inErrors": "[",
          "outErrors": "[",
          "inDrops": "["
        }
      ],
      "hostName": "string",
      "domainName": "string",
      "dnsServers": [
        "string"
      ],
      "ipv4DefaultGateway": "string",
      "ipv6DefaultGateway": "string"
    }
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
hwInfo HwInfo false none 硬件信息内容。


包含系统的硬件配置信息,例如 CPU 型号、内存大小、存储容量和操作系统版本等。
类型为{@link HwInfo}。


硬件信息内容,例如 CPU 型号、内存大小、存储容量和操作系统版本
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetHwInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "hwInfo": {
      "model": "设备型号A",
      "manufacturer": "公司XYZ",
      "uuid": "123e4567-e89b-12d3-a456-426655440000",
      "serialNumber": "SN123456789",
      "firmware": {
        "name": "CPU固件",
        "version": "1.0.0",
        "manufacturer": "公司XYZ",
        "releaseDate": "2025-01-01",
        "description": "这是固件的描述信息"
      },
      "mb": {
        "version": "1.0.0",
        "manufacturer": "公司XYZ",
        "model": "主板型号A",
        "serialNumber": "MB123456789"
      },
      "memoryInfo": {
        "physicalMemory": "8192",
        "swapMemory": "8192",
        "hwMemory": "8192"
      },
      "fileStoreInfo": {
        "fileStore": [
          {}
        ],
        "hwDisk": [
          {}
        ]
      },
      "networkInfo": {
        "ifNetwork": [
          {}
        ],
        "hostName": "string",
        "domainName": "string",
        "dnsServers": [
          "string"
        ],
        "ipv4DefaultGateway": "string",
        "ipv6DefaultGateway": "string"
      }
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetHwInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

GetNetworkInfoResp

{
  "networkInfo": {
    "ifNetwork": [
      {
        "index": 1,
        "name": "eth0",
        "dispayName": "Ethernet Adapter",
        "mac": "00:1A:2B:3C:4D:5E",
        "ipv4": "[\"192.168.1.1\", \"10.0.0.1\"]",
        "ipv6": "[\"fe80::1\", \"::1\"]",
        "ifOperStatus": 1,
        "mtu": 1500,
        "speed": 1000000000,
        "bytesRecv": 10485760,
        "bytesSent": 20971520,
        "packetsRecv": 1000,
        "packetsSent": 1200,
        "inErrors": 5,
        "outErrors": 3,
        "inDrops": 2
      }
    ],
    "hostName": "string",
    "domainName": "string",
    "dnsServers": [
      "string"
    ],
    "ipv4DefaultGateway": "string",
    "ipv6DefaultGateway": "string"
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
networkInfo NetworkInfo false none 网络信息。


该字段记录网络的详细信息,包括网络名称、网络类型、网络状态、网络速度等。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new NetworkInfo()}。



JSON 输出示例:



{
"networkInfo":{...}
}
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetNetworkInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "networkInfo": {
      "ifNetwork": [
        {
          "index": "[",
          "name": "[",
          "dispayName": "[",
          "mac": "[",
          "ipv4": "[",
          "ipv6": "[",
          "ifOperStatus": "[",
          "mtu": "[",
          "speed": "[",
          "bytesRecv": "[",
          "bytesSent": "[",
          "packetsRecv": "[",
          "packetsSent": "[",
          "inErrors": "[",
          "outErrors": "[",
          "inDrops": "["
        }
      ],
      "hostName": "string",
      "domainName": "string",
      "dnsServers": [
        "string"
      ],
      "ipv4DefaultGateway": "string",
      "ipv6DefaultGateway": "string"
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetNetworkInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

GetMemoryInfoResp

{
  "memoryInfo": {
    "physicalMemory": "8192",
    "swapMemory": "8192",
    "hwMemory": "8192"
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
memoryInfo MemoryInfo false none 系统内存详细信息,包括物理内存、虚拟内存、厂商、规格等。


该字段记录系统内存的详细信息,通常用于标识系统内存的容量和制造商。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new MemoryInfo()}。



JSON 输出示例:



{
"memoryInfo":{...}
}

系统内存详细信息,包括物理内存、虚拟内存、厂商、规格等。
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetMemoryInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "memoryInfo": {
      "physicalMemory": "8192",
      "swapMemory": "8192",
      "hwMemory": "8192"
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetMemoryInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误

GetFileStoreInfoResp

{
  "fileStoreInfo": {
    "fileStore": [
      {
        "name": "Local Disk C:",
        "volume": "Volume1234",
        "mountPoint": "C:\\",
        "uuid": "123e4567-e89b-12d3-a456-426614174000",
        "fsType": "NTFS",
        "description": "Primary System Partition",
        "freeSpace": 2147483648,
        "totalSpace": 10737418240,
        "usableSpace": 20634418240
      }
    ],
    "hwDisk": [
      {
        "name": "Disk 0",
        "model": "Samsung SSD 970 EVO Plus",
        "serial": "SN1234567890",
        "size": 500107862016
      }
    ]
  },
  "status": 0,
  "message": "[\"操作成功\"]"
}

属性

名称 类型 必选 约束 中文名 说明
fileStoreInfo FileStoreInfo false none 文件存储设备的信息,包括挂载点、文件系统类型、容量及剩余空间。


该字段记录文件存储设备的信息,通常用于标识文件存储设备的容量和文件系统类型。
在 JSON 序列化时,该字段直接输出原始值。



示例值:



  • {@code new FileStoreInfo()}。



JSON 输出示例:



{
"fileStoreInfo":{...}
}

文件存储设备的信息,包括挂载点、文件系统类型、容量及剩余空间。
status integer false none 响应状态码。


表示接口调用的执行状态,默认值为{@code ErrorCode.ERR_OK.getCode()},即操作成功。
可以通过{@link ErrorCode} 枚举类获取所有状态码。




示例:


  • 0操作成功。

  • 1操作失败。

  • 400请求参数错误。



响应状态码。0表示成功其他值表示失败可参考ErrorCode类。
message [string] false none 响应消息描述。


表示接口调用的状态描述信息,支持多条消息内容。
默认值为{@code ErrorCode.ERR_OK.getDescription()},即 "操作成功"。




示例:


  • ["操作成功"]

  • ["参数错误", "字段name不能为空"]



响应消息描述,支持多条消息内容。

ProtocolRespGetFileStoreInfoResp

{
  "ver": 0,
  "cryptoType": 0,
  "timeStamp": 0,
  "msgContent": {
    "fileStoreInfo": {
      "fileStore": [
        {
          "name": "[",
          "volume": "[",
          "mountPoint": "[",
          "uuid": "[",
          "fsType": "[",
          "description": "[",
          "freeSpace": "[",
          "totalSpace": "[",
          "usableSpace": "["
        }
      ],
      "hwDisk": [
        {
          "name": "[",
          "model": "[",
          "serial": "[",
          "size": "["
        }
      ]
    },
    "status": 0,
    "message": "[\"操作成功\"]"
  },
  "code": 0
}

属性

名称 类型 必选 约束 中文名 说明
ver integer false none 协议版本号。


必填字段,定义协议的版本号,用于兼容性控制。



校验规则:


  • 非空校验:必须提供版本号。

  • 值范围校验1 到 9999。




示例:


protocol.setVer(1);

cryptoType integer false none 加密类型。


必填字段,定义协议使用的加密方式。



校验规则:


  • 非空校验:必须提供加密类型。

  • 值范围校验0 到 4。




示例:


protocol.setCryptoType(0); // 未加密
protocol.setCryptoType(1); // AES 加密

timeStamp integer(int64) false none 时间戳。


必填字段,定义协议的时间戳,用于记录消息的发送时间。



校验规则:


  • 非空校验:必须提供时间戳。

  • 自定义校验:使用{@link ValidProtocolTimestamp} 验证时间戳的合法性。




示例:


protocol.setTimeStamp(System.currentTimeMillis());

msgContent GetFileStoreInfoResp false none 消息内容。


可选字段,表示具体的消息内容,由泛型参数{@code T} 决定其类型。



校验规则:


  • 嵌套校验:对{@code msgContent} 内容进行校验(如果存在)。




示例:


protocol.setMsgContent(new MyMessage());

code integer false none 状态码。


表示协议的响应状态码,例如 HTTP 状态码200 表示成功400 表示请求错误等)。


状态码例如200 表示成功400 表示请求错误