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 格式化

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

相关推荐
哥布林学者2 分钟前
吴恩达深度学习课程四:计算机视觉 第四周:卷积网络应用 课后习题和代码实践
深度学习·ai
JIngJaneIL4 分钟前
基于java+ vue学生成绩管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
小恒恒7 分钟前
2025 Vibe Coding 有感
前端·uni-app·trae
用户21411832636027 分钟前
dify案例分享-免费体验Dify + Qwen-Image-2512 文生图图生图全流程
前端
千寻girling15 分钟前
面试官 : “ 说一下 localhost 和127.0.0.1 的区别 ? ”
前端·javascript·面试
老华带你飞17 分钟前
智能菜谱推荐|基于java + vue智能菜谱推荐系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
指尖跳动的光19 分钟前
cookie可以实现不同域共享吗
前端
YAY_tyy20 分钟前
Turfjs+Three.js:地理数据的三维建模应用
前端·javascript·3d·arcgis·turfjs
小南知更鸟29 分钟前
前端静态项目快速启动:python -m http.server 4173 与 npx serve . 全解析
前端·python·http
@淡 定1 小时前
DDD领域事件详解:抽奖系统实战
开发语言·javascript·网络