《创业者青桔》是一款基于 Vue 3 和 TDesign Vue Next 组件库构建的智能聊天对话系统。项目以简洁、直观的聊天界面为核心,不仅支持消息发送、对话分享和下载,还提供了删除、引用、反馈等丰富功能。通过对消息内容支持 LaTeX 语法解析,项目在提供高质量对话交互的同时,也适用于需要公式渲染的场景。整体风格清新简约,既适合创业者的沟通需求,也方便用户管理对话记录。
本项目主要采用以下前沿技术和工具:
<script setup>
:项目基于 Vue 3 构建,并采用 <script setup>
语法,使组件书写更简洁、响应式更强。项目采用响应式布局,通过一个外层容器(app-wrapper
)控制整体背景色,并结合 dark-theme
类来实现主题切换。页面顶部使用了页头区域(app-header
),内部放置了多个按钮,包括切换主题、下载对话、分享对话和发消息按钮。
按钮采用了 TDesign 的 <t-button>
组件,并在按钮内部嵌入图标组件,例如 ViewListIcon
、DownloadIcon
、Share1Icon
和 ChatIcon
,使用户一目了然了解各按钮功能。
主界面通过 <t-chat>
组件构建,消息以气泡形式展示。用户与系统的对话采用不同样式区分:
msg-user
类,系统消息使用 msg-assistant
类,通过不同的背景色和气泡位置区分对话角色。点击“发消息”按钮后,不再采用底部固定的输入框,而是弹出一个大号的 textarea
(使用 <t-textarea>
组件)对话框。用户在弹窗中输入消息,通过点击“发送”按钮提交消息。消息提交后:
html2pdf.js
、File-Saver
等库实现。在处理 SSE 数据流时,代码通过 AbortController
实现了请求中断,确保长时间响应过程中用户可随时取消操作。同时,利用 TextDecoder 对数据进行解析,并支持多行消息拼接,以保证消息数据完整性。
以下是项目核心功能的详细介绍:
textarea
提供更宽敞、便于输入的编辑区域,使得长消息或需要排版的文本内容能够更好呈现。在项目开发全流程中,腾讯云 AI 助力发挥了极大作用。具体包括:
展示了用户与系统之间的对话,通过不同背景色和气泡位置区分角色,并支持公式渲染。
点击“切换主题”按钮后,背景色即时更改,适应不同使用场景。
点击“发消息”按钮后,弹窗中出现大号 textarea 输入框,用户可以输入长文本内容,编辑体验更佳。
聊天记录能够以 PDF 格式下载,同时支持多平台分享,便于用户保存和传播。
《创业者青桔》项目展示了如何利用 Vue 3、TDesign Vue Next 等前沿技术构建高效、友好的智能聊天系统。项目中通过弹窗输入的方式优化了消息编辑体验,同时配合丰富的分享、下载、反馈功能,为用户提供了全面的交互体验。未来,我们将继续迭代优化,探索更多便捷高效的应用场景,为广大创业者和用户提供更优质的服务。