Страница 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":"Нет такого обьекта!"}