Стартовая страница › Форумы › Разработка и интеграция › Инициализация API в веб-плагине
- В этой теме 7 ответов, 2 участника, последнее обновление 1 месяц назад сделано
Mikhail.
-
АвторСообщения
-
17.04.2025 в 17:16 #38165
akofor@mail.ru
УчастникРанее здесь была тема про взаимодействие плагина и модуля, нашел примеры использования API и захотел их применить в своем плагине
Плагин компилируется в .dll, который я помещаю в ScadaWeb
Внутри плагина есть Areas/Flegma/Pages/MyPage.cshtml
Сделал по аналогии с примерами https://github.com/RapidScada/scada-v6/tree/master/ScadaWeb/OpenPlugins/PlgMain/wwwroot/custom:@page
@model Scada.Web.Plugins.PlgFlegma.Areas.Flegma.Pages.MyPageModel<div id=»divDescr1″></div>
<div id=»divData1″></div>@section Scripts {
<script src=»~/js/scada-common.js»></script>
<script src=»~/lib/jquery/dist/jquery.min.js»></script>
<script src=»~/plugins/Main/js/main-api.js» asp-append-version=»true»></script><script>
document.addEventListener(«DOMContentLoaded», function() {
const mainApi = new MainApi({
rootPath: «/»
});const CNL_NUM = 101;
const REFR_RATE = 1000;function updateData() {
mainApi.getCurData(CNL_NUM, function(dto) {
if (dto && dto.ok) {
const val = dto.data[0].val;
const stat = dto.data[0].stat;
document.getElementById(«divData1»).innerHTML =
Value: ${val}<br>Status: ${stat}
;
}
setTimeout(updateData, REFR_RATE);
});
}updateData();
});
</script>
}Однако в веб-станции вижу пустую страницу, в анализе сети (F12- Network) загружается только MyPage, .js никаких не погружает
Если перейду напрямую http://localhost:10011/Api/Main/GetCurData?cnlNums=101 (у меня вебстанция на 10011), то вижу корректную информацию {«data»:[{«cnlNum»:101,»val»:1,»stat»:1}],»ok»:true,»msg»:»»}
Хочу узнать, где ошибка в коде страницы…
18.04.2025 в 08:07 #38172Mikhail
МодераторДобрый день!
Откройте код страницы в браузере по правой кнопке для проверки.18.04.2025 в 11:07 #38179akofor@mail.ru
Участник<div id=»divDescr1″></div>
<div id=»divData1″></div>весь код)
21.04.2025 в 15:29 #38200Mikhail
МодераторВыглядит некорректно. Сравните с кодом других плагинов, например.
21.04.2025 в 17:57 #38209akofor@mail.ru
УчастникВ коде страницы других плагинов есть нужные строчки:
<script src=»/lib/jquery/dist/jquery.min.js»></script>
<script src=»/lib/bootstrap/dist/js/bootstrap.bundle.min.js»></script>
<script src=»/js/scada-common.js?v=i3sMGtyt1lTSEf8acito3jEoqwdRCOMBEnhlW9xK8HU»></script>
и тд22.04.2025 в 12:26 #38220Mikhail
МодераторДа, но выше Вы написали, что они отсутствуют в фактическом коде страницы, которая отображается браузером. А должны присутствовать.
Переделайте какую-либо существующую страницу другого плагина в свою.23.04.2025 в 14:35 #38224akofor@mail.ru
УчастникЯ примерно это и сделал — взял из существующих плагинов часть кода, отвечающую за API, и вставил в свою… Просто из существующих плагинов есть только служебные по типу PlgMain, PlgChart, достаточно проблематично будет из них вычленить отдельную страницу для тестирования
24.04.2025 в 13:59 #38229Mikhail
МодераторОтладкой обычно занимается сам разработчик.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.