

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 传递自定义属性以覆盖 Amazon Connect 中的通信小部件中的默认属性
<a name="pass-custom-styles"></a>

要进一步自定义聊天用户界面，您可以通过传递自己的值来覆盖默认属性。例如，您可以将小部件的宽度设置为 400 像素，将高度设置为 700 像素（相比之下，默认尺寸为 300 像素 x 540 像素）。您也可以使用自己喜欢的字体颜色和大小。

## 如何为通信小部件传递自定义样式
<a name="chat-widget-pass-custom-styles"></a>

要传递自定义样式，请使用以下示例代码块并将其嵌入到您的控件中。 Connect Customer 自动检索自定义样式。以下示例中显示的所有字段均为可选字段。

```
amazon_connect('customStyles', {
 global: {
     frameWidth: '400px',
     frameHeight: '700px',
     textColor: '#fe3251',
     fontSize: '20px',
     footerHeight: '120px',
     typeface: "'AmazonEmber-Light', serif",
     customTypefaceStylesheetUrl: "https://ds6yc8t7pnx74.cloudfront.net/etc.clientlibs/developer-portal/clientlibs/main/css/resources/fonts/AmazonEmber_Lt.ttf",
     headerHeight: '120px',
 },
 header: {
     headerTextColor: '#541218',
     headerBackgroundColor: '#fe3',
 },
 transcript: {
     messageFontSize: '13px',
     messageTextColor: '#fe3',
     widgetBackgroundColor: '#964950',
     agentMessageTextColor: '#ef18d3',
     systemMessageTextColor: '#ef18d3',
     customerMessageTextColor: '#ef18d3',
     agentChatBubbleColor: '#111112',
     systemChatBubbleColor: '#111112',
     customerChatBubbleColor: '#0e80f2',
 },
 footer: {
     buttonFontSize: '20px',
     buttonTextColor: '#ef18d3',
     buttonBorderColor: '#964950',
     buttonBackgroundColor: '#964950',
     footerBackgroundColor: '#0e80f2',
     startCallButtonTextColor: '#541218',
     startChatButtonBorderColor: '#fe3',
     startCallButtonBackgroundColor: '#fe3',
 },
 logo: {
     logoMaxHeight: '61px',   
     logoMaxWidth: '99%',
 },
  composer: {
     fontSize: '20px', 
 },
  fullscreenMode: true // Enables fullscreen mode on the widget when a mobile screen size is detected in a web browser.
})
```

## 支持的样式和限制
<a name="chat-widget-supported-styles"></a>

下表列出了支持的自定义样式名称和推荐的值限制。有些样式同时存在于全局和组件级别。例如，`fontSize` 样式既存在于全局中，又存在于记录组件中。组件级别样式在聊天小部件上具有更高的优先级。


|  自定义样式名称  |  说明  |  推荐的限制  | 
| --- | --- | --- | 
| `global.frameWidth` | 整个小部件框架的宽度 | 最小值：300 像素<br />最大值：窗口宽度<br />建议根据窗口大小进行调整 | 
| `global.frameHeight` | 整个小部件框架的高度 | 最小值：480 像素<br />最大值：窗口高度<br />建议根据窗口大小进行调整 | 
| `global.textColor` | 所有文本的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `global.fontSize` | 所有文本的字体大小 | 针对不同的用例，建议使用 12 到 20 像素 | 
| `global.footerHeight` | 小部件页脚的高度 | 最小值：50 像素<br />最大值：框架高度<br />建议根据框架大小进行调整 | 
| `global.typeface` | 小部件中使用的字体。 | 此列表中的任何字体：Arial、Times New Roman、Times、Courier New、Courier、Verdana、Georgia、Palatino、Garamond、Book man、Tacoma、Trebuches MS、Arial Black、Impact、Comic Sans MS。<br />您也可以添加自定义字体/字体系列，但需要托管字体文件并设置公共读取权限。例如，您可以查看 [Amazon 开发者库](https://developer.amazon.com/en-US/alexa/branding/echo-guidelines/identity-guidelines/typography)中有关使用 Amazon Ember 字体系列的文档。 | 
| `global.customTypefaceStylesheetUrl` | 自定义字体文件的托管位置具有公共读取权限。 | 链接到托管字体文件的公共 HTTP 位置。例如，L AmazonEmber ight 字体 CDN 的位置是 `https://ds6yc8t7pnx74.cloudfront.net/etc.clientlibs/developer-portal/clientlibs/main/css/resources/fonts/AmazonEmber_Lt.ttf` | 
| `header.headerTextColor` | 标题消息的文本颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `header.headerBackgroundColor` | 标题背景的文字颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `global.headerHeight` | 小部件标题的高度 | 建议根据使用的是标题、图片徽标还是两者同时使用来作调整。 | 
| `transcript.messageFontSize` | 所有文本的字体大小 | 针对不同的用例，建议使用 12 到 20 像素 | 
| `transcript.messageTextColor` | 记录消息的文本颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.widgetBackgroundColor` | 文字记录背景的文字颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.customerMessageTextColor` | 客户消息的文本颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.agentMessageTextColor` | 座席消息的文本颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.systemMessageTextColor` | 系统消息的文本颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.agentChatBubbleColor` | 座席消息气泡的背景颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.customerChatBubbleColor` | 客户消息气泡的背景颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `transcript.systemChatBubbleColor` | 系统消息气泡的背景颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.buttonFontSize` | 操作按钮文本的字体大小 | 建议根据页脚高度进行调整 | 
| `footer.buttonTextColor` | 操作按钮文本的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.buttonBorderColor` | 操作按钮边框的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.buttonBackgroundColor` | 操作按钮背景的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.BackgroundColor` | 页脚背景的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.startCallButtonTextColor` | 开始通话按钮文字的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.startCallButtonBorderColor` | 开始通话按钮边框的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `footer.startCallButtonBackgroundColor` | 开始通话按钮背景的颜色 | 任何 CSS 合法颜色值。有关更多信息，请参阅 [CSS 合法颜色值](https://www.w3schools.com/cssref/css_colors_legal.php)。 | 
| `logo.logoMaxHeight` | 徽标的最大高度 | 最小值：0 像素<br />最大值：标题高度<br />建议根据图像尺寸和框架高度进行调整 | 
| `logo.logoMaxWidth` | 徽标的最大宽度 | 最小值：0 像素<br />最大值：标题宽度<br />建议根据图像尺寸和框架宽度进行调整 | 
| `composer.fontSize` | 编辑器文本的字体大小 | 针对不同的用例，建议使用 12 到 20 像素 | 
| `fullscreenMode` | 在 Web 浏览器中检测到移动屏幕尺寸时，在小部件上启用全屏模式。 | 类型：布尔值 | 

以下是构成通信小部件的元素。

![构成通信小部件的元素。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/chatwidget-elements.png)


## 如何传递通信小部件的覆盖系统和机器人显示的名称和徽标
<a name="pass-override-system"></a>

要覆盖 Connect Customer 管理员网站中设置的 System/Bot 显示名称和徽标配置，请将以下代码块嵌入到您的控件代码片段中。以下示例中显示的所有字段均为可选字段。

```
amazon_connect('customDisplayNames', {
 header: {
     headerMessage: "{{Welcome!}}",
     logoUrl: "{{https://example.com/abc.png}}",
     logoAltText: "{{Amazon Logo Banner}}"
 },
 transcript: {
     systemMessageDisplayName: "{{Amazon System}}",
     botMessageDisplayName: "{{Alexa}}"
 },
 footer: {
     textInputPlaceholder: "{{Type Here!}}",     
      endChatButtonText: "{{End Session}}",      
      closeChatButtonText: "{{Close Chat}}",      
      startCallButtonText: "{{Start Call}}"
 },
})
```

### 支持的属性和限制
<a name="supported-properties-displaynames"></a>


| 自定义样式名称 | 说明 | 推荐的限制 | 
| --- | --- | --- | 
| `header.headerMessage` | 标题消息的文字 | 最小长度是 1 个字符<br />长度上限：11 个字符<br /> 建议根据标题宽度进行调整 | 
| `header.logoUrl` | 指向徽标图像的网址 | 长度上限：2048 个字符<br />必须是指向 .png、.jpg 或 .svg 文件的有效网址 | 
| `header.logoAltText` | 用于覆盖徽标横幅 alt 属性的文本 | 长度上限：2048 个字符 | 
| `transcript.systemMessageDisplayName` | 覆盖 SYSTEM\_MESSAGE 显示名称的文字 | 最小长度是 1 个字符<br />长度上限：26 个字符 | 
| `transcript.botMessageDisplayName` | 覆盖 BOT 显示名称的文字 | 最小长度是 1 个字符<br />长度上限：26 个字符 | 
| `footer.textInputPlaceholder` | 在文本输入中覆盖占位符的文字 | 最小长度是 1 个字符<br />最大长度：256 个字符 | 
| `footer.endChatButtonText` | 覆盖聊天结束按钮文本的文字 | 最小长度是 1 个字符<br />最大长度：256 个字符<br />建议根据按钮宽度进行调整 | 
| `footer.closeChatButtonText` | 覆盖聊天关闭按钮文本的文字 | 最小长度是 1 个字符<br />最大长度：256 个字符<br />建议根据按钮宽度进行调整 | 
| `footer.startCallButtonText` | 覆盖开始通话按钮文本的文字 | 最小长度是 1 个字符<br />最大长度：256 个字符<br />建议根据按钮宽度进行调整 | 

## 预览使用了自定义属性的通信小部件
<a name="chat-widget-preview"></a>

在将其投入生产之前，请务必先预览使用了自定义属性的通信小部件。如果设置不当，自定义值可能会破坏通信小部件的用户界面。建议您在将其发布给客户之前，在不同的浏览器和设备上进行测试。

以下是使用不正确值时可能出现故障的几个示例，以及建议的修复方法。
+ **问题：**小部件窗口占用了太多屏幕空间。

  **修复方法：**使用较小的 `frameWidth` 和 `frameHeight`。
+ **问题：**字体太小或太大。

  **修复方法：**调整字体大小。
+ **问题：**结束聊天（页脚）下方有一块空白区域。

  **修复方法：**使用较小的 `frameHeight` 或较大 `footerHeight`。
+ **问题：**结束聊天按钮太小或太大。

  **修复方法：**调整 `buttonFontSize`。
+ **问题：**结束聊天按钮位于页脚区域之外。

  **修复方法：**使用较大的 `footerHeight` 或较小 `buttonFontSize`。