Версия:

Клиентские логи

Клиентская приложение выводит логи в консоль в соответствии с клиентским кодом, однако есть логи взаимодействия с сервером, которыми можно управлять. Речь идет о клиентах, где для связи используется наша библиотека 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.