vue实现AI问答Markdown打字机效果

上线效果

功能清单

  • AI问答,文字输出跟随打字机效果
  • 格式化回答内容(markdown格式)
  • 停止回答,复制回答内容
  • 回答时自动向下滚动
  • 全屏切换
  • 历史问答查看

主要技术

  • vue @2.7.1
  • markdown-it @14.1.0
  • @microsoft/fetch-event-source @2.0.1
  • highlight.js @10.7.1

实现思路

  • 后台接口支持流式返回也就是 :Accept: 'text/event-stream' 请求头
  • 前端通过fetch-event-source请求数据,也可以通过axios,但是要进行转换
  • 前端通过markdwon-it结合highlight.js显示返回的数据,并高亮和格式化代码

核心代码

1.markdown使用

2.接口请求

通过 onmessage方法,返回接口数据,拼接后渲染。

避坑

  • 调试模式下要关闭compress,否则不会返回流,会一次性返回,无法实现打字机效果,参考如下图:
  • markdown输出后,代码无法靠左对齐,无法像下图这样:

注意添加样式:

总结

至此一个AI问答打字机效果的功能就实现了,核心在于:流式输出,markdown 格式化

如果你觉得看完有价值,可以免费点个赞👍,也可以评论区一起学习交流。

相关推荐
小云小白4 分钟前
IDEA Java 开发 AI 工具对比与安装指南
ai·idea·claude
土星云SaturnCloud7 分钟前
32TOPS工业级算力+无风扇全密封!土星云SE110S-WA32边缘计算微服务器深度测评
服务器·人工智能·ai·边缘计算
小飞侠是个胖子7 分钟前
在 WebGL 中构建高性能 3D 沉浸式系统的三套高阶方案
前端·3d
wh_xia_jun9 分钟前
Vue3 + Vitest 浏览器测试 从零开发指南
前端·javascript·vue.js
FlyWIHTSKY11 分钟前
区块链前端技术栈介绍
前端·区块链
唐青枫12 分钟前
别再让 key 写成字符串:TypeScript keyof 从入门到实战
前端·javascript·typescript
阿星AI工作室1 小时前
Codex+Figma MCP:GPT-image-2出图转前端
ai·编程·figma·codex
一点一木8 小时前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
天外飞雨道沧桑8 小时前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
Lee川9 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端