# Неделя #5: доработка функционала
# Необходимо реализовать:
- Обновление токена
- Запрет неавторизованным пользователям входа в админку.
- Остальные страницы админ-панели.
- Юнит-тесты для компонентов
- Вывод сохраненных данных из админки на лендинг.
*6. Анимации в слайдере
# Обратите внимание
Начиная с пятницы время действия токена будет равным 1-ой минуте
# 🗓 Понедельник
Реализовываем страницу работы админ-панели.
Для сохранения работы вам потребуется помимо остальных данных, также отправить картинку. Что бы сервер обработал запрос корректно, ваши данные (+ файл картинки, полученный из input="file") необходимо упаковать в объект formData при помощи метода append
Для вывода только что загруженной картинки (в виде превью) воспользуйтесь объектом FileReader и методом readAsDataURL.
Так же в этой статье вы найдете примеры по работе с файлами в приложениях.
# 🗓 Вторник
Реализуем страницу Отзывы
# 🗓 Среда
Реализовываем защиту админки от неавторизованных пользователей
- Для реализации потребуется выполнения действий перед переходом на роут, в этом помогут хуки навигации
- Перед переходом на роут, необходимо отправить запрос и проверить является ли пользователь авторизованным, например, можно получить данные о пользователи.
- Если запрос выполнился корректно (значит есть корректный токен) то пользователя можно пускать внутрь, если произошла ошибка, то пользователя нужно направить на страницу логина /login
# 🗓 Четверг
Смотрим видео-курс Тестирование JS-кода
Смотрим видео-курс Vue. Тестирование компонентов
Пишем юнит-тесты для компонентов:
- EditLine
- Skill
Снимаем снепшоты для компонента категории
- Пустая категория
- Категория с контентом
Выше приведены компоненты для практики юнит-тестов. Дополнительно покройте тестами настолько много компонентов, насколько у вас хватит времени.
# 🗓 Пятница
Смотрим воркшоп
# 🗓 Оставшееся время до дедлайна
Допишите обновление токена
Для выполнения этого пункта необходимо отслеживать ваши запросы на ошибку со статусом 401. Если придет такая ошибка, значит токен устарел, и его нужно обновить, отправив старый токен на refresh, что вернет вам новый токен с которым необходимо повторить запрос вызвавший ошибку.
Для реализации потребуется механизм interceptors в axios.
Выведите сохраненные данные с сервера на публичную страницу
Для таких запросов токен не потребуется.
Реализовать анимации слайдера
готовим проект к сдаче