位置: IT常识 - 正文

vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话(vue 模拟遥控按钮)

编辑:rootadmin
vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话 vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话

推荐整理分享vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话(vue 模拟遥控按钮),希望有所帮助,仅作参考,欢迎阅读内容。

vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话(vue 模拟遥控按钮)

文章相关热门搜索词:vue 模拟设备操作界面,vue 模拟excel 撤回恢复,vue 模拟数据,vue 模拟接口数据,vue 模拟短视频平台,vue 模拟excel 撤回恢复,vue 模拟控制台界面,vue 模拟数据,内容如对您有帮助,希望把文章链接给更多的朋友!

模拟 chatgpt 聊天功能,展示对话效果。其中比较有意义的技术点是:js 实现逐字显示、延时函数,同步遍历。

<template> <div class="chat-gpt"> <div id="chat-dialog" class="chat-dialog" ref="chatDialogRef"> <div id="chat-list" class="chat-list" ref="chatListRef"> <div v-for="(item, index) in chatList" :key="index"> <img v-if="item.status && index % 2 == 0" src="../../public/img/speak1.gif" alt="" /> <div :class="index % 2 == 0 ? 'odd' : 'even'">{{ item.content }}</div> </div> </div> </div> </div></template><script>export default { data() { return { textCount: 0, timer: null, chatBaseList: [ "以今日5辆满电无人车,运输5小时能运完50吨货物的标准,已知每辆无人车运输1小时耗电10%,运输效率是多少,每辆无人车耗电多少?花费多长时间?", "运输效率:50吨/5小时=10顿/小时,每辆无人车耗电:10%×5小时=50%,需花费5小时。", "以现有运输效率前提下,再增加5辆无人运输车,完成共计150吨物资的运输任务,整体效率会提高到多少?每辆无人车耗电又是多少?共花费多长时间?", "增加到10辆无人车,完成共计150吨物资运输任务,整体效率会提高到15顿/小时,每辆无人车耗电百分比是15%。运完150吨的话,总共要耗用1.5小时。", "我来想想是否确认执行此调配操作?", "您好,请您慎重考虑。我们将根据您的确认来决定是否执行此调配操作。", "是" ], chatList: [] }; }, mounted() { this.initGPT(); }, methods: { // 延时函数 sleep(delaytime = 10000) { return new Promise(resolve => setTimeout(resolve, delaytime)); }, // 同步遍历,自定义延时时间 async delayDo( iterList, callback = data => console.log(`数据:${data}`), delaytimeList ) { let len = iterList.length; for (let i = 0; i < len; i++) { callback(iterList[i], i); await this.sleep(delaytimeList[i]); } }, // 逐字显示内容 getChatContent(text, index) { this.timer = setInterval(() => { this.textCount++; if (this.textCount == text.length + 1) { this.textCount = 0; this.chatList.splice(index, 1, { content: text, status: false }); clearInterval(this.timer); return; } // 取字符串子串 let nowStr = text.substring(0, this.textCount); this.chatList.splice(index, 1, { content: nowStr, status: true }); }, 200); }, // 点击开始聊天 initGPT() { // const delaytimeList = [11000, 8000, 6000, 15000, 4000]; const delaytimeList = [16000, 11000, 16000, 16000, 5000, 7000]; this.delayDo( this.chatBaseList, (item, i) => { this.getChatContent(item, i); }, delaytimeList ); } }};</script><style lang="scss" scoped>.chat-gpt { width: 33rem; height: 43rem; .chat-dialog { position: relative; height: 43rem; background: 0/33rem url("../../public/img/chat-bg.png") no-repeat; overflow: hidden; .close-icon { position: absolute; top: 1rem; right: 1rem; width: 3.4rem; height: 3.4rem; img { width: 100%; height: 100%; } } .chat-list { display: flex; flex-direction: column; width: 90%; margin: 0 auto; margin-top: 2rem; overflow: auto; >div { display: flex; margin-top: 1rem; >div { max-width: 19rem; padding: 0.6rem; opacity: 0.8; font-size: 0.9rem; font-family: FZLanTingHei-L-GBK; font-weight: 400; color: #c5e7ff; text-align: start; } .odd { align-self: flex-start; background: #435e6f; border-radius: 0px 16px 16px 16px; } .even { align-self: flex-end; background: #31b8c8; border-radius: 16px 0px 16px 16px; } img { width: 2rem; height: 2rem; margin-right: 1rem; } } >div:nth-of-type(odd) { align-self: flex-start; } >div:nth-of-type(even) { align-self: flex-end; } } } .chat-tips { display: flex; height: 5.82rem; margin-top: 1rem; .gpt-icon { height: 100%; img { height: 100%; } } }}</style>

chatgpt 聊天效果

本文链接地址:https://www.jiuchutong.com/zhishi/281433.html 转载请保留说明!

上一篇:Mac 键盘快捷键大全(mac键盘快捷键设置)

下一篇:Javascript Object和Map之间的转换

  • 微博营销的10大“战略”技巧(微博营销的内容有哪些)

    微博营销的10大“战略”技巧(微博营销的内容有哪些)

  • 洋气的企业名字(洋气的qq名字)(好听企业名字)

    洋气的企业名字(洋气的qq名字)(好听企业名字)

  • 铃声在哪里设置(微信换铃声在哪里设置)

    铃声在哪里设置(微信换铃声在哪里设置)

  • 我的电脑图标没了怎么办(我的电脑图标没有了怎么弄)

    我的电脑图标没了怎么办(我的电脑图标没有了怎么弄)

  • 超视网膜xdr和liquid区别

    超视网膜xdr和liquid区别

  • 开性能模式对手机有害吗(性能模式开还是不开)

    开性能模式对手机有害吗(性能模式开还是不开)

  • 苹果里最近删除的照片怎么找回(苹果里最近删除没有了怎么恢复)

    苹果里最近删除的照片怎么找回(苹果里最近删除没有了怎么恢复)

  • 五福合成以后还能扫吗(五福合成以后还能送人吗)

    五福合成以后还能扫吗(五福合成以后还能送人吗)

  • 苹果序列号g6开头是哪里生产的(苹果序列号G6开头什么意思)

    苹果序列号g6开头是哪里生产的(苹果序列号G6开头什么意思)

  • 华为手机system进程无响应(华为手机system进程无响应重启)

    华为手机system进程无响应(华为手机system进程无响应重启)

  • 操作系统的分类(操作系统的分类及具体举例)

    操作系统的分类(操作系统的分类及具体举例)

  • 视频太大qq发不了怎么办(视频太大qq发不过去)

    视频太大qq发不了怎么办(视频太大qq发不过去)

  • qq扩列为什么匹配失败啊(QQ扩列为什么匹配不了了)

    qq扩列为什么匹配失败啊(QQ扩列为什么匹配不了了)

  • ids与ips的区别和联系(ids和ips设备位于网络中的什么位置)

    ids与ips的区别和联系(ids和ips设备位于网络中的什么位置)

  • 华为crrcl00是什么型号(华为crr-ul00是什么型号手机)

    华为crrcl00是什么型号(华为crr-ul00是什么型号手机)

  • ipad可以开热点吗(iPad可以开热点吗)

    ipad可以开热点吗(iPad可以开热点吗)

  • 苹果xsmax几k屏幕(苹果xsmax的屏幕多大尺寸)

    苹果xsmax几k屏幕(苹果xsmax的屏幕多大尺寸)

  • 小米手环4怎么开机(小米手环4怎么自定义表盘)

    小米手环4怎么开机(小米手环4怎么自定义表盘)

  • 小米airdots和青春版的区别(小米airdots和青春版哪个好)

    小米airdots和青春版的区别(小米airdots和青春版哪个好)

  • 怎么解决qq预设上限(qq预设账号过多怎么处理)

    怎么解决qq预设上限(qq预设账号过多怎么处理)

  • b站音频在哪上传(b站音频在哪儿)

    b站音频在哪上传(b站音频在哪儿)

  • 手机小度怎么关闭(手机小度怎么关不了机)

    手机小度怎么关闭(手机小度怎么关不了机)

  • 华为p30pro广角怎么用(华为p30pro 广角)

    华为p30pro广角怎么用(华为p30pro 广角)

  • ipadmini5分屏怎么用(ipadmini5分屏怎么打开)

    ipadmini5分屏怎么用(ipadmini5分屏怎么打开)

  • 电脑开机没显示(电脑开机没显示鼠标)

    电脑开机没显示(电脑开机没显示鼠标)

  • 虚拟存储器是什么(虚拟存储器什么意思)

    虚拟存储器是什么(虚拟存储器什么意思)

  • 'The Wave' sandstone formation in Coyote Buttes North, Paria Canyon-Vermilion Cliffs National Monument, Arizona (© Dennis Frates/Alamy)

    'The Wave' sandstone formation in Coyote Buttes North, Paria Canyon-Vermilion Cliffs National Monument, Arizona (© Dennis Frates/Alamy)

  • 外购免税农产品进项税额如何抵扣
  • 小规模纳税人普票交税吗
  • 其他应收款平账怎么做分录
  • 季度预交所得税可以弥补上年度亏损吗
  • 通行费电子发票没有通行费字样
  • 其他债权投资减值准备影响账面价值吗
  • 递延所得税资产和负债怎么计算
  • 勾选认证有时间限制吗
  • 公司税务状态变更怎么办
  • 纳税人少缴税款,税务机关发现之日怎么算
  • 企业政策性搬迁损失的所得税处理
  • 支付外币投资会计处理
  • 怎么办开户许可证
  • 进口商品不提供发票合法吗
  • 票据追索权向谁追索
  • 消费税组成计税价
  • 安保服务费税率几个点怎么算
  • 增值税适用范围和税率
  • 无形资产的入账价值包括宣传费吗
  • 持有至到期投资账务处理
  • 坏账减值准备账务处理
  • 银行承兑汇票有纸质的吗
  • linux zen3
  • thinkphp d方法
  • linux中qq怎么添加快捷键启动功能?
  • php mysql pdo
  • 圣海伦斯山国家火山纪念区
  • win11电脑怎么重置
  • HuggingFace简明教程
  • sonar-scanner需要配置环境变量
  • 多伦多日照时间
  • 办公楼需要什么
  • html的论文
  • 差旅费误餐补贴标准
  • web安全什么意思
  • less变量
  • python 如何
  • 支出包括哪些项目
  • java处理字符串公式运算
  • mongodb 数据文件
  • 核定征收企业注册
  • 建筑工程承包合同
  • 售后回租融资租赁会计处理
  • 企业哪些账户可以取现金
  • 红冲以前年度收入
  • 企业所得税年度纳税申报表A类
  • 契税是指什么?
  • 房地产公司收房款怎么分录
  • 销售样品分录
  • 物料损耗率计算例题及答案
  • 4s店出售试驾车账务处理
  • 测绘费计入什么明细科目
  • 伤残就业补偿金记入什么科目
  • sql server的go
  • 数据库保护数据方式
  • solaris 10安装
  • MS DTC 事务管理器无法启动的解决方案
  • mac cad软件
  • win8电脑设置
  • windows8.1企业版build9600
  • winxp怎么设置启动项
  • WFXMOD32.EXE - WFXMOD32是什么进程
  • dvd rom drive bbs priorities
  • windows10 upnp
  • 安装samba服务器步骤
  • win7的语言栏不见了
  • windows 8.1 (multiple editions)
  • win10的蓝屏界面
  • 非常好的成语
  • jquery教程chm
  • Unity 管理www类访问的写法
  • 基于zepto的移动端轻量级日期插件--date_picker
  • java模拟银行存款功能
  • javascript中checkbox使用方法实例演示
  • 中国税务主旨是什么?
  • 税务上征信
  • 国家税务总局南京市秦淮区税务局纳税服务中心
  • 四川增值税发票图片
  • 房屋契税可以退个人所得税吗
  • 珠宝消费税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设