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

  • 阿里云手机怎么样(阿里云手机)(阿里云手机怎么释放服务器)

    阿里云手机怎么样(阿里云手机)(阿里云手机怎么释放服务器)

  • 学习通考试可以分屏吗

    学习通考试可以分屏吗

  • 苹果x自动调节亮度怎么关闭(苹果x自动调节亮度失效了)

    苹果x自动调节亮度怎么关闭(苹果x自动调节亮度失效了)

  • QQ浏览器文件怎么编辑(qq浏览器文件怎么写字)

    QQ浏览器文件怎么编辑(qq浏览器文件怎么写字)

  • 为什么快手识别字幕失败(为什么快手识别不出来)

    为什么快手识别字幕失败(为什么快手识别不出来)

  • 有信被对方拦截怎么办(有信被拉黑怎么破解?)

    有信被对方拦截怎么办(有信被拉黑怎么破解?)

  • 华为P40充电速度(华为p40充电速度慢)

    华为P40充电速度(华为p40充电速度慢)

  • 拼多多发起拼单和参与拼单的区别(拼多多发起拼单后如何取消拼单)

    拼多多发起拼单和参与拼单的区别(拼多多发起拼单后如何取消拼单)

  • 键盘上大小写字母切换是哪个键(键盘上大小写字母转换键是)

    键盘上大小写字母切换是哪个键(键盘上大小写字母转换键是)

  • qq发的视频看不了怎么回事(qq发的视频看不到)

    qq发的视频看不了怎么回事(qq发的视频看不到)

  • vivox30耗电快怎么办(vivox30费电)

    vivox30耗电快怎么办(vivox30费电)

  • 处理器带h是什么意思(处理器后面的字母h是什么意思)

    处理器带h是什么意思(处理器后面的字母h是什么意思)

  • usb s3 wake-up是什么意思(usb kb wake up from s3)

    usb s3 wake-up是什么意思(usb kb wake up from s3)

  • 淘宝最晚几天发货(淘宝晚几天发货可以吗)

    淘宝最晚几天发货(淘宝晚几天发货可以吗)

  • 手机信号差是手机问题还是卡的问题(手机信号差是手机哪里坏了)

    手机信号差是手机问题还是卡的问题(手机信号差是手机哪里坏了)

  • 斐讯路由器已连接不可上网(斐讯路由器已连接设备)

    斐讯路由器已连接不可上网(斐讯路由器已连接设备)

  • 爱奇艺是腾讯的吗(爱奇艺是腾讯的还是阿里的)

    爱奇艺是腾讯的吗(爱奇艺是腾讯的还是阿里的)

  • tf卡u1和u3的区别(tf卡u1和u3的区别 c10)

    tf卡u1和u3的区别(tf卡u1和u3的区别 c10)

  • i39100核显相当于什么显卡(i39100核显相当于什么独显)

    i39100核显相当于什么显卡(i39100核显相当于什么独显)

  • wifi在线是真的在线吗(wifi在线一般在哪里)

    wifi在线是真的在线吗(wifi在线一般在哪里)

  • 多闪是啥(多闪是啥平台)

    多闪是啥(多闪是啥平台)

  • pr可以导入什么格式的视频(pr可以导入什么格式的文件)

    pr可以导入什么格式的视频(pr可以导入什么格式的文件)

  • 电信tdlte什么意思(电信 tdd)

    电信tdlte什么意思(电信 tdd)

  • 小米cc9pro是双扬声器吗(小米cc9pro是2k屏吗)

    小米cc9pro是双扬声器吗(小米cc9pro是2k屏吗)

  • 苹果电池优化打开还是关掉(苹果电池优化打开还是关掉贴吧)

    苹果电池优化打开还是关掉(苹果电池优化打开还是关掉贴吧)

  • 怎样发送原图照片(怎样发送原图照片给朋友)

    怎样发送原图照片(怎样发送原图照片给朋友)

  • 小米9pro支持4g吗(小米9pro5g支持4g吗)

    小米9pro支持4g吗(小米9pro5g支持4g吗)

  • 新手机前三次怎么充电(新手机前三次要充多久)

    新手机前三次怎么充电(新手机前三次要充多久)

  • 天猫如何查看自己的评价(天猫怎么看自己的购买记录)

    天猫如何查看自己的评价(天猫怎么看自己的购买记录)

  • 电脑开机时进入并在BIOS里设置硬盘启动的方法(电脑开机时进入bios界面快捷键)

    电脑开机时进入并在BIOS里设置硬盘启动的方法(电脑开机时进入bios界面快捷键)

  • YOLOv5 txt标签转图像标签(多个标签)(yolov5标签格式)

    YOLOv5 txt标签转图像标签(多个标签)(yolov5标签格式)

  • 什么叫应纳税所得额
  • 增值税普通发票需要交税吗
  • 租金收入个税怎么交
  • 调整税率后增值税发票的开具
  • 运输合同印花税税率
  • 税务师税法一税法二区别
  • 隔年的发票能冲销吗
  • 申报从租计征的房产税必须提前备案吗
  • 纳税申报现金流量表报错了可以重新申报吗
  • 抵扣联的抵扣期限
  • 资金成本加价收入能作为收入开票吗
  • 企业管理咨询有限公司简介
  • 查增应纳税所得额怎么算
  • 增值税金内部结算方式
  • 利润总额递延所得税
  • 商场预付卡是什么意思
  • 个人独资企业法人承担什么责任
  • 未结清全额是逾期吗
  • 双倍余额折旧法
  • 小规模季报利润表本月金额和本年累计金额
  • 集体房产证如何分割
  • 所得税汇算调增调减是什么意思
  • 工资薪金所得的个人所得税筹划方法
  • 同比增长率为负数怎么算
  • 用友t8怎么删除凭证
  • 可变现净值是不是就是毛利
  • 企业向个人赠送礼品
  • 1697510839
  • 现金股利属于什么所得
  • 业务招待费是收入的
  • 银行手续费发票税率
  • loaddriver.exe是什么病毒
  • cgtrader模型
  • 企业常见的筹资方式有几种
  • twig教程
  • 固定资产清理的累计折旧怎么算
  • el-input_inner
  • 税务安全证书不成功什么意思
  • 正则表达式大全(整理版)
  • unix时间戳长度
  • 公章是否必须备案
  • 时间序列garch
  • win10下 yolov8 tensorrt模型加速部署【实战】
  • php第三方支付
  • 浅谈建筑地基基础加固施工技术亲
  • 个税申报结果查询
  • 应付职工薪酬多栏式
  • 红字发票抵扣联要装订到凭证里吗
  • 施工图审查费属于什么费用类别
  • 现金股利要交税
  • access中文版
  • 给钱给员工自行交保险
  • 公司缴纳社保会计分录怎么做
  • 商业承兑汇票销售产品会计分录
  • 预付账款的相关认定
  • 企业的支出包括( )支出
  • 事业单位支付的劳务派遣人员工资计入什么科目
  • 手工账的做账流程图
  • 新准则融资租赁承租人的会计处理
  • 债权人接受债务怎么处理
  • mysql数据库中文
  • sql ntext数据类型字符替换实现代码
  • apt-get download
  • linux操作系统版本有哪些
  • xp系统打不开电脑
  • win10 20h2 v2
  • linux根文件系统直接解压到硬盘
  • 升级win10系统后电脑变卡处理方法
  • glrotatef函数
  • Tips(1)glewExperimental
  • cocos2d schedule
  • vuejs环境搭建
  • 你知道python不
  • 批处理技术有哪些
  • 手把手教你把币从交易所提到钱包
  • unity networking
  • 灯具维修发票明细
  • 陕西电子税务电话是多少
  • 常州市三免卡
  • 税务宣传标语2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设