實例方法

在 TradingWidget.create() 之後控制已建立的小工具實例。

以 Markdown 格式查看

方法摘要

方法目的
摧毀()移除 iframe 並釋放事件聽眾。
getState()閱讀目前 SDK 生命週期狀態。
whenReady()等 iframe 初始化完成再說。
setSymbol(符號)在 iframe 內交換交易對。
setTheme(主題曲)更新 iframe 主題參數。
setLocale(地點)切換 iframe 語言。
setSize(寬度、高度)更新 iframe 尺寸。
重新裝填()重新載入目前的 iframe。
refreshAuth(理由)觸發 widget 認證刷新流程。
setTokenProvider(提供者)替換合作夥伴代幣模式所使用的提供者。
on(事件,處理者)訂閱執行時事件並獲得取消訂閱功能。

摧毀()

移除 iframe,清除監聽器,並針對當前實例發送一次 disroyed。

1widget.destroy()

getState()

讀取 widget 實例目前的生命週期狀態。

1const state = widget.getState()

回傳值包括載入、認證、準備、錯誤與銷毀。

whenReady()

等 iframe 初始化完成後再執行相依的 UI 邏輯。

1await widget.whenReady()

setSymbol(符號)

在 iframe 內交換交易對。如果 iframe 仍在初始化, SDK 會排隊該指令並在準備好後再發送。

1widget.setSymbol('ETHUSDT')

setTheme(主題曲)

更新嵌入交易 iframe 所使用的主題參數。

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

setLocale(地點)

切換 iframe 語言。支援的值為 en、en-US 和 zh-CN。

1widget.setLocale('en')
2widget.setLocale('en-US')
3widget.setLocale('zh-CN')

setSize(寬度、高度)

更新 iframe DOM 大小,並通知 iframe 新的外部尺寸。數值會轉換成 px。

1widget.setSize('100%', 720)

重新裝填()

重新載入目前的 iframe,然後等它再次初始化。

1widget.reload()

refreshAuth(理由)

請 iframe 重新整理目前的認證流程。可選的理由值會被轉發用於日誌記錄和流量控制。

1widget.refreshAuth('manual')

setTokenProvider(提供者)

替換搭檔標記模式所用的 tokenProvider 。當 iframe 請求新的嵌入令牌時, SDK 會呼叫提供者。

1widget.setTokenProvider(async ({ channelId, symbol, reason }) => {
2 const resp = await fetch('/api/trading/embed-token', {
3 method: 'POST',
4 credentials: 'include',
5 headers: { 'Content-Type': 'application/json' },
6 body: JSON.stringify({ channelId, symbol, reason }),
7 })
8
9 return resp.json()
10})

on(事件,處理者)

訂閱執行時事件。回傳函式會移除監聽器。

1const off = widget.on('order_created', (event) => {
2 console.log(event)
3})
4
5off()