48 lines
3.7 KiB
Markdown
48 lines
3.7 KiB
Markdown
## Просмотры публикаций
|
||
|
||
- Интеграция с Google Analytics для отслеживания просмотров публикаций
|
||
- Подсчет уникальных пользователей и общего количества просмотров
|
||
- Автоматическое обновление статистики при запросе данных публикации
|
||
|
||
## Мультидоменная авторизация
|
||
|
||
- Поддержка авторизации для разных доменов
|
||
- Автоматическое определение сервера авторизации
|
||
- Корректная обработка CORS для всех поддерживаемых доменов
|
||
|
||
## Система кеширования
|
||
|
||
- Redis используется в качестве основного механизма кеширования
|
||
- Поддержка как синхронных, так и асинхронных функций в декораторе cache_on_arguments
|
||
- Автоматическая сериализация/десериализация данных в JSON с использованием CustomJSONEncoder
|
||
- Резервная сериализация через pickle для сложных объектов
|
||
- Генерация уникальных ключей кеша на основе сигнатуры функции и переданных аргументов
|
||
- Настраиваемое время жизни кеша (TTL)
|
||
- Возможность ручной инвалидации кеша для конкретных функций и аргументов
|
||
|
||
## Webhooks
|
||
|
||
- Автоматическая регистрация вебхука для события user.login
|
||
- Предотвращение создания дублирующихся вебхуков
|
||
- Автоматическая очистка устаревших вебхуков
|
||
- Поддержка авторизации вебхуков через WEBHOOK_SECRET
|
||
- Обработка ошибок при операциях с вебхуками
|
||
- Динамическое определение endpoint'а на основе окружения
|
||
|
||
## CORS Configuration
|
||
|
||
- Поддерживаемые методы: GET, POST, OPTIONS
|
||
- Настроена поддержка credentials
|
||
- Разрешенные заголовки: Authorization, Content-Type, X-Requested-With, DNT, Cache-Control
|
||
- Настроено кэширование preflight-ответов на 20 дней (1728000 секунд)
|
||
|
||
## Пагинация комментариев по веткам
|
||
|
||
- Эффективная загрузка комментариев с учетом их иерархической структуры
|
||
- Отдельный запрос `load_comments_branch` для оптимизированной загрузки ветки комментариев
|
||
- Возможность загрузки корневых комментариев статьи с первыми ответами на них
|
||
- Гибкая пагинация как для корневых, так и для дочерних комментариев
|
||
- Использование поля `stat.comments_count` для отображения количества ответов на комментарий
|
||
- Добавление специального поля `first_replies` для хранения первых ответов на комментарий
|
||
- Поддержка различных методов сортировки (новые, старые, популярные)
|
||
- Оптимизированные SQL запросы для минимизации нагрузки на базу данных |