Saltar a la navegación

Métodos de instancia

Controle una instancia de widget creada después de TradingWidget.create().

Ver como Markdown

Resumen del método

MétodoObjetivo
destruir()Elimine el iframe y libere los detectores de eventos.
getState()Lea el estado actual del ciclo de vida SDK.
whenReady()Espere hasta que el iframe finalice la inicialización.
setSymbol(símbolo)Cambie el par comercial dentro del iframe.
setTheme(tema)Actualice el parámetro del tema iframe.
setLocale(localización)Cambie el idioma del iframe.
setSize(ancho, alto)Actualizar las dimensiones del iframe.
recargar()Vuelva a cargar el iframe actual.
refreshAuth(razón)Activa el flujo de actualización de autenticación del widget.
setTokenProvider(proveedor)Reemplace el proveedor utilizado por el modo de token de socio.
en (evento, controlador)Suscríbase a eventos en tiempo de ejecución y reciba una función para cancelar la suscripción.

destruir()

Elimine el iframe, borre los oyentes y emita destruido una vez para la instancia actual.

widget.destroy()

getState()

Lea el estado actual del ciclo de vida de la instancia del widget.

const state = widget.getState()

Los valores de retorno incluyen carga, autenticación, listo, error y destruido.

whenReady()

Espere a que el iframe finalice la inicialización antes de ejecutar la lógica de UI dependiente.

await widget.whenReady()

setSymbol(símbolo)

Cambie el par comercial dentro del iframe. Si el iframe aún se está inicializando, SDK pone en cola el comando y lo envía cuando esté listo.

widget.setSymbol('ETHUSDT')

setTheme(tema)

Actualice el parámetro de tema utilizado por el iframe comercial integrado.

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

setLocale(localización)

Cambie el idioma del iframe. Los valores admitidos son en, en-US y zh-CN.

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

setSize(ancho, alto)

Actualice el tamaño del iframe DOM y notifique al iframe sobre el nuevo tamaño exterior. Los valores numéricos se convierten a px.

widget.setSize('100%', 720)

recargar()

Vuelva a cargar el iframe actual y espere a que se inicialice nuevamente.

widget.reload()

refreshAuth(razón)

Solicite al iframe que actualice el flujo de autenticación actual. El valor de motivo opcional se reenvía para el registro y el control de flujo.

widget.refreshAuth('manual')

setTokenProvider(proveedor)

Reemplace el tokenProvider utilizado por el modo de token de socio. El SDK llama al proveedor cuando el iframe solicita un token de inserción nuevo.

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()
})

en (evento, controlador)

Suscríbete a un evento de tiempo de ejecución. La función devuelta elimina al oyente.

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

Guías de widgets relacionados

Métodos adicionales en el tiempo de ejecución v1 actual

MétodoObjetivo
whenRendered()Espere la notificación renderizada del iframe; esto está separado de listo.
setPage(page)Solicite una página de producto compatible en la instancia actual. No cambia el entorno de los fondos.
prepareForRecreate()Solicite un iframe listo para prepararse para el reemplazo; devuelve una promesa y puede rechazarla si no está disponible, está ocupada o se agotó el tiempo de espera.
cancelRecreate()Cancelar un flujo de reemplazo pendiente/preparado.
TradingWidget.validateOptions(options)Valide las opciones de inicialización antes de crear una instancia.

Para un cambio de usuario o de entorno real/de demostración, destruya la instancia anterior y cree una nueva con el modo y la autenticación de destino. No utilice setPage como conmutador de entorno. Verifique las capacidades antes de usar métodos opcionales.

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