gpt4 book ai didi

javascript - 使用每条消息将channelData发送到网络聊天

转载 作者:行者123 更新时间:2023-11-28 04:04:08 24 4
gpt4 key购买 nike

我正在尝试将 ChannelData 注入(inject)到从页面中的机器人网络聊天控件发送的每条消息中。我环顾四周,发现了这个示例 ( https://cmsdk.com/javascript/how-to-send-custom-channel-data-when-using-web-chat-client-with-bot-framework.html ),我的代码如下所示。

问题是这在 Chrome 中有效,但展开运算符 (...) 在 Edge 或 IE 上不起作用。是否有一种适用于所有浏览器的替代语法?

var user = {
id: '@User.Identity.Name',
name: '@User.Identity.Name'
};

var bot = {
id: BotId,
name: 'BotName'
};

var botConnect = new BotChat.DirectLine({
secret: '@ViewData["BotSecret"]',
webSockets: 'true'
});

var v = { ...botConnect };
debugger;

BotChat.App({
botConnection: {
...botConnect,
postActivity: activity => {
activity.channelData = {
StudentId: '@User.Identity.Name'
};
return botConnect.postActivity(activity);
}
},
user: user,
bot: bot,
resize: 'detect'
}, document.getElementById("bot"));

最佳答案

看起来 Babel 有 a plugin它使用 Object.assign 将 Spread 运算符转换为等效代码。这并不能完全解决您的问题,因为 IE 仍然不支持 Object.assign - 对于 Babel,包含了 Object.Assign 的 polyfill。尽管在您的项目中包含 Babel 可能有点过分,但 MDN has sample code对于一个简单的独立 Object.assign polyfill 来说,包含它可能更合理。

如果这是一个令人满意的依赖关系,那么一旦 Object.assign 可跨浏览器使用,Babel 文档表明这两行代码是等效的:

In:

z = { x, ...y };

Out:

z = Object.assign({ x }, y);

关于javascript - 使用每条消息将channelData发送到网络聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46849890/

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