Перейти к навигации

Методы экземпляра

Управляйте созданным экземпляром виджета после TradingWidget.create().

Просмотр в формате Markdown

Краткое описание метода

МетодЦель
разрушать()Удалите iframe и освободите прослушиватели событий.
getState()Прочтите текущее состояние жизненного цикла SDK.
whenReady()Подождите, пока iframe завершит инициализацию.
setSymbol(символ)Переключите торговую пару внутри iframe.
setTheme(тема)Обновите параметр темы iframe.
setLocale(локаль)Переключите язык iframe.
setSize(ширина, высота)Обновите размеры iframe.
перезагрузить()Перезагрузите текущий iframe.
refreshAuth(причина)Запустите поток обновления аутентификации виджета.
setTokenProvider(поставщик)Замените поставщика, используемого в режиме партнерского токена.
on(событие, обработчик)Подпишитесь на события времени выполнения и получите функцию отказа от подписки.

разрушать()

Удалите iframe, очистите прослушиватели и один раз исключите уничтожение для текущего экземпляра.

widget.destroy()

getState()

Прочтите текущее состояние жизненного цикла экземпляра виджета.

const state = widget.getState()

Возвращаемые значения включают загрузку, аутентификацию, готовность, ошибку и уничтожение.

whenReady()

Подождите, пока iframe завершит инициализацию, прежде чем запускать зависимую логику пользовательского интерфейса.

await widget.whenReady()

setSymbol(символ)

Переключите торговую пару внутри iframe. Если iframe все еще инициализируется, SDK ставит команду в очередь и отправляет ее после готовности.

widget.setSymbol('ETHUSDT')

setTheme(тема)

Обновите параметр темы, используемый встроенным торговым iframe.

widget.setTheme('dark')
widget.setTheme('light')

setLocale(локаль)

Переключите язык iframe. Поддерживаемые значения: en, en-US и zh-CN.

widget.setLocale('en')
widget.setLocale('en-US')
widget.setLocale('zh-CN')

setSize(ширина, высота)

Обновите размер iframe DOM и уведомите iframe о новом внешнем размере. Числовые значения преобразуются в пиксели.

widget.setSize('100%', 720)

перезагрузить()

Перезагрузите текущий iframe и дождитесь его повторной инициализации.

widget.reload()

refreshAuth(причина)

Попросите iframe обновить текущий поток аутентификации. Необязательное значение причины пересылается для ведения журнала и управления потоком.

widget.refreshAuth('manual')

setTokenProvider(поставщик)

Замените tokenProvider, используемый режимом токена партнера. SDK вызывает провайдера, когда iframe запрашивает новый токен внедрения.

widget.setTokenProvider(async ({ channelId, symbol, reason }) => {
const resp = await fetch('/api/trading/embed-token', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ channelId, symbol, reason }),
})
return resp.json()
})

on(событие, обработчик)

Подпишитесь на событие времени выполнения. Возвращенная функция удаляет прослушиватель.

const off = widget.on('order_created', (event) => {
console.log(event)
})
off()

Сопутствующие руководства по виджетам

Дополнительные методы в текущей среде выполнения v1

МетодЦель
whenRendered()Дождитесь уведомления об отображении iframe; это отдельно от готового.
setPage(page)Запросите страницу поддерживаемого продукта в текущем экземпляре. Это не меняет среду фондов.
prepareForRecreate()Запросить готовый iframe подготовиться к замене; возвращает обещание и может отклонить его, если оно недоступно, занято или истекло время ожидания.
cancelRecreate()Отмените ожидающий/подготовленный поток замены.
TradingWidget.validateOptions(options)Проверьте параметры инициализации перед созданием экземпляра.

Для изменения пользовательской или реальной/демонстрационной среды уничтожьте старый экземпляр и создайте новый с целевой аутентификацией и режимом. Не используйте setPage в качестве переключателя среды. Проверьте возможности перед использованием дополнительных методов.

if (TradingWidget.capabilities.methods.includes('whenRendered')) {
await widget.whenRendered();
}
if (TradingWidget.capabilities.pages.includes('up-down')) {
widget.setPage('up-down');
}