[Модуль] Расширение HTTP API (addapi)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Ответить
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

[Модуль] Расширение HTTP API (addapi)

Сообщение 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}}
Модуль в коннекте - Ссылка
За это сообщение автора SmoKE_xDDD поблагодарил:
chimik (Чт июл 25, 2019 11:19 pm)
Рейтинг: 1.16%
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение xor » Пт июл 26, 2019 12:16 am

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}}
Модуль в коннекте - Ссылка
а кириллицу он как выводит?
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение xor » Пт июл 26, 2019 12:17 am

xor писал(а):
Пт июл 26, 2019 12:16 am
SmoKE_xDDD писал(а):
Чт июл 25, 2019 10:32 pm

Что собственно делает модуль?
а кириллицу он как выводит?
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение 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!"}
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение 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 в строке браузера
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение SmoKE_xDDD » Пт июл 26, 2019 12:26 am

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 ошибка, хотя я видел в БЗ примеры
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение xor » Пт июл 26, 2019 12:55 am

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}
odinvolk
Сообщения: 52
Зарегистрирован: Ср май 31, 2017 3:06 am
Откуда: odinwolk@gmail.com
Благодарил (а): 193 раза
Поблагодарили: 18 раз

Re: [Модуль] Расширение HTTP API (addapi)

Сообщение odinvolk » Вт окт 17, 2023 4:35 pm

Если немного изменить то и кириллица в норме будет

Код: Выделить всё

       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":"Нет такого обьекта!"}
Connect ---- Telegram
Яндекс.Деньги для благодарностей за помощь или нажмите кнопку "Спасибо"!!!
Ответить