Skip to content

ENIGMA

Сервис для создания и управления защищёнными заметками с поддержкой шифрования, сжатия времени жизни и различных параметров безопасности.

Основные возможности

  • Создание заметок - Возможность создать новую защищённую заметку с текстом или файлом
  • Автоматическое удаление - Заметки можно настроить на автоматическое удаление через определённое время
  • Защита паролем - Опциональная защита заметки паролем для доступа
  • Ограничение просмотров - Ограничение количества раз, которые заметка может быть просмотрена
  • Загрузка файлов - Возможность прикрепления файлов к заметке
  • QR-коды - Генерация QR-кодов для удобного обмена ссылками на заметки
  • Жалобы на контент - Механизм для жалоб на содержимое заметок
  • Наклейки - Возможность добавления наклеек при создании заметки

Структура сервиса

Сервис состоит из нескольких основных страниц и режимов:

Главная страница создания заметки

Отображает интерфейс для создания новой заметки с поддержкой различных режимов.

Режимы:

  • NewNote - Режим создания новой заметки
  • ReadyNote - Режим отображения созданной заметки с информацией для обмена
  • ShowNote - Режим просмотра существующей заметки
  • PasswordNote - Режим ввода пароля для доступа к защищённой заметке
  • ConfirmReadNote - Режим подтверждения перед просмотром заметки
  • LoadNote - Режим загрузки заметки по ID
  • ExpiredNote - Режим отображения истёкшей или удалённой заметки
  • HiddenPage (/enigma/hidden) - Скрытая страница для работы с приватными ссылками
  • Error Page (/enigma/error) - Страница ошибок

Интерактивный фон

Компонент InteractiveBackground отображает анимированный фон с эффектом ночи.

Основные компоненты и модули

NoteConfig Module

Модуль для конфигурации параметров заметки.

Параметры конфигурации:

  • durationHours - Время жизни заметки в часах (опционально)
  • deleteAfter - Количество просмотров перед автоудалением
  • askToShow - Запрос подтверждения перед показом заметки
  • password - Пароль для защиты заметки
  • showAmount - Максимальное количество просмотров
  • forceMetaDelete - Принудительное удаление мета-данных
  • isApplyExclusionPattern - Применение паттернов исключения
  • autoGeneration - Автоматическое генерирование ID/пароля

Компоненты:

  • NoteConfigPopup - Попап для конфигурации заметки
  • NoteConfigLifetime - Конфигурация времени жизни
  • NoteConfigExtended - Расширенная конфигурация параметров

PageLeaveModal

Модуль для управления отходом со страницы создания заметки.

Функции:

  • Предупреждение при попытке покинуть страницу с несохранённой заметкой
  • Подтверждение выхода

SlotMachine Module

Модуль для визуальных эффектов (например, генерирование ID).

Интерфейсные элементы

Компоненты режимов

  • GridLayout - Основной лэйаут страницы с фоном и контентом
  • NoteLayout - Лэйаут для отображения заметки
  • UiTextarea - Кастомный компонент текстового поля

Попапы и модальные окна

  • NotePopup - Основное модальное окно заметки
  • QrLinkEnigmaPopup - Попап для отображения QR-кода
  • FilePopup - Попап для управления файлами
  • StickersPopup - Попап с доступными наклейками
  • ComplainPopup - Попап для подачи жалобы

Уведомления

  • NewNote - Уведомление о создании новой заметки
  • DeletedNote - Уведомление об удалении заметки

Технические особенности

Безопасность

  • Использование криптографии для шифрования заметок
  • Поддержка паролей для дополнительной защиты
  • Автоматическое удаление по истечении времени

Хранение данных

  • Данные о заметках хранятся на сервере
  • Поддержка загрузки файлов

Управление состоянием

  • Использование Vuex для управления состоянием заметок
  • Хранение информации о текущей заметке и параметрах