纯记录 大量内心独白 步骤思考方式
基于字节旗下-coze平台API调用和vite,vue快速搭建的大模型对话框应用(网页版)..单页面应用 因为是小白,第一个项目,边学边上手,从0到1落地,还有很多地方做的不够好,纯分享,掘友们有什么好的指点欢迎评论区发言~
功能设计---由浅入深
- 目前定位是可以根据用户的问题进行回答---仿豆包mini极简版
-
输入框--可以输入文本(包括粘贴板上的图片,文字,代码等等),文件资源(访问文件夹资源),音频输入(调用麦克风,音响等等功能),没有内容时不能发送(按钮)。
-
对话框整体外观--背景颜色主题切换,中英切换(翻译插件),回到底部,回到顶部,ai回答导航,在对话框外侧悬浮,footer部分。
-
其他功能--ai回答收藏(数据库存储或者缓存),最近一周的使用历史,搜索栏目,登录注册等等
-
ai回答--ai回答提供复制,引用,扩展(代码功能)--这部分应该和api有关?--
唠唠:这些个功能设计可能对于大佬来说非常大白话且平平无奇,但是要一个一个实现这些功能对我来说是一种挑战一种新的实践。个人就是喜欢在写项目前先写好大体功能框架,然后再往里面不断地填充,这个项目我会一直完善,慢慢扩展一些别的功能或者展现。
整个项目构建 (vite)
//Vue Router 用于路由管理
npm install vue-router@next
//安装 Vue I18n 用于多语言支持
npm install vue-i18n
//axios库实现http请求
npm install axios
组件设计--(自己先思考一个大概的框架,结合ai工具辅助开发)
遇到的第一个问题就是需要学习vue框架,了解vue是如何高效编写组件化模块的
1.输入框:
- 文本输入:可以使用
<input>或<textarea>来实现。 - 粘贴板支持:可以通过监听 paste 事件来处理粘贴的内容。
- 文件资源:可以使用
<input type="file">来允许用户选择文件。 - 音频输入:可以使用 Web Audio API 和 MediaRecorder API 来实现录音功能。
- 按钮控制:确保在没有内容时禁用发送按钮。
2.对话框:
- 背景颜色主题切换:可以使用 CSS 变量来实现主题切换。
- 中英切换:可以使用 i18n 库(如 vue-i18n)来实现多语言支持。
- 滚动控制:可以使用 JavaScript 来实现滚动到底部和顶部的功能。
- 悬浮导航:可以使用 CSS 的 position: fixed 来实现悬浮效果。
- footer 部分:可以设计一个固定的 footer 栏,包含版权信息等
3.其他功能
- 用 localStorage 或后端数据库来存储收藏的数据。
- 使用历史:可以记录用户的会话历史,并在页面上显示最近一周的使用记录。
- 搜索栏目:可以实现一个简单的搜索栏,允许用户搜索历史对话或特定关键词。
- 登录注册:可以使用简单的表单和后端 API 来实现用户认证。
4.ai回答
- 复制、引用、扩展:可以为 AI 回答添加按钮,分别实现复制、引用和扩展功能。这些功能可以通过 JavaScript 实现,可使用 navigator.clipboard.writeText 来复制文本。
调用接口--coze
- [API文档]
- [请求封装 ]
- [调用API ]
等等等等~~
文档编写 用户手册等等(与后端服务端的联系,通信等等)
待更新ing