Skip to content

BizChat 对话流 ​

AI 客服 / 智能助手 / 工作台会话的气泡流:user 右侧主色、assistant 左侧白底、system 居中灰条;流式输出光标、打字三点指示、发送失败气泡内重试、滚顶加载历史、上翻暂停自动沉底(悬浮回底按钮)、内置输入区(Enter 发送 / Shift+Enter 换行)。messages 全量受控,业务侧维护数组即可驱动全部渲染。

基础用法(流式会话) ​

智能客服小智为您服务,请问有什么可以帮您?
小智 10:00
您好,请描述您遇到的问题,我会尽力解答。
发送后 mock「首包等待(typing)→ 逐字追加(status=pending 光标闪烁)→ done」,消息数组由父级维护,组件零接口。

Markdown 注入 · 历史加载 · 失败重试 ​

AI 助手

你好,我是 AI 助手,试试问我:写一段排序说明

我

冒泡排序的思路?

AI 助手

冒泡排序思路:

  1. 相邻元素两两比较,大的往后沉
  2. 每轮把最大值冒到末尾
const bubble = (arr) => arr

复杂度 O(n²),稳定排序。

render-html 注入 markdown-it 等渲染器(组件不内置 markdown 依赖,渲染安全由业务侧负责);滚顶触发 load-history;status=error 气泡内重试;footer 插槽挂复制等操作。

Markdown 流式回答 ​

render-html prop 注入 markdown-it:标题/列表/代码块边生成边渲染(代码块渐出;prop 不可叫 render——Vue 保留名)。

自绘输入区 ​

客服小美
您好,请问需要什么帮助?(试试下方快捷短语)
怎么开发票?退款进度查询
input 插槽接管输入区:附件按钮 + 快捷短语(footer 槽推送候选问题)。

客服会话记录 ​

会话开始 · 2026-09-29 10:21 · 渠道:App 内咨询
客户 138****5678 10:21
买的键盘三天了还没发货
客服小美 10:23
实在抱歉,您购买的蓝色款因入库延迟明天发出,给您补偿 10 元优惠券。
客户 138****5678 10:24
行吧,尽快
客户已结束会话 · 满意度 5 星
头像 / 时间 / 系统提示完整形态;footer 槽挂坐席快捷操作。

长回答与失败重试 ​

AI 分析师
我可以为您生成周报摘要,试试下方按钮。长回答生成中可上翻阅读,新内容到达出现回底按钮。
长流式输出期间上翻阅读(暂停沉底 + 回底按钮);发送失败气泡内重试。

输入区粘贴图片发送 ​

技术支持 14:00
请把报错界面截图直接粘贴到输入框发送即可。
14:01
好的,我截个图
支持 Ctrl + V 粘贴图片
paste-image 开启后,输入区 Ctrl + V 粘贴的图片以 File[] 外抛 send-image(上传与消息追加由业务侧处理,组件零接口);非图片粘贴不受影响。

Props ​

属性名类型默认值说明
messagesBizChatMessage[][]消息列表(受控:追加 / 更新驱动渲染)
heightnumber480滚动区高度(px)
has-morebooleanfalse还有更早历史(滚顶触发 load-history)
history-loadingbooleanfalse历史加载中(顶部 loading 行)
typingbooleanfalse打字三点指示(等首包期间)
sendingbooleanfalse发送中(输入区禁用 + 按钮 loading)
show-inputbooleantrue显示内置输入区(false 时用 input 插槽自绘)
input-placeholderstring'输入消息,Enter 发送…'输入占位文案
auto-scrollbooleantrue新消息自动沉底(用户上翻阅读时自动暂停)
render-html(content: string) => string—富文本渲染器注入(markdown-it 等),缺省纯文本 pre-wrap
paste-imagebooleanfalse内置输入区支持 Ctrl+V 粘贴图片:剪贴板图片以 File[] 外抛 send-image(上传与消息追加由业务侧处理);非图片粘贴走默认文本行为

BizChatMessage:id、role(user / assistant / system)、content 必填;name / avatar / time 展示元信息;status(pending 流式光标 / error 失败重试 / done)。

Events ​

事件名参数说明
send(text: string)内置输入区发送(Enter / 按钮)
send-image(files: File[])paste-image 开启后输入区粘贴的图片文件(上传与消息追加由业务侧处理)
retry(message: BizChatMessage)点击失败气泡的重试
load-history—滚动到顶且 has-more 时触发

Slots ​

插槽名说明
message气泡内容整体自定义(作用域:message、render 渲染函数)
footer气泡下方操作区(作用域:message,如复制 / 重新生成)
input输入区整体自定义(覆盖内置)

Expose ​

属性/方法说明
scrollToBottom() => void 手动沉底