Страница 1 из 1
[Модуль] Расширение HTTP API (addapi)
Добавлено: Чт июл 25, 2019 10:32 pm
SmoKE_xDDD
Привет всем! Очень хочу помочь в развитии majordomo и вот решил упаковать простой код в модуль. Собственно модуль создан больше для того, чтобы я разобрался с системой модулей и общим кодом в системе.
Что собственно делает модуль?
- Отвечает json'ом на запрос вида /module/addapi.html?op=get&object=<OBJECT> все свойства объекта в виде json класса.
Код: Выделить всё
{"status":"ok","timestamp":1564081571,"0":{"ID":"2010","TITLE":"power","VALUE":null},"1":{"ID":"853","TITLE":"bright","VALUE":null},"2":{"ID":"854","TITLE":"rgb","VALUE":null},"3":{"ID":"855","TITLE":"color_mode","VALUE":null},"4":{"ID":"856","TITLE":"online","VALUE":null},"5":{"ID":"857","TITLE":"ct","VALUE":null},"6":{"ID":"858","TITLE":"flow","VALUE":null}}
- Так же, есть возможность получить только 1 свойство объекта, вот так: /module/addapi.html?op=get&object=<OBJECT>&p=<PROP>
Код: Выделить всё
{"status":"ok","timestamp":1564082418,"0":{"ID":"853","TITLE":"bright","VALUE":null}}
Модуль в коннекте -
Ссылка
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:16 am
xor
SmoKE_xDDD писал(а): ↑Чт июл 25, 2019 10:32 pm
Привет всем! Очень хочу помочь в развитии majordomo и вот решил упаковать простой код в модуль. Собственно модуль создан больше для того, чтобы я разобрался с системой модулей и общим кодом в системе.
Что собственно делает модуль?
- Отвечает json'ом на запрос вида /module/addapi.html?op=get&object=<OBJECT> все свойства объекта в виде json класса.
Код: Выделить всё
{"status":"ok","timestamp":1564081571,"0":{"ID":"2010","TITLE":"power","VALUE":null},"1":{"ID":"853","TITLE":"bright","VALUE":null},"2":{"ID":"854","TITLE":"rgb","VALUE":null},"3":{"ID":"855","TITLE":"color_mode","VALUE":null},"4":{"ID":"856","TITLE":"online","VALUE":null},"5":{"ID":"857","TITLE":"ct","VALUE":null},"6":{"ID":"858","TITLE":"flow","VALUE":null}}
- Так же, есть возможность получить только 1 свойство объекта, вот так: /module/addapi.html?op=get&object=<OBJECT>&p=<PROP>
Код: Выделить всё
{"status":"ok","timestamp":1564082418,"0":{"ID":"853","TITLE":"bright","VALUE":null}}
Модуль в коннекте -
Ссылка
а кириллицу он как выводит?
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:17 am
xor
xor писал(а): ↑Пт июл 26, 2019 12:16 am
SmoKE_xDDD писал(а): ↑Чт июл 25, 2019 10:32 pm
Что собственно делает модуль?
а кириллицу он как выводит?
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:17 am
SmoKE_xDDD
xor писал(а): ↑Пт июл 26, 2019 12:16 am
а кириллицу он как выводит?
Как и любой другой json
Код: Выделить всё
{"status":"Error","error_text":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043e\u0431\u044c\u0435\u043a\u0442!"}
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:20 am
xor
SmoKE_xDDD писал(а): ↑Пт июл 26, 2019 12:17 am
xor писал(а): ↑Пт июл 26, 2019 12:16 am
а кириллицу он как выводит?
Как и любой другой json
Код: Выделить всё
{"status":"Error","error_text":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043e\u0431\u044c\u0435\u043a\u0442!"}
не понимаю тогда отличия от, например,
http://192.168.1.7/api/data/thiscomputer в строке браузера
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:26 am
SmoKE_xDDD
xor писал(а): ↑Пт июл 26, 2019 12:20 am
SmoKE_xDDD писал(а): ↑Пт июл 26, 2019 12:17 am
xor писал(а): ↑Пт июл 26, 2019 12:16 am
а кириллицу он как выводит?
Как и любой другой json
Код: Выделить всё
{"status":"Error","error_text":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u043e\u0431\u044c\u0435\u043a\u0442!"}
не понимаю тогда отличия от, например,
http://192.168.1.7/api/data/thiscomputer в строке браузера
А что система отвечает, можете кинуть? У меня 404 ошибка, хотя я видел в БЗ примеры
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Пт июл 26, 2019 12:55 am
xor
SmoKE_xDDD писал(а): ↑Пт июл 26, 2019 12:26 am
А что система отвечает, можете кинуть? У меня 404 ошибка, хотя я видел в БЗ примеры
Вот, покороче
Код: Выделить всё
{"request":{"url":"\/api\/data\/DarknessMode","params":[]},"object":{"name":"objects","data":null,"instance":null,"template":null,"result":null,"owner":null,"config":null,"title":"<#LANG_MODULE_OBJECT_INSTANCES#>","module_category":"<#LANG_SECTION_OBJECTS#>","id":"23","object_title":"DarknessMode","class_id":"24","class_title":"OperationalModes","description":"\u041d\u0430 \u0443\u043b\u0438\u0446\u0435 \u0442\u0435\u043c\u043d\u043e","location_id":"0"},"data":{"active":"1","Title":"\u0422\u0435\u043c\u043d\u043e","updated":"1564076903","updatedTime":"20:48","image":"fa-moon-o","Hide":false},"passed":0.011}
Re: [Модуль] Расширение HTTP API (addapi)
Добавлено: Вт окт 17, 2023 4:35 pm
odinvolk
Если немного изменить то и кириллица в норме будет
Код: Выделить всё
success:
echo json_encode($this->result, JSON_UNESCAPED_UNICODE); //json_decode($message, true, JSON_UNESCAPED_UNICODE);
exit;
error:
echo json_encode(array('status' => 'Error', 'error_text' => $this->error_msg), JSON_UNESCAPED_UNICODE);
{"status":"Error","error_text":"Нет такого обьекта!"}