chatUI实现实时预览

背景:在项目中涉及到机器人部署模块,chatUI 预览页面是通过iframe嵌入,父子页面通过postMessage通信,当子页面监听到数据变化,更新页面配置。

官网提供了setConfig方法更新config,从而重新渲染页面:

// 更新 config
bot.setConfig(configKey, configValue);

然鹅...,他只针对部分配置生效(navbar.title、placeholder),怎么办?项目还得继续进行呀,于是通过各种摸索实现了,其他配置的实时更新:

// 针对机器人头像 (为string类型的头像地址)
// 第一步:获取消息列表
 const list = bot.appRef.current.getMessageList();
// 第二步:遍历消息,更换头像
list.forEach((item: { position: string; user: { avatar: string } }) => {
    if (item.position === "left") {
        item.user = { avatar: '.....' };
     }
 });

针对机器人欢迎语、预置回复按钮使用

bot.appRef.current.getCtx().appendMessage(...)
bot.appRef.current.resetMessageList()

方法更新视图

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值