JavaScript API
TWT Chat SDK 加載完成後,會在 window 上掛載 __twt__api 對象,提供程序化控制聊天組件的能力。
聊天窗口控制
open()
打開聊天窗口。
window.__twt__api.open()
close()
關閉聊天窗口。
window.__twt__api.close()
語言設置
setLanguage(lang)
動態切換界面語言,無需重新加載頁面。
- 參數:
lang— 語言代碼,可選zh-cn、zh-tw、en
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_ready | SDK 加載完成 | — |
__twt__custom_event | 未讀消息數變化 | e.detail.unread |