本页介绍了如何从 Web SDK 版本 2 升级到 Web SDK 版本 3。 如果您是首次安装 Web SDK,请参阅 Web SDK v3 指南。
升级到 Web SDK v3
首先,在源代码中找到以下脚本:
<script type="module" src="https://websdk.ujet.co/v2/loader.js"></script>
然后,将其替换为以下内容:
<script type="module" src="https://{your_ccaas_host}/web-sdk/v3/widget.js"></script>
需注意的差异
本部分概述了 Web SDK 版本 2 和版本 3 之间的主要区别。
初始化
v2
const ccas = new UJET({
"companyId": "{companyId}",
"host": "https://{your_ccaas_host}",
"authenticate": getAuthToken
})
v3
var ccas = new UJET({
"companyId": "{companyId}",
"host": "https://{your_ccaas_host}",
"authenticate": getAuthToken
})
// v3 has a mount point
// ccaas.mount(HTMLElement | string)
ccaas.mount('#ccaas-widget')
选项
在启动 Web SDK 时,您需要指定选项。本部分介绍了 Web SDK 版本 2 和版本 3 之间的区别。
v2
不适用于 v2。
v3
在 v3 中,初始化选项与 Headless SDK 相同。
interface ClientOption {
companyId: string;
authenticate: () => Promise<TokenResponse>;
tenant?: string;
host?: string;
lang?: string;
bridge?: string;
cobrowse?: {
enabled: boolean;
template?: string;
messages?: CobrowseMessages;
api?: string;
license?: string;
trustedOrigins?: string[];
capabilities?: string[];
registration?: boolean;
redactedViews?: string[];
unredactedViews?: string[];
};
}
您可以使用 ccaas.config() 方法配置其他选项:
ccaas.config({
disableAttachment: true
})
可用的配置选项:
interface ConfigOptions {
accent?: AccentColor;
logo?: string;
menuKey?: string;
ticketId?: string;
preferredChannel?: string;
disableAttachment?: boolean;
customData?: string | Record<string, any>;
messages?: Record<string, unknown>;
reCaptchaSiteKey?: string;
}
方法
在 v2 中,加载器上有一些额外的方法,例如:
ccaas.createCobrowseCode()
ccaas.fetchWaitTimes({id: 123})
在 v3 中,微件界面使用无头客户端,您可以调用无头 SDK 支持的所有方法。
const client = ccaas.client
client.getCompany()
client.loadOngoingChat()
如需了解详情,请参阅无头 Web SDK 指南。
事件
在 v2 中,您可以使用以下方法监听事件:
ccaas.on('chat:update', (chat) => {
console.log(chat)
})
在 v3 中,您可以使用无头客户端监听事件:
const client = ccaas.client
client.on('chat.updated', (chat) => {
console.log(chat)
})
如需了解更多事件,请参阅无头 Web SDK 指南。
主题自定义
Web SDK v3 采用更新的主题自定义方法。如需了解详情,请参阅主题自定义。