Клиентские логи
Клиентская приложение выводит логи в консоль в соответствии с клиентским кодом, однако есть логи взаимодействия с сервером, которыми можно управлять. Речь идет о клиентах, где для связи используется наша библиотека go_core_query (см в npm). См. Подключение к бэкэнду.
Выводить ли логи взаимодействия с сервером определяется при инициализации go_core_query. Как правило, в наших реализациях признак берется из куки debugMode, которая переключается функцией debug(). Но по факту, это параметр debug:boolean при инициализации нового инстанса подключения.
Если флаг включен, то в консоль будет выводиться две группы. Первая, светло-салатовая, выводит только ушедший запрос, а вторая, темно-зеленая, содержит уже два объекта: запрос и ответ. При такой реализации объект запроса в консоли выводится дважды, но это сделано специально, так как между запросом и ответом могут быть и другие запросы и чтобы видеть полную картину, мы выводим информацию и когда запрос ушел и когда он вернулся.
Подробнее про просмотр обмена клинтской части приложения с сервером.
Для того чтобы в консоле браузера (DevTools) выводился обмен запросами через функцию api (в прошлом socketQuery), необходимо в этой консоле единажды вызвать функцию:
debug()
// Выведет debug mode ON'
после этого перезагрузить страницу. Режим запоминается в cookies.
Вывод в консоль для одного метода состоит из двух групп:
- Исходящий запрос
- Содержит объект запроса
- Результат
- Содержит объект запроса
- Содержит объект ответа
Пример ➢ User ➢ get_me
{
"command": "get_me",
"object": "User",
"params": {
"getRoles": false
}
}
Пришел ответ ➢ User ➢ get_me
// Объект с запросом (дублируется, так как исходящий объект (салатовый), мог затеряться вверху, так как запросов может быть много и они независимы.
{
"command": "get_me",
"object": "User",
"params": {
"getRoles": false
}
}
// Объект с ответом
{
"time": 3,
"start": 1773213403269,
"toastr": {
"type": "success",
"message": "noToastr",
"title": "Ок"
},
"data": {
"user": {
"id": 1,
"firstname": "Ivan",
...
},
"message_en": "noToastr"
},
"errName": "noToastr",
"type": "success",
"code": 0,
"msg": "noToastr",
}
В параметрах инициализации инстанса подключения имеется также параметр debugFull, и если его указать true, библиотека выводит значительно больше информации о своих действиях, что позволяет разобраться с проблемой, если вам не удается установить соединение с сервером или в еще каких-либо нештатных ситуациях.
Глобальные объекты клиентской части GoCore
Фронтенд системы написан давно но основательно. Он имеет системы окон и таблиц, выпадающих списков и других компонентов. Часть информации, о загруженных инстансах и настройках, хранится в глобальном объекте MB. Там содержится очень много информации, вы можете при желании сами изучить этот объект. Однако вот что вам может пригодиться: MB.Tables.tables, MB.Forms.forms, MB.Frames.frames. Это массивы с инстансами, где содержится вся загруженная информация (о профайле, о полях, сами данные, все настройки, состояния).
Также вы можете получить информацию о пользователе через MB.User.