位置: 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之间的转换

  • 软文推广至关重要的手段?(软文的推广有哪些,各个类别具体内容是什么?)

    软文推广至关重要的手段?(软文的推广有哪些,各个类别具体内容是什么?)

  • 手机怎么定位对方在哪里(手机怎么定位对方的手机所在位置)

    手机怎么定位对方在哪里(手机怎么定位对方的手机所在位置)

  • 荣耀magic3至臻版支持反向充电吗(荣耀magic3至臻版上市时间)

    荣耀magic3至臻版支持反向充电吗(荣耀magic3至臻版上市时间)

  • 三星手机怎么投屏(三星手机怎么投屏小米电视)

    三星手机怎么投屏(三星手机怎么投屏小米电视)

  • switch换卡需要关机吗(switch换卡直接拔吗)

    switch换卡需要关机吗(switch换卡直接拔吗)

  • 微信可以上传多长的视频(微信可以上传多少分钟的视频)

    微信可以上传多长的视频(微信可以上传多少分钟的视频)

  • 苹果左上角中国联通不见了(苹果左上角中国移动怎么显示出来)

    苹果左上角中国联通不见了(苹果左上角中国移动怎么显示出来)

  • power是什么接口(power接口怎么接)

    power是什么接口(power接口怎么接)

  • 幻灯片的版式是由什么组成的(幻灯片的版式是由 ( )组成的A文本框B表格C图标D占位符)

    幻灯片的版式是由什么组成的(幻灯片的版式是由 ( )组成的A文本框B表格C图标D占位符)

  • 微信代办的健康码可以删除吗(微信代办的健康码怎么注销)

    微信代办的健康码可以删除吗(微信代办的健康码怎么注销)

  • 华为p30悬浮窗怎么关闭(华为p30悬浮窗怎么调节大小)

    华为p30悬浮窗怎么关闭(华为p30悬浮窗怎么调节大小)

  • 微视怎么搜不到用户名(微视为什么搜不到自己)

    微视怎么搜不到用户名(微视为什么搜不到自己)

  • 微信通过昵称可以找到要添加的人吗(微信通过昵称可以加人吗)

    微信通过昵称可以找到要添加的人吗(微信通过昵称可以加人吗)

  • 苹果13.2.3更新了什么(ios13.2更新)

    苹果13.2.3更新了什么(ios13.2更新)

  • 为什么airpods pro不弹窗(为什么airpodspro连上后还是外放)

    为什么airpods pro不弹窗(为什么airpodspro连上后还是外放)

  • 魅族16th怎么进入开发者(魅族16如何)

    魅族16th怎么进入开发者(魅族16如何)

  • 为什么pr导出视频变绿(为什么pr导出视频只有一秒)

    为什么pr导出视频变绿(为什么pr导出视频只有一秒)

  • 抖音怎么只设置一个市(抖音怎么只设置城市)

    抖音怎么只设置一个市(抖音怎么只设置城市)

  • xsmax发热(iphonexsmax发热)

    xsmax发热(iphonexsmax发热)

  • 喜马拉雅为什么在苹果手机下载不了(喜马拉雅为什么不能连续播放)

    喜马拉雅为什么在苹果手机下载不了(喜马拉雅为什么不能连续播放)

  • wps中ppt怎么录屏(wps2019ppt怎么录屏)

    wps中ppt怎么录屏(wps2019ppt怎么录屏)

  • 路由器密码在哪里看(怎样给路由器设置密码)

    路由器密码在哪里看(怎样给路由器设置密码)

  • mac和ipad如何互传文件呢?(macbook和ipad怎么互通屏幕)

    mac和ipad如何互传文件呢?(macbook和ipad怎么互通屏幕)

  • U盘UEFI硬装WIN8.1 64位专业系统,是怎样练成的(uefiu盘安装系统步骤win10)

    U盘UEFI硬装WIN8.1 64位专业系统,是怎样练成的(uefiu盘安装系统步骤win10)

  • 固定资产一次性折旧的账务处理和税务处理
  • 企业转出多交增值税吗
  • 税务师考试咨询电话
  • 汽车销售和租赁哪个大
  • 缴纳增值税会计处理
  • 物流运输业务
  • 珠宝属于什么行业领域
  • 增值税即征即退政策
  • 营改增前甲供材料如何纳税
  • 核定征收企业有利润如何注销税务登记
  • 170平方的房子装修费用
  • 公司获得投资
  • 累计折旧费用
  • 历史成本重置成本属于会计是什么
  • 税务机关核定征收契税
  • 外贸企业出口退税计算公式
  • 小规模纳税人如何转一般纳税人
  • 个税起征点是
  • 多交的增值税怎么处理
  • 长期股票期权的会计分录怎么做?
  • 软件无法运行解决方法
  • 差旅费账务处理例子
  • 在linux系统中 用来存放系统所需
  • 预收账款什么时候确认增值税
  • incredicle
  • mis.off c n
  • PHP:pg_num_rows()的用法_PostgreSQL函数
  • 无票收入什么时候确认收入
  • 家属补助每月发多少钱
  • 未交土地出让金的处罚
  • 财务的几张报表
  • 四轮电车电机价格
  • vgremove命令
  • 金融商品转让的销售额
  • 税号一般多少位数字
  • 怎么样写合同书
  • 织梦系统
  • mysql安装总结
  • mysql集群三种方式
  • 新政府会计制度下的基建会计
  • 个人劳务费用
  • 开增值税专票要交税吗
  • sqlserver2019性能
  • 盘盈盘亏的定义
  • 京东提现到公账怎么取消
  • 法律是如何规定家用家具折旧
  • 企业如何进行促销
  • 土地回收补偿费怎么算
  • 事业单位对外投资
  • 产品不符合要求
  • 小规模增值税减免
  • 库存商品主要包括
  • 有奖销售增值税处理
  • 什么是分表分库
  • mac怎么用浏览器
  • linux详解
  • solaris 11.4
  • 开机越来越慢会不会是硬件的问题
  • 32位/64位Win10系统开机后桌面图标自动排列的解决办法
  • 进去界面黑屏
  • hpg是什么软件打开
  • Win7如何调整分辨率
  • win10怎么关闭欢迎界面
  • win7菜单栏是什么
  • cocos creator 动画制作
  • 建立批处理命令
  • 启用opengl的文档窗口
  • windows visual studio openGL开发环境配置
  • css filter blur
  • 不宜用于
  • python简单gui
  • unity3drpg游戏
  • jquery实现图片横向移动
  • 基于javascript的毕业设计
  • js 操作xml
  • 增值税纳税申报操作流程和内容
  • 专用缴款书会计分录
  • 软件著作权可以转让公司吗
  • 北京中关村海淀医院属于北京几环?
  • 监理费合同按什么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设