当前位置: 首页 > news >正文

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

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

        

相关文章:

  • 关于浏览器页面自动化操作
  • 一条 SQL 更新语句是如何执行的?
  • SPI协议
  • 关于Python:9. 深入理解Python运行机制
  • 【Ubuntu 安装Docker CE-Jenkins】
  • Matlab自学笔记五十三:保存save和载入load
  • LeetCode热题100--189.轮转数组--中等
  • Spring Boot 中 @Bean 注解详解:从入门到实践
  • 【C++指南】STL list容器完全解读(一):从入门到掌握基础操作
  • Photo-SLAM论文理解、环境搭建、代码理解与实测效果
  • 使用 IDEA + Maven 搭建传统 Spring MVC + Thymeleaf 项目的详细步骤
  • java学习之数据结构:四、树(代码补充)
  • 数据结构-希尔排序(Python)
  • Python格式化字符串的四种方法
  • Web Workers 技术详解与最佳实践
  • 【STM32 学习笔记】GPIO输入与输出
  • C++初学者的入门指南
  • Nginx核心功能2
  • 初始AI大模型-起源和发展
  • 解决DNS劫持问题
  • 48岁黄世芳履新中国驻毛里求斯大使,曾在广西工作多年
  • 中小企业数字化转型的破局之道何在?
  • 马斯克“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 巴菲特首次明确批评贸易战,“投资界春晚”有哪些看点?一文速览
  • 5月2日,全社会跨区域人员流动量完成29275.4万人次
  • 美国多地爆发集会抗议特朗普政府多项政策