WINNUM Community
WinnumAjaxAuthHandler - Пример - Версия для печати

+- WINNUM Community (https://community.winnum.io)
+-- Сообщество Все сообщества (https://community.winnum.io/forumdisplay.php?fid=1)
+--- Сообщество Динамические приложения в WINNUM Platform (https://community.winnum.io/forumdisplay.php?fid=2)
+--- Темы: WinnumAjaxAuthHandler - Пример (/showthread.php?tid=35)



WinnumAjaxAuthHandler - Пример - Lamantur - 05-27-2025

Всем привет!

Для начала, хотел бы предупредить, что хотя ниже и упоминается конкретно модуль Испытания, но этот "Лайфхак" пригодится в любом другом месте. Поэтому смело окунайтесь в пост.

WINNUM SDK предлагает довольно обширное количество различных методов для разработки приложений. Однако, я недавно натолкнулся на некоторую проблему. В модуле Winnum Испытания мне хотелось получить информацию по испытаниям и вообще пользоваться стандартными отчетами у себя. Испытания предлагают два варианта нахождения прошедших испытаний:
1. Отчет об испытаниях;
2. Отчет по оборудованию;
Второй вариант легко повторить у себя в приложении, для этого не обязательно получать весь отчет. В поле ввода вводится стенд, а так же время, по которому и производится поиск. Не очень трудно догадаться, что выполнив функцию getSignal и указав конкретный сигнал, а можно и сразу несколько - мы получим все данные по прошедшим испытаниям, и даже больше чем в отчете, если нам это надо.
Сложность возникает, когда мы смотрим на Отчет об испытаниях.

   
Huh Huh Huh

Отчет отрабатывает довольно быстро а данные из этой таблицы были бы очень полезны в моем приложении.  Angel
Я хотел найти путь, по которому смог бы что-то получить из этой таблицы, но решение оказалось простым и изящным.
Далее просто описываю путь, повторяйте за мной  Cool

Нажимаем F12

Переходим на вкладку Сеть

   

Далее (выражаясь общими словами) выполняем запрос:

   


Далее нажимаю два раза на запрос в WinnumAjaxAuthHandler и вижу:

   

Big Grin


т.е. если в браузере отправить такой запрос, то я сразу получу все данные для этой таблицы. И даже ссылки и картинки присутствуют в ответе.

Осталось дело за малым - научиться работать с Ajax:

Делаем кнопку и в  нее - событие:


Код:
$('#FC204DC3-2522-438C-B523-09B4C85ABEBF').click(function(event){
const baseUrl = 'http://127.0.0.1/Winnum/servlets/WinnumAjaxAuthHandler';
const params = {
  cmdclass: 'winnum.views.pages.app.tts.reports.TestingSearchHandler',
  cmdmethod: 'performSearch',
  appid: 'winnum.org.app.WNApplicationInstance:1',
  callerId: 'refreshLoadingList',
  barCode: '',
  testingNumber: '',
  year: '2025',
  number: '',
  mode: 'yes',
  order: 'asc',
  offset: '0',
  limit: '100',
  _: ''
};

const url = `${baseUrl}?${new URLSearchParams(params).toString()}`;

fetch(url)
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json(); // или response.text() если данные не в JSON
  })
  .then(data => {
    console.log('Полученные данные:', data);
    // Здесь вы можете работать с полученными данными
  })
  .catch(error => {
    console.error('Произошла ошибка:', error);
  });
});


Запускаем, нажимаем:

   


Теперь у вас есть данные и вы можете соорудить таблицу, графики, мини-отчеты, использовать дальше для любых своих целей. Cool