Перед началом работы ознакомьтесь с возможностями работы реализованных классов.
Для работы с сервером используется класс ApiConnector
. Для каждого блока функциональностей описан свой класс для удобной работы:
- После регистрации нового пользователя его список избранного пустой.
- В избранное можно добавить пользователя с любым
id
, но перевести деньги можно только существующему пользователю. - У дефолтных пользователей
[email protected]
,[email protected]
и[email protected]
в избранном присутствуют существующие пользователи, между которыми можно переводить деньги.
Для полной реализации личного кабинета необходимо реализовать следующие фичи:
Создайте объект класса LogoutButton
. В свойство action
запишите функцию, которая будет вызывать запрос деавторизации (logout
). В колбек запроса добавьте проверку: если запрос выполнился успешно, то обновите страницу (с помощью location.reload();
).
Выполните запрос на получение текущего пользователя (current
), в колбеке которого проверьте ответ: если ответ успешный, то вызовите метод отображения данных профиля (ProfileWidget.showProfile
) в который передавайте данные ответа от сервера.
- Создайте объект типа
RatesBoard
. - Напишите функцию, которая будет выполнять запрос получения курсов валют.
- В случае успешного запроса, очищайте таблицу с данными (
clearTable
) и заполняйте её (fillTable
) полученными данными. - Вызовите данную функцию для получения текущих валют.
- Напишите интервал, который будет многократно выполняться (раз в минуту) и вызывать вашу функцию с получением валют.
- Создайте объект типа
MoneyManager
- Реализуйте пополнение баланса:
- Запишите в свойство
addMoneyCallback
функцию, которая будет выполнять запрос. - Внутри функции выполните запрос на пополнение баланса (
addMoney
). - Используйте аргумент функции свойства
addMoneyCallback
для передачи данныхdata
в запрос. - После выполнения запроса выполните проверку успешности запроса.
- В случае успешного запроса отобразите в профиле новые данные о пользователе из данных ответа от сервера (
showProfile
). - Также выведите сообщение об успехе или ошибку (причину неудачного действия) пополнении баланса в окне отображения сообщения (
setMessage
).
- Запишите в свойство
- Реализуйте конвертирование валюты:
- Запишите в свойство
conversionMoneyCallback
функцию, которая будет выполнять запрос. - Внутри функции выполните запрос на конвертацию баланса (
convertMoney
) - Используйте аргумент функции свойства
conversionMoneyCallback
для передачи данных в запрос. - Повторите пункты 2.4-2.7
- Запишите в свойство
- Реализуйте перевод валюты:
- Запишите в свойство
sendMoneyCallback
функцию, которая будет выполнять запрос. - Внутри функции выполните запрос на перевод валюты (
transferMoney
). - Используйте аргумент функции свойства
sendMoneyCallback
для передачи данных в запрос. - Повторите пункты 2.4-2.7
- Запишите в свойство
- Создайте объект типа
FavoritesWidget
- Запросите начальный список избранного:
- Выполните запрос на получение списка избранного (
getFavorites
). - В колбеке запроса проверяйте успешность запроса.
- При успешном запросе очистите текущий список избранного (
clearTable
). - Отрисуйте полученные данные (
fillTable
). - Заполните выпадающий список для перевода денег (
updateUsersList
).
- Выполните запрос на получение списка избранного (
- Реализуйте добавления пользователя в список избранных:
- Запишите в свойство
addUserCallback
функцию, которая будет выполнять запрос. - Внутри функции выполните запрос на добавление пользователя (
addUserToFavorites
). - Используйте аргумент функции свойства
addUserCallback
для передачи данных пользователя в запрос. - После выполнения запроса выполните проверку успешности запроса.
- В случае успеха запроса выполните пункты 2.3-2.5
- Также выведите сообщение об успехе или ошибку (причину неудачного действия) добавлении пользователя в окне отображения сообщения (
setMessage
).
- Запишите в свойство
- Реализуйте удаление пользователя из избранного
- Запишите в свойство
removeUserCallback
функцию, которая будет выполнять запрос. - Внутри функции выполните запрос на удаление пользователя (
removeUserFromFavorites
). - Используйте аргумент функции свойства
removeUserCallback
для передачи данных пользователя в запрос. - После запроса выполните пункты 3.4-3.6
- Запишите в свойство