API: HTML-страницы
API: HTML-страницы
Требуется авторизация. Права наследуются от узла-родителя (nodeId).
Страницы — /api/v1/pages
| Метод | Путь | Право на узел | Описание |
|---|---|---|---|
| GET | /pages?nodeId={uuid} | view | Список страниц узла |
| POST | /pages | edit | Создать страницу |
| GET | /pages/{id} | view | Страница с HTML |
| PATCH | /pages/{id} | edit | Обновить |
| DELETE | /pages/{id} | delete | Удалить |
Тело создания:
{ "nodeId": "uuid", "title": "Добро пожаловать", "slug": "welcome", "htmlContent": "<p>Текст</p>"}Обновление содержимого:
{ "htmlContent": "<h2>Заголовок</h2><p>Текст</p>", "pageScript": "$container.find('.toggle').on('click', function () { ... });"}Скрипт страницы (page_script)
Поле pageScript / page_script — пользовательский JavaScript, выполняемый в браузере после отрисовки HTML и WebPart на странице.
- Редактируется в UI страницы (секция «Скрипт страницы») или через PATCH API
- Доступны:
$(jQuery),context(page,user),$container(jQuery-обёртка области просмотра) - Скрипт может вернуть функцию
disposeдля очистки обработчиков при уходе со страницы - Максимальная длина: 65 536 символов
- Требуется право
editна страницу для изменения; выполняется у всех, кто может просматривать страницу
Пример:
$container.find('[data-toggle]').on('click', function () { $(this).closest('.card').toggleClass('is-open');});
return function dispose() { $container.find('[data-toggle]').off('click');};Санитизация HTML
Перед сохранением контент очищается (sanitize-html): удаляются <script>, опасные атрибуты, недопустимые теги. Разрешены заголовки, списки, ссылки, таблицы, изображения.
События
page.createdpage.updatedpage.deleted
Frontend
Редактор: Quill 1.3.7 (CDN). Маршрут: #/nodes/{nodeId}/pages/{pageId}.