Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Создать хранилище состояния для раздела авторизации
- Свойства:
- телефон
- тип телефона
- флаг пин-кода
- флаг ошибки "неверный пин"
- флаг ошибки "превышено количество попыток ввода кода подтверждения"
- Действия:
- сохранить телефон и тип (в память и sessionStorage)
- сохранить флаг пин-кода (в память и sessionStorage)
- задать ошибку "неверный пин" (в память)
- сбросить телефон и тип
- сбросить флаг пин-кода
- сбросить ошибку "неверный пин"
- сбросить ошибку "превышено количество попыток"
- инициализация (берём телефон и его тип из localStorage)
- сбросить всё
- отправить телефон
- отправить новый пин-код
- отправить пин-код
- 1. Добавить логику на страницу ввода телефона
- Проверка доступа на страницу: если не авторизован; телефона нет; пина нет; флага нет
- если авторизован: пока на главную
- если есть телефон, пин или флаг: сбросить хранилище
- Действия:
- войти:
- получить тип телефона; сохранить телефон и его тип в память и sessionStorage
- если тип NEW - авторизовать
- если тип NO_PASSWORD - на страницу создания пин-кода
- если тип HAS_PASSWORD - на страницу ввода пин-кода
- 2. Добавить логику на страницу создания пин-кода
- Проверка доступа:
- если не авторизован, телефон есть, тип есть, тип равен NO_PASSWORD, флага нет
- если авторизован: пока на главную
- если нет телефона или типа; или есть флаг; или тип не равен NO_PASSWORD: сбросить хранилище, на страницу ввода телефона
- Действия:
- войти: отправить пин-код на сервер; сохранить флаг; на страницу подтверждения
- отмена: сбросить хранилище; на предыдущую страницу;
- 4. Добавить логику на страницу ввода пин-кода
- Проверка доступа:
- если не авторизован; телефон есть; тип есть и равен HAS_PASSWORD
- если авторизован: сбросить хранилище, на главную;
- если чего-то нет: сбросить хранилище; на страницу ввода телефона
- Действия:
- код введён верно: авторизовать; сбросить хранилище
- код введён неверно: показать ошибку
- отмена: сбросить хранилище; на предыдущую страницу
- забыли код: на страницу смены
- 5. Добавить логику на страницу смены пин-кода
- Проверка доступа:
- если не авторизован; телефон есть; тип есть и равен HAS_PASSWORD; флага нет;
- Действия:
- сохранить: отправить пин на сервер; сохранить флаг; на страницу подтверждения
- отмена: сбросить флаг; на предыдущую страницу
- 3. Добавить логику на страницу подтверждения пин-кода
- Проверка доступа:
- если не авторизован; телефон есть; тип есть; флаг есть;
- если авторизован: на главную
- если чего-то нет: сбросить хранилище, на страницу ввода телефона
- Действия:
- код введён верно: авторизовать
- код введён неверно: показать ошибку "неверный код"
- превышено количество попыток: показать ошибку "превышено количество ошибок"
- не приходит код: заблокировать эту ссылку
- отмена: сбросить флаг; на предыдущую страницу
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement