从 Web SDK 版本 2 升级到 Web SDK 版本 3

本页介绍了如何从 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 采用更新的主题自定义方法。如需了解详情,请参阅主题自定义