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

  • 网络营销怎样圈粉丝喂内容?(网络怎么营销)

    网络营销怎样圈粉丝喂内容?(网络怎么营销)

  • oppo手机免打扰模式怎么取消(oppo手机免打扰模式别人打电话提示什么)

    oppo手机免打扰模式怎么取消(oppo手机免打扰模式别人打电话提示什么)

  • 华为p40和p40pro有什么区别吗(华为p40和p40pro有什么区别哪个好)

    华为p40和p40pro有什么区别吗(华为p40和p40pro有什么区别哪个好)

  • 如何屏蔽微信群的艾特(如何屏蔽微信群里某个人发的消息)

    如何屏蔽微信群的艾特(如何屏蔽微信群里某个人发的消息)

  • 相机p档是什么意思(相机p档是什么档)

    相机p档是什么意思(相机p档是什么档)

  • 视频怎么命名(视频怎么命名发给别人)

    视频怎么命名(视频怎么命名发给别人)

  • 华为p40拍月亮怎么设置(华为p40月亮怎么拍才好看手机)

    华为p40拍月亮怎么设置(华为p40月亮怎么拍才好看手机)

  • 抖音一号两机有影响吗(抖音一号双机影响权重吗)

    抖音一号两机有影响吗(抖音一号双机影响权重吗)

  • 笔记本带麦克风吗(笔记本带麦克风的耳机)

    笔记本带麦克风吗(笔记本带麦克风的耳机)

  • 网卡的物理地址又称为(网卡的物理地址写入主机的EPROM中)

    网卡的物理地址又称为(网卡的物理地址写入主机的EPROM中)

  • 一个手机怎样登录三个微信号(一个手机怎样登录两个钉钉号)

    一个手机怎样登录三个微信号(一个手机怎样登录两个钉钉号)

  • 11和11pro尺寸(11和11pro尺寸哪个大)

    11和11pro尺寸(11和11pro尺寸哪个大)

  • 机械鼠标旁边的两个按键是干嘛的?(机械鼠标旁边的按钮)

    机械鼠标旁边的两个按键是干嘛的?(机械鼠标旁边的按钮)

  • 苹果xs重启方法(苹果xs重启方法图解)

    苹果xs重启方法(苹果xs重启方法图解)

  • ppt手机什么意思(手机ppt介绍)

    ppt手机什么意思(手机ppt介绍)

  • 苹果如何屏蔽骚扰电话短信(苹果如何屏蔽骚扰短信信息)

    苹果如何屏蔽骚扰电话短信(苹果如何屏蔽骚扰短信信息)

  • 怎么下载淘宝网买东西(怎么下载淘宝网店)

    怎么下载淘宝网买东西(怎么下载淘宝网店)

  • 手机剪映素材丢失怎么办(手机剪映素材丢失怎么恢复)

    手机剪映素材丢失怎么办(手机剪映素材丢失怎么恢复)

  • 交易猫怎么换淘宝账号(交易猫怎么换另一个手机号)

    交易猫怎么换淘宝账号(交易猫怎么换另一个手机号)

  • 鼠标滚轮失灵上下乱窜(鼠标滚轮失灵上下移动)

    鼠标滚轮失灵上下乱窜(鼠标滚轮失灵上下移动)

  • xsmax用双卡网速超慢(iphonexsmax双卡网络很卡)

    xsmax用双卡网速超慢(iphonexsmax双卡网络很卡)

  • 苹果8p有无线充电功能吗(苹果8p无线充电)

    苹果8p有无线充电功能吗(苹果8p无线充电)

  • 餐饮小程序开发怎么做(餐饮小程序开发制作)

    餐饮小程序开发怎么做(餐饮小程序开发制作)

  • 硬盘损坏的类别区分(硬盘损坏类型)

    硬盘损坏的类别区分(硬盘损坏类型)

  • 手机解锁方法:8个顶级的 Android 手机解锁软件(1.2版本的oppo手机解锁方法)

    手机解锁方法:8个顶级的 Android 手机解锁软件(1.2版本的oppo手机解锁方法)

  • 电子税务局能查到个税申报信息吗
  • 偶然所得税起征点800是每月吗
  • 建筑企业有哪些
  • 网上社保增减员操作流程
  • 公司现金支付管理办法
  • 软件出口税收政策
  • 最新的税收政策
  • 印花税没有计提直接付了怎么做账
  • 在租赁的土地上建房产权归谁
  • 购买的风机如何做分录
  • 企业注销时有未抵扣的留抵
  • 利润率的计算举例
  • 公司的班车费用怎么入账
  • 增值税留抵税额账务处理
  • 高新技术企业取消认定
  • 资金拆借利息收入是什么意思
  • 库存商品换货的会计分录
  • 无经营零申报公司注销要交印花税吗
  • vue3如何
  • 月末是指
  • 应交企业所得税和所得税费用区别
  • 年终奖发放与补发的区别
  • wan口ip地址和lan口ip地址不能
  • linux-4.4
  • linux root 命令
  • 产品工人工资会扣税吗
  • 购入固定资产后海通融资怎么办
  • 纳税人逾期申报
  • 公司报销客户的差旅费
  • 应付账款挂账会计分录
  • 收到汽车维修费的会计分录
  • 长期挂账的在建工程如何处理
  • php curd
  • 增值税专用发票有几联?
  • 详解金球奖之争
  • 生产企业出口货物增值税如何申报
  • 有关预收账款的会计科目
  • 合同权益转让 范本
  • 项目筹建期间费用计入什么科目
  • vue面试题及答案2021
  • vue-cli(vue脚手架)超详细教程
  • phpstudy命令行
  • php注册和登录界面
  • 管理费用包括哪些会计科目
  • 增资会计
  • 新增办税员需要哪些资料
  • python中except用法
  • 股东入股资金如何记账
  • 银行支付利率的含义是什么
  • 增值税专用发票怎么开
  • mysql如何分类
  • 赠送给客户的商品是否要计入费用?
  • 影响企业营业利润的有哪些
  • 商业承兑汇票托收什么意思
  • 当月没有凭证还能报税吗
  • 无形资产及其他资产包括哪些科目
  • 房地产企业什么时候停止预缴增值税
  • 没有期初数据,只要借贷平横,报表是不是就不会不平了?
  • sqlserver存储过程在哪里
  • vb.net invoke
  • mysql复杂数据查询方法
  • windows 安装源
  • mac怎么安装字体到ai
  • ims文件是什么意思
  • windows启动很慢很慢
  • centos7 vncserver
  • 在centos上安装pycharm
  • win7如何打开命令窗口
  • win8安装步骤
  • wind10应用商店
  • win10系统edge浏览器打不开解决办法
  • unity udim
  • jquery 下拉框变更事件
  • 内容滑动切换效果怎么弄
  • 税务软件服务商
  • 办理税务迁移的流程
  • 土地闲置是否需要缴纳土地使用税
  • 人防异地建设费标准
  • 广东税务待遇
  • 讲话和讲话精神的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设