-
Создан компонент
"Биржевой стакан"
наVue.js
, отображающий цены и количества для каждого ордера. -
Вычисляется и отображается спред, представляющий разницу между лучшей ценой на покупку и продажу.
-
Реализована подписка на стрим биржевого стакана с использованием
API
методаGET
/orderbook-stream
. -
Получение наших ордеров осуществляется через API метод
GET
/orders
. -
Обеспечена корректная обработка обновлений данных, получаемых из стрима.
-
Предусмотрена обработка ошибок и исключительных ситуаций при взаимодействии с
API
.
Тестовая версия доступна по ссылке:
public
├── favicon.ico
├── index.html
├── assets
│ └── logo.png
└── fonts
└── UniSansHeavy.otf
src
├── App.vue
├── main.js
├── components
│ ├── LoadingSpinner.vue
│ ├── OrderBook.vue
│ ├── OrderTable.vue
│ └── SpreadInfo.vue
└── store
├── api.js
└── store.js
OrderBook.vue
: Это главный компонент, отвечающий за отображение списка ордеров и расчет разницы в ценах (спреда). Он содержит заголовки, две таблицы с ордерами (продажа и покупка) и компонентSpread
для отображения спреда. Он также обрабатывает данные, полученные черезWebSocket
иAPI
запросы.OrderTable.vue
: Это компонент, отвечающий за отображение таблицы с ордерами. Он принимает массив ордеров через свойствоorders
и отображает их в виде строк таблицы. Компонент также проверяет, является ли ордер пользовательским и применяет соответствующий стиль. Он также имеет методы для форматирования цены, количества и общей стоимости ордера.SpreadInfo.vue
: Это компонент, отвечающий за отображение разницы в ценах (спреда). Он принимает значение спреда через свойствоspread
и отображает его на странице. Компонент также имеет метод для форматирования значения спреда.LoadingIndicator.vue
: является компонентом, отвечающим за отображение индикатора загрузки. Он использует фреймворкUI Element Plus
для создания интерфейса.