You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
На экране создания сообщения поддержать кнопку добавления картинки
На экране создания сообщения поддержать загрузку картинки при нажатии на кнопку
После выбора картинки добавляется превьюшка
Картинка не загружается сразу
По нажатию на крестик превьюшка удаляется с фронта и из очереди на загрузку
Показывать юзеру максимально возможное количество картинок в одном сообщении
Если добавлено уже N картинок, то блокируем кнопку добавления новой
При нажатии Generate
Все добавленные картинки
Пережимаются в JPEG и уменьшается разрешение до не более чем 1179 × 2556
Шифруются на фронте одним и тем же ключом
TTL берется из общей формы
Улетают в бэкенд последовательно, на каждую картинку отдельный запрос, бэк возвращает на каждую картинку ее айдишник
Делается запрос на message/add с указанием заэнкоженного текста и айдишников картинок
Превьюшки переносятся в секцию "Your message" под текст
Кнопка загрузки картинки разблокируется если была заблокирована
При просмотре сообщения
Получаем тело сообщения запросом на message/view
Текст декодируем и выводим
Берем айдишники сообщений и на каждое идем отдельным AJAX запросом
Каждую картинку нужно расшифровать и показать в оригинальном разрешении
Backend
message/add
Добавить прием айдишников картинок
Ограничить количество картинок N
message/view
Добавить возврат айдишников картинок
image/add
Принимает зашифрованную картинку в виде multipart/form-data
Принимает ttl гет-параметром
Сохраняет в редис с ттл
Возвращает айдишник
image/view
Принимает айдишник картинки
Удаляет картинку из редиса
Возвращает картинку в виде multipart/form-data
Будущие улучшения
Front
На экране создания сообщения
Начинать асинхронно загружать картинки как только юзер их добавил, 1 картинка грузится в каждый момент времени
Если юзер нажал удалить, и картинка грузится, то отменить загрузку, если картинка загрузилась, то удалить картинку с бэка
Все картинки загружаются с ттл 1ч (если юзер не нажмет генерэйт удалятся сами через час), при нажатии на generate бэк всем картинкам ставит TTL из запроса
На экране показа сообщения
Вместо каждой картинки показывать loader пока она грузится
Поддержать lazy load для оптимизации времени загрузки
Backend
В message/add для всех картинок идти и явно проставлять переданный ттл (для поддержки асинхронной загрузки картинок с фронта)
Реализовать апишку удаления картинки для реализации удаления асинхронно загруженных картинок
The text was updated successfully, but these errors were encountered:
MVP
В одном сообщении не более 5 картинок (N)
Front
Backend
Будущие улучшения
Front
Backend
The text was updated successfully, but these errors were encountered: