gpt4 book ai didi

css - 在 Botframework Webchat 中,如何在悬停自适应卡片操作和发送按钮时自定义颜色

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:41 27 4
gpt4 key购买 nike

通过否决 BotFramework 网络聊天客户端的 defaultStyleOptions.js,我正在自定义客户端。这对一部分来说效果很好。将鼠标悬停在自适应卡片操作上或悬停发送按钮时,我无法修改焦点颜色(见附图)我尝试否决有意义但没有成功的不同属性。感谢帮助。

我尝试修改以下属性:默认重音和默认微妙卡片强调背景颜色sendBoxButtonColorOnFocussendBoxButtonColorOnHover

    <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<script src="https://unpkg.com/markdown-it@8.4.2/dist/markdown-it.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it-emoji/1.4.0/markdown-it-emoji.js"></script>

<body>
<div id="webchat" role="main"></div>
<script>
// make sure the chat initializes at page load by sending a 'webchat join' event
const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: 'WEB_CHAT/SEND_EVENT',
payload: {
name: 'webchat/join',
value: { language: window.navigator.language }
}
});
}
return next(action);
});
// add markdown support including Emoji
var markdownIt = window.markdownit();
markdownIt = window.markdownit().use(window.markdownitEmoji);
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token: webChatToken}),
renderMarkdown: markdownIt.render.bind(markdownIt),
store,
// styling
styleOptions: {

rootHeight: '755px',
rootWidth: 'Auto',
backgroundColor: 'White',
bubbleBorder: 'solid 1px Light Blue',
bubbleTextColor: '#0D0D0D',

avatarSize: 50,
botAvatarImage: 'https://botz4u.com/src/assets/img/png/botz4uavatar.png',
botAvatarInitials: 'BOT',


userAvatarInitials: 'JIJ',
bubbleFromUserBorder: 'solid 1px Light Blue',
bubbleFromUserTextColor: '#0D0D0D',

hideUploadButton: true,
sendBoxBorderTop: 'solid 1px #0A9BFB',
sendBoxBorderBottom: 'solid 1px #0A9BFB',
},
userID: 'N/A',
username: 'Web Chat User',
locale: 'nl-NL'
}, document.getElementById('webchat'));
</script>
</body>
</html>

标题中使用的自适应卡片定义:

 "type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"spacing": "none",
"size": "medium",
"weight": "bolder",
"text": "Welkom!"
},
{
"type": "Image",
"horizontalAlignment": "Left",
"url": "<link to logo>",
"size": "Stretch"
},
{
"type": "TextBlock",
"spacing": "medium",
"size": "medium",
"color": "Dark",
"text": "some text"
}
]
},
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"text": "some text",
"wrap": true
}
]
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Wat is een chatbot?",
"data": "Wat is een chatbot"
},
{
"type": "Action.Submit",
"title": "Waarom een chatbot?",
"data": "Waarom een chatbot"
},
{
"type": "Action.Submit",
"title": "Wat kost een chatbot?",
"data": "Wat kost het"
}
],

"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"

和向用户显示自适应卡的机器人代码(在标题中它是 introcard:

    if (qnaResults[0] && qnaResults[0].score > 0.5) {
if (qnaResults[0].answer === '#Weather') {
var weerVoorspelling = await helper.getWeatherForecast(turnContext);
await turnContext.sendActivity('Als je bedoelt dat je een weerbericht wilt, bij deze ....');
await turnContext.sendActivity({
attachments: [CardFactory.adaptiveCard(weerVoorspelling)]
});
} else if (qnaResults[0].answer === '#DateTime') {
await turnContext.sendActivity(moment().tz('Europe/Amsterdam').format('[Vandaag is het ]LL[ en de tijd is ] LT[ uur.]'));
} else if (qnaResults[0].answer === '#Help') {
await turnContext.sendActivity({
attachments: [CardFactory.adaptiveCard(IntroCard)]
});
} else {
await turnContext.sendActivity(qnaResults[0].answer);
}
// If QnaMaker did not find an answer, offer help
}

我希望能够修改上面提到的颜色。 Picture showing the parts of the webchat I need to customize

最佳答案

通用——使用变量设置样式

您可以查看 Webchat 源中的可用变量,特别是 here .

关于您的问题

对于sendButton,您还可以查看SendBoxButton.js 文件here :

  • sendBoxButtonColorOnHover 可以很好地设置悬停时 SVG 的颜色
  • 目前没有用于在悬停时更改(包含 svg 的 div 的)背景颜色的参数

对于您的自适应卡片按钮,来源是here .如您所见,它目前未使用 hover

常规 - 如何添加当前不支持的自定义样式:

关于自定义样式的需求,你应该看看this Github 上的页面讨论了您应该如何处理 defaultStyleOptions 中不可用的字段。

简而言之:

  • 为您的新领域创建一个 Pull Request,他们会很乐意将它们考虑在内
  • 最糟糕的解决方案(因为它不受官方支持,以后可能会发生重大变化)是做一些“特殊的手动样式”,参见示例 here

关于css - 在 Botframework Webchat 中,如何在悬停自适应卡片操作和发送按钮时自定义颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252681/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com