跳至主要内容

JavaScript API

TWT Chat SDK 加載完成後,會在 window 上掛載 __twt__api 對象,提供程序化控制聊天組件的能力。

聊天窗口控制

open()

打開聊天窗口。

window.__twt__api.open()

close()

關閉聊天窗口。

window.__twt__api.close()

語言設置

setLanguage(lang)

動態切換界面語言,無需重新加載頁面。

  • 參數lang — 語言代碼,可選 zh-cnzh-twen
window.__twt__api.setLanguage('en')

用戶身份

login(sbs, sbs_mm, ranstr, name, nickname, email, phone)

動態設置客戶信息,適用於 SDK 加載後再登錄的場景。

window.__twt__api.login(
'1001', // sbs - 用戶唯一標識
'a1b2c3d4...', // sbs_mm - 用戶簽名
'random16str', // ranstr - 隨機字符串
'張三', // name - 用戶姓名
'三哥', // nickname - 備註名
'zhang@test.com', // email - 郵箱
'13800138000' // phone - 電話
)

關於 sbs_mm 簽名生成規則,請參閱 配置項參考 - sbs_mm 簽名生成規則

SDK 生命週期

isReady()

檢查 SDK 是否已加載完成。

  • 返回值boolean — SDK 是否已就緒
if (window.__twt__api.isReady()) {
console.log('SDK已加載完成')
} else {
console.log('SDK未加載完成')
}

onReady(callback)

註冊 SDK 就緒回調(便捷方法)。回調函數會收到 API 對象作為參數。

if (window.__twt__api.onReady) {
window.__twt__api.onReady(() => {
console.log('SDK已加載完成')
// TODO: 處理業務邏輯
})
}

getError()

獲取 SDK 錯誤信息。

  • 返回值Object | null — 錯誤對象或 null
window.__twt__api.getError()

事件監聽

SDK 加載完成事件

注意

此代碼需放在 SDK 安裝腳本之後。

window.addEventListener('__twt__sdk_ready', () => {
console.log('SDK已加載完成')
})

未讀消息數變化事件

注意

此代碼需放在 SDK 安裝腳本之後。

window.addEventListener('__twt__custom_event', (e) => {
console.log('Unread message count:', e.detail.unread)
})

API 一覽

方法說明返回值
open()打開聊天窗口
close()關閉聊天窗口
setLanguage(lang)切換界面語言
login(sbs, sbs_mm, ...)動態設置客戶信息
isReady()檢查 SDK 是否就緒boolean
onReady(callback)註冊就緒回調
getError()獲取錯誤信息Object | null
事件名說明回調參數
__twt__sdk_readySDK 加載完成
__twt__custom_event未讀消息數變化e.detail.unread