Skip to content

指标分析

资源说明

看板的定义

看板为新的resource, 展现形式与Dashboard一样,权限与App一样。在看板列表中可以看到我自己创建的和别人授权给我的。展示模式分卡片样式和列表样式。有搜索、排序、分类功能。

看板结构说明

Kanban
字段类型描述
idLONG看板id
folderIdLONG看板所在文件夹的id
areaSTRING看板所在区域,默认为SELF_SERVICE
titleSTRING看板的标题
createdByLONG看板创建者的userId
createdAtDATE看板创建时间
updatedByLONG看板更新者的userId
updatedAtDATE看板更新时间
hsVersionLONG可选,本次编辑的版本号,从0开始,修改前先GET待修改资源获取当前版本号,修改时带上刚刚获取的版本号,服务端会检查并发冲突。不带版本号不检查并发冲突
tenantIdLONG租户Id
optionsOBJECT看板配置信息
options.configOBJECT看板配置信息
options.config.versionLONG看板创建版本,与系统版本一致
options.layoutsMAP看板里的图表布局信息
KanbanDto
字段类型描述
creatorOBJECT看板创建者信息
updaterOBJECT看板更新者信息
actionSTRING权限描述, admin-read-write是管理者权限,read-write是编辑者权限,read是查看者权限
isCollaboratedBOOLEAN是否协作
parentsOBJECT 数组看板所在的文件夹列表
menusLIST<MAP<STRING, STRING>>看板的三点菜单列表

接口说明

新增看板

请求URL

http
POST /api/kanbans HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

看板结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT看板的共同结构见看板结构说明

接口示例

http
POST /api/kanbans HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "title": "新建看板",
  "options": {
    "config": {
      "version": 4300
    },
    "layouts": {
    }
  }
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 57,
    "folderId": 0,
    "area": "SELF_SERVICE",
    "title": "新建看板",
    "options": {
      "config": {
        "version": 4300
      },
      "layouts": {
      }
    },
    "createdBy": 28130,
    "createdAt": "2023-02-08 18:00:55",
    "updatedBy": 28130,
    "updatedAt": "2023-02-08 18:00:55"
  }
}

复制看板

请求URL

http
POST /api/kanbans/{kanbanId}/duplicate HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT看板的共同结构见看板结构说明

接口示例

http
POST /api/kanbans/57/duplicate HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 58,
    "folderId": 0,
    "area": "SELF_SERVICE",
    "title": "新建看板 (1)",
    "options": {
      "config": {
        "version": 4300
      },
      "layouts": {
      }
    },
    "createdBy": 28130,
    "createdAt": "2023-02-08 18:06:07",
    "updatedBy": 28130,
    "updatedAt": "2023-02-08 18:06:07",
    "isDelete": false
  }
}

获取看板中所有的图表数据

请求URL

http
POST /api/kanbans/{kanbanId}/data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

图表结构说明 ChartDto数组

URL 参数
字段类型是否必须说明
timeoutInteger查询超时时间

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT图表数据,每种图表的共同结构见ChartDto结构说明

接口示例

http
POST /api/kanbans/25/data?timeout=3000 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
[
  {
    "cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
    "appId": 125783,
    "options": {
      "axes": [
        {
          "uid": "u125783_3_c10",
          "label": "caseWhen",
          "kind": "function",
          "dataset": 3,
          "op": "group",
          "args": [
            {
              "dataset": 3,
              "kind": "field",
              "op": "c10"
            }
          ],
          "datasetId": 3
        },
        {
          "appId": 125783,
          "uid": "u125783_3_c22",
          "label": "jn1",
          "kind": "measure",
          "op": "c22",
          "datasetId": 3
        }
      ],
      "where": [
      ],
      "having": [
      ],
      "sort": [
        {
          "kind": "reference",
          "op": "u125783_3_c22",
          "direction": "desc",
          "baseUid": "u125783_3_c10"
        }
      ],
      "timebar": {
        "current": "dateExp",
        "dateExp": "All Avaliable Date",
        "dateRange": [
        ],
        "show": false
      },
      "limit": 1000,
      "outerWhere": [
      ]
    },
    "queryString": {
      "refresh": false,
      "offset": 0
    }
  }
]
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
      "data": {
        "data": [
          [
            "华东",
            47014195
          ],
          [
            "中南",
            41179330
          ],
          [
            "华北",
            21889090
          ],
          [
            "西北",
            7516840
          ],
          [
            "西南",
            null
          ],
          [
            "东北",
            null
          ]
        ],
        "mapData": [
        ],
        "schema": [
          {
            "fieldName": "u125783_3_c10",
            "tags": {
            },
            "type": "string",
            "originType": "string",
            "config": {
            },
            "visible": true,
            "nativeType": "text",
            "suggestedTypes": [
              "string"
            ],
            "detectedType": "string",
            "basicType": "string",
            "hideValue": false,
            "defaultAggrType": "count"
          },
          {
            "fieldName": "u125783_3_c22",
            "tags": {
            },
            "type": "number",
            "originType": "number",
            "config": {
              "dialectName": "EngineDialect"
            },
            "visible": true,
            "nativeType": "numeric",
            "suggestedTypes": [
              "number",
              "string"
            ],
            "detectedType": "number",
            "basicType": "number",
            "hideValue": false,
            "defaultAggrType": "sum"
          }
        ],
        "pagable": true,
        "importSwitchable": true,
        "validFilterUids": [
        ]
      }
    }
  ]
}

获取看板中单个图表数据

请求URL

http
POST /api/kanbans/{kanbanId}/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

图表结构说明 ChartDto

URL 参数
字段类型是否必须说明
refreshSTRING是否强制刷新,取图表数据时,true表示不会用缓存,false表示可以使用缓存
enableSampleSTRINGenableSample为true的话,后端计算时对基础数据进行采样,每次运算只取前10000行

返回对象的格式说明

数据集数据 datasetResultDto

接口示例

http
POST /api/apps/125783/chart-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "cacheKey": "01GRRANRV0Z8VA84MY52D3WB7F",
  "options": {
    "where": [
    ],
    "having": [
    ],
    "outerWhere": [
    ],
    "axes": [
      {
        "uid": "u_1697bb6ffb9592e7_v",
        "kind": "field",
        "op": "省/自治区",
        "dataset": 3
      }
    ],
    "sort": [
      {
        "baseUid": "u_1697bb6ffb9592e7_v",
        "kind": "reference",
        "op": "u_1697bb6ffb9592e7_v",
        "direction": "asc"
      }
    ]
  },
  "queryString": {
    "limit": 100000
  }
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "data": [
      [
        "上海"
      ],
      [
        "云南"
      ],
      [
        "内蒙古"
      ],
      [
        "北京"
      ],
      [
        "吉林"
      ],
      [
        "四川"
      ],
      [
        "天津"
      ],
      [
        "宁夏"
      ],
      [
        "安徽"
      ],
      [
        "山东"
      ],
      [
        "山西"
      ],
      [
        "广东"
      ],
      [
        "广西"
      ],
      [
        "新疆"
      ],
      [
        "江苏"
      ],
      [
        "江西"
      ],
      [
        "河北"
      ],
      [
        "河南"
      ],
      [
        "浙江"
      ],
      [
        "海南"
      ],
      [
        "湖北"
      ],
      [
        "湖南"
      ],
      [
        "甘肃"
      ],
      [
        "福建"
      ],
      [
        "西藏自治区"
      ],
      [
        "贵州"
      ],
      [
        "辽宁"
      ],
      [
        "重庆"
      ],
      [
        "陕西"
      ],
      [
        "青海"
      ],
      [
        "黑龙江"
      ]
    ],
    "mapData": [
    ],
    "schema": [
      {
        "fieldName": "u_1697bb6ffb9592e7_v",
        "tags": {
        },
        "hideValue": false,
        "defaultAggrType": "count",
        "visible": true,
        "type": "string",
        "originType": "string",
        "config": {
        },
        "nativeType": "text",
        "basicType": "string",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string"
      }
    ],
    "pagable": true,
    "importSwitchable": true,
    "validFilterUids": [
    ]
  }
}

获取看板中的图表数据计数

请求URL

http
POST /api/kanbans/{kanbanId}/chart-data/count HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

图表结构说明 ChartDto

URL 参数
字段类型是否必须说明
refreshSTRING是否强制刷新,取图表数据时,true表示不会用缓存,false表示可以使用缓存

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
data.totalHitsINTEGER图表数据的总行数

接口示例

http
POST /api/kanbans/125783/chart-data/count HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "cacheKey": "01GRRANRV0Z8VA84MY52D3WB7F",
  "options": {
    "where": [
    ],
    "having": [
    ],
    "outerWhere": [
    ],
    "axes": [
      {
        "uid": "u_1697bb6ffb9592e7_v",
        "kind": "field",
        "op": "省/自治区",
        "dataset": 3
      }
    ],
    "sort": [
      {
        "baseUid": "u_1697bb6ffb9592e7_v",
        "kind": "reference",
        "op": "u_1697bb6ffb9592e7_v",
        "direction": "asc"
      }
    ]
  },
  "queryString": {
    "limit": 100000
  }
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "data": [
    ],
    "totalHits": 10
  }
}

轮询获取看板中的图表数据

请求URL

http
POST /api/kanbans/{kanbanId}/poll-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

图表结构说明 ChartDto数组

URL 参数
字段类型是否必须说明
originRequestIdSTRING源请求Id
timeoutInteger查询超时时间

返回对象的格式说明

数据集数据 datasetResultDto

接口示例

http
POST /api/kanbans/25/poll-data HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
[
  {
    "cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
    "appId": 125783,
    "options": {
      "axes": [
        {
          "uid": "u125783_3_c10",
          "label": "caseWhen",
          "kind": "function",
          "dataset": 3,
          "op": "group",
          "args": [
            {
              "dataset": 3,
              "kind": "field",
              "op": "c10"
            }
          ],
          "datasetId": 3
        },
        {
          "appId": 125783,
          "uid": "u125783_3_c22",
          "label": "jn1",
          "kind": "measure",
          "op": "c22",
          "datasetId": 3
        }
      ],
      "where": [
      ],
      "having": [
      ],
      "sort": [
        {
          "kind": "reference",
          "op": "u125783_3_c22",
          "direction": "desc",
          "baseUid": "u125783_3_c10"
        }
      ],
      "timebar": {
        "current": "dateExp",
        "dateExp": "All Avaliable Date",
        "dateRange": [
        ],
        "show": false
      },
      "limit": 1000,
      "outerWhere": [
      ]
    },
    "queryString": {
      "refresh": false,
      "offset": 0
    }
  }
]
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "cacheKey": "01GNXZK96N910XVNFSHPBAAB18",
      "data": {
        "data": [
          [
            "华东",
            47014195
          ],
          [
            "中南",
            41179330
          ],
          [
            "华北",
            21889090
          ],
          [
            "西北",
            7516840
          ],
          [
            "西南",
            null
          ],
          [
            "东北",
            null
          ]
        ],
        "mapData": [
        ],
        "schema": [
          {
            "fieldName": "u125783_3_c10",
            "tags": {
            },
            "type": "string",
            "originType": "string",
            "config": {
            },
            "visible": true,
            "nativeType": "text",
            "suggestedTypes": [
              "string"
            ],
            "detectedType": "string",
            "basicType": "string",
            "hideValue": false,
            "defaultAggrType": "count"
          },
          {
            "fieldName": "u125783_3_c22",
            "tags": {
            },
            "type": "number",
            "originType": "number",
            "config": {
              "dialectName": "EngineDialect"
            },
            "visible": true,
            "nativeType": "numeric",
            "suggestedTypes": [
              "number",
              "string"
            ],
            "detectedType": "number",
            "basicType": "number",
            "hideValue": false,
            "defaultAggrType": "sum"
          }
        ],
        "pagable": true,
        "importSwitchable": true,
        "validFilterUids": [
        ]
      }
    }
  ]
}

更新看板

请求URL

http
PUT /api/kanbans/{kanbanId} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

看板结构说明

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT看板的共同结构见看板结构说明

接口示例

http
PUT /api/kanbans/59 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "id": 59,
  "folderId": 0,
  "area": "SELF_SERVICE",
  "title": "新建看板",
  "options": {
    "config": {
      "version": 4300
    },
    "layouts": {
      "01GRT32MSJF75XDVYAZVDNJYMQ": {
        "i": "01GRT32MSJF75XDVYAZVDNJYMQ",
        "x": 0,
        "y": 0,
        "w": 6,
        "h": 6,
        "moved": false,
        "static": false,
        "zIndex": 901,
        "type": "chart",
        "version": 4300,
        "createdAt": "2023/2/9 11:21:33",
        "updatedAt": "2023/2/9 11:21:33",
        "measures": [
          {
            "enable": true,
            "appId": 126243,
            "datasetId": 32,
            "fieldName": "c1",
            "labelPlaceholder": "日期"
          }
        ],
        "dimensions": [
        ],
        "filters": [
        ]
      }
    }
  },
  "createdBy": 11549,
  "createdAt": "2023-02-08 18:33:26",
  "updatedBy": 11549,
  "updatedAt": "2023-02-08 18:33:26",
  "isDelete": false
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 59,
    "folderId": 0,
    "area": "SELF_SERVICE",
    "title": "新建看板",
    "options": {
      "config": {
        "version": 4300
      },
      "layouts": {
        "01GRT32MSJF75XDVYAZVDNJYMQ": {
          "static": false,
          "moved": false,
          "h": 6,
          "i": "01GRT32MSJF75XDVYAZVDNJYMQ",
          "filters": [
          ],
          "type": "chart",
          "version": 4300,
          "createdAt": "2023/2/9 11:21:33",
          "measures": [
            {
              "fieldName": "c1",
              "enable": true,
              "labelPlaceholder": "日期",
              "appId": 126243,
              "datasetId": 32
            }
          ],
          "w": 6,
          "x": 0,
          "y": 0,
          "zIndex": 901,
          "updatedAt": "2023/2/9 11:21:33",
          "dimensions": [
          ]
        }
      }
    },
    "createdBy": 11549,
    "createdAt": "2023-02-08 18:33:26",
    "updatedBy": 11549,
    "updatedAt": "2023-02-09 11:21:41",
    "isDelete": false
  }
}

分页查询看板

请求URL

http
GET /api/kanbans HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

URL 参数
字段类型是否必须说明
limitINTEGER分页获取个数,默认是1000
offsetINTEGER分页偏移量,默认是0
orderBySTRING排序字段

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT看板的共同结构见看板结构说明
totalHitsINTEGER看板总数量
offsetINTEGER当前分页偏移量

接口示例

http
GET /api/kanbans HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 1,
      "folderId": 0,
      "area": "SELF_SERVICE",
      "title": "新建看板",
      "options": {
        "config": {
          "version": 4300
        },
        "layouts": {
        }
      },
      "createdBy": 28125,
      "createdAt": "2022-12-27 10:27:47",
      "updatedBy": 28125,
      "updatedAt": "2022-12-27 10:27:47",
      "isDelete": false
    }
  ],
  "totalHits": 44,
  "offset": 0
}

根据Id查询看板

请求URL

http
GET /api/kanbans/{kanbanId} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT看板的共同结构见看板结构说明

接口示例

http
GET /api/kanbans/59 HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 59,
    "folderId": 0,
    "area": "SELF_SERVICE",
    "title": "新建看板",
    "options": {
      "config": {
        "version": 4300
      },
      "layouts": {
        "01GRT32MSJF75XDVYAZVDNJYMQ": {
          "static": false,
          "moved": false,
          "h": 6,
          "i": "01GRT32MSJF75XDVYAZVDNJYMQ",
          "filters": [
          ],
          "type": "chart",
          "version": 4300,
          "createdAt": "2023/2/9 11:21:33",
          "measures": [
            {
              "fieldName": "c1",
              "enable": true,
              "labelPlaceholder": "日期",
              "appId": 126243,
              "datasetId": 32
            }
          ],
          "w": 6,
          "x": 0,
          "y": 0,
          "zIndex": 901,
          "updatedAt": "2023/2/9 11:21:33",
          "dimensions": [
          ]
        }
      }
    },
    "createdBy": 11549,
    "createdAt": "2023-02-08 18:33:26",
    "updatedBy": 11549,
    "updatedAt": "2023-02-09 11:21:41",
    "isDelete": false,
    "creator": {
      "id": 11549,
      "name": "陈静",
      "email": "1057998108@qq.com",
      "loginName": "chenjing"
    },
    "updater": {
      "id": 11549,
      "name": "陈静",
      "email": "1057998108@qq.com",
      "loginName": "chenjing"
    },
    "action": "||admin|read|write",
    "parents": [
      {
        "id": 0,
        "title": "personal_area_root_folder",
        "options": {
          "rootType": "PERSONAL_ROOT_FOLDER"
        },
        "isDelete": false,
        "area": "SELF_SERVICE"
      }
    ]
  }
}

根据Id删除看板

请求URL

http
DELETE /api/kanbans/{kanbanId} HTTP/1.1

请求参数

request body 请求体

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
msgSTRING成功返回 success

接口示例

http
DELETE /api/kanbans/59 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success"
}

导出看板数据

请求URL

http
POST /api/kanbans/{kanbanId}/async-download HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体
字段类型是否必须说明
chartOptionsOBJECT图表配置
chartNamesOBJECT图表名称
chartOuterWheresOBJECT图表过滤条件
URL 参数
字段类型是否必须说明
timeoutInteger导出超时时间

返回对象的格式说明

返回一个zip文件,文件名是看板的名称,解压后的excel文件中每个sheet对应一个图表的聚合数据

轮询导出看板数据

请求URL

http
GET /api/kanbans/{kanbanId}/poll-download HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

request body 请求体

URL 参数
字段类型是否必须说明
originRequestIdSTRING源请求Id

返回对象的格式说明

如果导出任务没有完成,返回PENDING状态;若任务已完成,返回一个zip文件,文件名是看板的名称,解压后的excel文件中每个sheet对应一个图表的聚合数据

解除协作

请求URL

http
DELETE /api/kanbans/{kanbanId}/collaborate/cancel HTTP/1.1

请求参数

request body 请求体

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
msgSTRING成功返回 success

接口示例

http
DELETE /api/kanbans/59/collaborate/cancel HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success"
}

HENGSHI SENSE API 使用手册