API - Список блоков панелей
Материал из WebHMI Wiki
Для получения списка всех блоков панелей необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/blocks.
Для получения информации о конкретном блоке необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/blocks/12. Здесь 12 - это ID нужного блока.
В заголовках запроса ноебходимо передать API key. Например:
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом JSON.
Accept: application/json Content-Type: application/json
Пример запроса списка всех блоков:
URL: http://192.168.1.1/api/blocks
Method: GET
Заголовки:
Accept: application/json Content-Type: application/json Accept-Encoding: gzip, deflate, sdch X-WH-APIKEY:F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Пример ответа:
[ { "id": "1", "dashboard_id": "1", "zindex": "1", "pos_left": "0", "pos_top": "0", "pos_width": "896", "pos_height": "445", "block_type": "Indicator", "title": "Фон", "url": "", "imageid": "1", "label": "", "align": "", "fontsize": "", "regid": "", "is_button": "false", "hide_value": "false", "start_value": "", "end_value": "", "colorize": "false" }, { "id": "2", "dashboard_id": "1", "zindex": "3", "pos_left": "714", "pos_top": "277", "pos_width": "85", "pos_height": "25", "block_type": "TextValue", "title": "", "url": "", "imageid": "", "label": "", "align": "center", "fontsize": "4", "regid": "3", "is_button": "false", "hide_value": "false", "start_value": "", "end_value": "", "colorize": "false" }, { "id": "3", "dashboard_id": "1", "zindex": "3", "pos_left": "450", "pos_top": "277", "pos_width": "110", "pos_height": "25", "block_type": "TextValue", "title": "", "url": "", "imageid": "", "label": "", "align": "left", "fontsize": "4", "regid": "5", "is_button": "", "hide_value": "", "start_value": "", "end_value": "" } ]
Пример запроса информации о блоке номер 1:
URL: http://192.168.1.1/api/blocks/1
Method: GET
Заголовки:
Accept: application/json Content-Type: application/json Accept-Encoding: gzip, deflate, sdch X-WH-APIKEY:F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Пример ответа:
{ "id": "1", "dashboard_id": "1", "zindex": "1", "pos_left": "0", "pos_top": "0", "pos_width": "896", "pos_height": "445", "block_type": "Indicator", "title": "Фон", "url": "", "imageid": "1", "label": "", "align": "", "fontsize": "", "regid": "", "is_button": "false", "hide_value": "false", "start_value": "", "end_value": "", "colorize": "false" }
Атрибуты блоков:
id | int | Уникальный идентификатор блока |
dashboard_id | string | Идентификатор панели на которой отображается блок |
zindex | int | Z-index блока (номер "слоя") |
pos_left | int | Положение на панели от левого края в пикселях |
pos_top | int | Положение на панели от вкрхнкго края в пикселях |
pos_width | int | Высота блока в пикселях |
pos_height | int | Ширина блока в пикселях |
block_type | string | Тип блока. Варианты: Indicator, TextValue, Gauge |
title | string | Название блока |
url | string | URL для ссылок |
imageid | int | ID изображения которое нужно отображать |
label | string | Текст который нужно выводить в блоке |
align | string | Выравнивание текста. Варианты: left, right, center |
fontsize | int | Размер шрифта, 1-5 |
regid | int | ID регистра из которого брать значение |
is_button | int | 0 = пользователь не может изменять значение, 1 = пользователь может изменять значение |
hide_value | int | 0 = отображать числовое значение, 1 = не отображать числовое значение |
start_value | double | Начальное значение для Gauge |
end_value | double | Конечное значение для Gauge |
colorize | int | 0 = отображать блок черным цветом, 1 = раскрашивать блок в соответствии со статусом регистра |