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

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

相关推荐
周家大小姐.7 小时前
vue实现模拟deepseekAI功能
前端·javascript·vue.js
小张成长计划..7 小时前
前端7:综合案例--品优购项目(HTML+CSS)
前端·css·html
一个处女座的程序猿O(∩_∩)O7 小时前
React 多组件状态管理:从组件状态到全局状态管理全面指南
前端·react.js·前端框架
鹏多多7 小时前
用useTransition解决React性能卡顿问题+实战例子
前端·javascript·react.js
只愿云淡风清7 小时前
ECharts地图数据压缩-ZigZag算法
前端·javascript·echarts
亿元程序员7 小时前
都2025年了,还有面试问A*寻路的???
前端
Moment7 小时前
Node.js v25.0.0 发布——性能、Web 标准与安全性全面升级 🚀🚀🚀
前端·javascript·后端
全职计算机毕业设计8 小时前
基于微信小程序的运动康复中心预约系统的设计与实现(SpringBoot+Vue+Uniapp)
vue.js·spring boot·微信小程序
杨超越luckly8 小时前
HTML应用指南:利用POST请求获取中国一汽红旗门店位置信息
前端·arcgis·html·数据可视化·门店数据
专注前端30年8 小时前
【JavaScript】every 方法的详解与实战
开发语言·前端·javascript