基于vite4+pinia2模仿chatgpt移动端聊天模板Vue3MobileGPT

运用vite4.x构建mobile端仿chatgpt聊天实例Vue3-mobileGPT

vue3-mobilegpt 基于 vite4+vue3+pinia2+vue-router+vant 等技术开发移动端仿ChatGPT智能聊天项目模板。支持light+dark两种主题,搭配vue3组件库Vant,界面简洁美观。

在这里插入图片描述
在这里插入图片描述
就前几天OpenAI就推出了IOS版ChatGPT应用APP程序,标示着chatgpt正式进入了移动领域了。

在这里插入图片描述

运用技术

  • 编码工具:Cursor
  • 技术框架:Vite4+Vue3+Vue-Router+Pinia2
  • 组件库:Vant^4.3.1
  • 代码高亮:Highlight.js^11.7.0
  • markdown组件:vue3-markdown-it
  • 数据存储:pinia-plugin-persistedstate^3.1.0
  • 样式处理:Sass^1.62.1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vue3-mobileGpt 采用最新vue3前端技术栈开发,vue3 setup编码规范开发。

在这里插入图片描述

项目结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主页面main.js

import { createApp } from 'vue'
import './style.scss'
import App from './App.vue'import Router from './router'
import Store from './store'import Plugins from './plugins'const app = createApp(App)app.use(Router)
app.use(Store)
app.use(Plugins)app.mount('#app')

Vant 基于vue3移动端组件库

vant 一款高质量的mobile端组件库。支持70+组件供学习者使用。

在这里插入图片描述
目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本。

# Vue 3 项目,安装最新版 Vant
npm i vant# Vue 2 项目,安装 Vant 2
npm i vant@latest-v2

https://vant-contrib.gitee.io/vant/#/zh-CN

引入公共插件

新建plugins/index.js文件,用来配置一些公共组件。

/*** 公共插件* @author YXY*/import '@assets/js/fontSize'// 引入Vant4.x组件库
import Vant from 'vant'
import 'vant/lib/index.css'// 引入ve-plus组件库
import VEPlus from 've-plus'
import 've-plus/dist/ve-plus.css'// 引入vue3弹框组件
import V3Popup from '@/components/v3popup'import Navbar from '@/components/Navbar.vue'const Plugins = (app) => {app.use(Vant)app.use(VEPlus)app.use(V3Popup)// 注册组件app.component('Navbar', Navbar)
}export default Plugins

Pinia状态管理

vite4构建的项目,官方推荐使用pinia进行状态管理操作。当然还是可以使用vuex进行状态管理。

在这里插入图片描述
https://pinia.vuejs.org/

在这里插入图片描述

/*** 状态管理Pinia* @author YXY*/import { createPinia } from 'pinia'
// 引入pinia本地持久化存储
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)export default pinia

vue3 GPT聊天对话框

在这里插入图片描述
如上图:聊天对话编辑框使用ve-plus组件库中的Input组件。支持多行文本,支持自定义后缀插槽等功能。

<template><div class="vgpt__editor"><div class="vgpt__editor-inner flexbox"><Inputclass="flex1"ref="editorRef"v-model="editorText"type="textarea":autosize="{maxRows: 6}"clearableplaceholder="Prompt..."@keydown="handleKeydown"@clear="handleClear"style="margin: 0 5px;"><template #suffix><Button class="btn" type="link" @click.stop><Icon name="ve-icon-image" size="16" cursor /><input ref="uploadImgRef" type="file" title="" accept="image/*" @change="handleUploadImage" /></Button><van-popover v-model:show="showPopover" placement="top"><template #reference><Button class="btn" type="link" icon="ve-icon-audio"></Button></template><div class="flexbox flex-alignc flex-col" style="padding: 15px 0; min-width: 120px;"><Icon name="ve-icon-yuyin" size="40" color="#0fa27e" /><p class="fs-12 mb-15 c-999">网络不给力</p><van-button size="mini"><i></i>开始讲话</van-button></div></van-popover></template></Input><Button type="primary" icon="ve-icon-arrowup" circle :disabled="!editorText" @click="handleSubmit"></Button></div></div>
</template>/*** 聊天会话状态管理* @author YXY   Q:282310962*/import { defineStore } from 'pinia'
import { guid, isEmpty } from '@/utils'export const chatStore = defineStore('chat', {state: () => ({sessionId: '',session: []}),actions: {// 创建新会话createSession(ssid) {this.sessionId = ssidthis.session.push({sessionId: ssid,title: '',data: []})},// 新增会话addSession(message) {// 判断当前会话uuid是否存在,不存在创建新会话if(!this.sessionId) {const ssid = guid()this.createSession(ssid)}this.session.map(item => {if(item.sessionId == this.sessionId) {if(!item.title) {item.title = message.content}item.data.push(message)}})},// 获取会话getSession() {return this.session.find(item => item.sessionId == this.sessionId)},// 移除会话removeSession(ssid) {const index = this.session.findIndex(item => item?.sessionId === ssid)if(index > -1) {this.session.splice(index, 1)}this.sessionId = ''},// 删除某一条会话deleteSession(ssid) {this.session.map(item => {if(item.sessionId == this.sessionId) {if(item.data && !isEmpty(item.data)) {item.data.map((it, key) => {if(it.key == ssid) {item.data.splice(key, 1)}})}}})},// 清空会话clearSession() {this.session = []this.sessionId = ''}},// 本地持久化存储(默认存储localStorage)persist: {key: 'chatState', // 设置别名storage: localStorage}
})

OK,基于vue3+pinia2开发mobile版仿chatgpt聊天界面实例就分享到这里。

vite4-vue3-admin后台管理系统|vue3轻量级管理后台

Vue3+Electron跨端仿制QQ聊天实例项目

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6887.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT模板设计领取

含登录系统&#xff0c;数据库系统&#xff0c;后端系统&#xff0c;卡密系统&#xff0c;宣传系统。对接GPT3.5模型&#xff0c;API接口&#xff0c;服务器对接&#xff0c;标准UI设计&#xff0c;标准前端设计。 模板&#xff1a;chat.stellar.hk

让我们一起看看chatGPT的CSS代码水平

近日&#xff0c;chatGPT火爆了&#xff0c;我也看到了许多人说 人工智能 对前端的影响&#xff0c;在GPT-4发布时&#xff0c;也展示了GPT的代码能力–10秒钟根据图片上网页布局生成前端网页&#xff0c;也是非常强大了。在好奇心驱使下&#xff0c;我试了试chatGPT写前端CSS代…

作为一名前端开发,我们可以让chatGPT帮我们做什么?

您可以利用 ChatGPT 来帮助您完成以下任务&#xff1a; 自动生成代码注释&#xff1a; ChatGPT 可以根据您提供的代码片段生成对应的注释&#xff0c;帮助您解释代码的功能和实现细节。 /*** 计算两个数字的和* param {number} a 第一个数字* param {number} b 第二个数字* re…

6月城市之星领跑活动获奖名单已出炉

经过一个月的角逐&#xff0c;6月城市之星领跑活动上榜名单终于出炉啦&#xff0c;本次城市赛道是根据最后登陆且6月份有入围博客之星用户的城市一共368个城市&#xff0c;城市人数划分区间具体情况如下&#xff1a; 200以上城市2个&#xff0c;其中有一些博主的城市由于未获取…

刘慈欣谈 ChatGPT:我的看法,跟大家有些不一样...

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 著名科幻作家刘慈欣在近日联合国大会上做演讲&#xff0c;他谈到了以 ChatGPT 为代表的人工智能可能会给人们带来的影响。 以下是大刘的主要观点&#xff1a; 首先&#xff0c;最明显的一点是人工智能…

雷军首谈ChatGPT:要么成为AI的主人,要么被AI淘汰!

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 小米创始人雷军&#xff0c;最近在谈到ChatGPT时表示&#xff1a;“AI给人类带来的影响&#xff0c;远超以往任何一次技术革命。许多行业将被颠覆&#xff0c;一大批旧的岗位被AI取代&#xff0c;同时…

(大集合)AI工具和用法汇总—集合的集合

AI 工具和用法汇总 汇集整理 by Staok/瞰百&#xff0c;源于相关资料在我这慢慢越积累越多&#xff0c;到了不得不梳理的程度。 文中有许多内容作者还没有亲自尝试&#xff0c;所以很多内容只是罗列&#xff0c;但信息大源都已给出&#xff0c;授人以渔&#xff0c;欢迎 PR 补…

“国货之光”文心一言正式发布:百度大语言模型背后那些不为人知的细节

文章目录 前言一、文心一言是什么二、发布会内容1.文学创作2.商业文案创作3.数理逻辑推算4.中文理解5.多模态生成 三、文心一言那些不为人知的细节总结 前言 去年年末&#xff0c;ChatGPT以惊人的速度成为焦点&#xff0c;激起了中国科技界和创投领域的热情&#xff0c;吸引了…

刘慈欣自爆:正在用ChatGPT写作!写得还挺好

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 近期&#xff0c;刘慈欣在做客俞敏洪直播间时表示&#xff0c;ChatGPT肯定会对人类的生存方式、对社会造成很大的影响&#xff0c;但这种影响还达不到科幻小说里面那样人工智能统治人类等。 目前的影响…

ChatGPT会被人工智能干掉吗?

01 ChatGPT火爆全球 ChatGPT是美国“开放人工智能研究中心”2022年11月30日发布的聊天机器人程序&#xff0c;它是人工智能技术驱动的自然语言处理工具&#xff0c;能通过学习和理解人类的语言来进行对话&#xff0c;还能根据聊天的上下文进行互动&#xff0c;真正像人类一样…

ChatGPT Prompt 提示词设计技巧必知必会

本文内容整理自图灵社区直播《朱立成&#xff1a;ChatGPT Prompt提示词技巧必知必会》。 朱立成&#xff0c;图灵社区《ChatGPT即学即用》视频课程作者&#xff0c;软件工程师&#xff0c;对新事物充满好奇&#xff0c;关注ChatGPT应用。2001年毕业于浙江大学&#xff0c;从事软…

当 ChatGPT 续写《红楼梦》,能替代原著吗?我惊了!

近段时间&#xff0c;人工智能聊天机器人ChatGPT火爆网络&#xff0c;“AI写作是否会让文字工作者被替代&#xff1f;”成为人们关注并持续讨论的话题。 闲聊、问答、解题、写代码、写诗、创作小说&#xff0c; 连续回答&#xff0c;不断纠错&#xff0c;ChatGPT 能做的事&…

吴军: “ChatGPT不算新技术革命,带不来什么新机会”,我不太认同!

近日&#xff0c;吴军接受了采访&#xff0c;谈论了他对ChatGPT的五个观点。 1、ChatGPT基于一个数学模型&#xff0c;即语言模型&#xff0c;该模型早在1972年就已存在。因此&#xff0c;ChatGPT并非技术革命。 2、语言模型的复杂性需要大量计算能力&#xff0c;这是过去难以实…

ChatGPT的出现具有革命性吗?

其实我们一直在想着ChatGPT等一些AI的兴起会不会是一场新的革命&#xff0c;这些有着“思维能力”的AI会代替掉很多职业和工作&#xff0c;代替掉人类的创新性思维&#xff0c;但是我觉得最可怕的不仅仅是这些AI的出现&#xff0c;其实AI是一种“软实力”&#xff0c;他有着巨大…

用 ChatGPT 进行阅读理解题目的问答

原文&#xff1a;用 ChatGPT 进行阅读理解题目的问答 阅读理解出题 阅读理解题是语言学习过程中一种重要的练习方式。无论语文还是英语考试中&#xff0c;阅读理解题都占有相当大的分值。ChatGPT 作为一种大语言模型&#xff0c;在处理自然语言理解任务中具有很大的优势。广大…

ChatGPT 原来是这样工作的(上)

大家好&#xff0c;我是技福的小咖老师。 ChatGPT 发布以来&#xff0c;蹿红的速度比马斯克设计的火箭还快。据报道&#xff0c;ChatGPT在开放试用的短短几天里&#xff0c;就吸引了超过 100 万互联网注册用户。ChatGPT如同是“搜索引擎社交软件”的结合体&#xff0c;能够在实…

ChatGPT帮我和老板吵架,半分钟做了个思维导图...

大家好&#xff0c;我是小z&#xff0c;也可以叫我阿粥 最近那个疑似成都电科的截图已经传疯了&#xff0c;贴一张图回味下&#xff1a; 这种壮士断腕式的吵法&#xff0c;可以说几乎是单方面的虐杀。但是有朋友问了&#xff0c;在职场中还是有所顾忌&#xff0c;有没有更体面点…

chatgpt赋能python:Python如何改成中文

Python 如何改成中文 如果您是一名有经验的 python 工程师&#xff0c;或者正在学习 python &#xff0c;可能会发现学习过程中遇到的大多数资源都是英文的。但是&#xff0c;如果您想要将 python 学习应用于中国用户&#xff0c;那么使用中文是非常必要的。这篇文章将介绍如何…

ChatGPT评出中国排名前的30大学及全球排名,原因很好玩

中国排名前50的大学在中国国内及在全世界的排名&#xff0c;还有原因 以下是中国排名前50位的大学及其在全球的排名和原因&#xff1a; 清华大学 (17)&#xff1a;清华大学是中国著名的高水平研究型综合性大学&#xff0c;其在工程学、计算机科学和自然科学等领域具有很高的研究…

ChatGPT在大学里该怎么用?24所英国顶级大学宣布立场!

自从ChatGPT横空出世以来&#xff0c;许多行业都被得到赋能。而在教育行业&#xff0c;许多大学生把它视为写作业的“神器”&#xff1a;节省查阅复杂文献的时间、编写简单的Python代码、辅助学生理解知识点&#xff0c;甚至直接“生成”论文...... 但这些行为&#xff0c;学校…