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

  • 和家亲摄像头夜晚灯关闭教程(和家亲摄像头夜视功能消失)

    和家亲摄像头夜晚灯关闭教程(和家亲摄像头夜视功能消失)

  • 115怎么用磁力下载(115磁力怎么添加)

    115怎么用磁力下载(115磁力怎么添加)

  • iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

    iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

  • 苹果手机黑暗模式怎么设置(苹果手机黑暗模式咋么设置增大色差)

    苹果手机黑暗模式怎么设置(苹果手机黑暗模式咋么设置增大色差)

  • rx580相当于gtx什么卡

    rx580相当于gtx什么卡

  • 带命令提示符的安全模式怎么输入指令(带命令提示符的安全模式什么意思)

    带命令提示符的安全模式怎么输入指令(带命令提示符的安全模式什么意思)

  • 抖音注销需要多久(抖音注销需要多长时间为什么还能搜索到抖音号)

    抖音注销需要多久(抖音注销需要多长时间为什么还能搜索到抖音号)

  • WPS中Word文字底纹怎么去掉(wps office文字底纹)

    WPS中Word文字底纹怎么去掉(wps office文字底纹)

  • 手机版wps怎么合并(手机版wps怎么合并单元格)

    手机版wps怎么合并(手机版wps怎么合并单元格)

  • 微信里的视频号是什么意思(微信里的视频号在哪里打开)

    微信里的视频号是什么意思(微信里的视频号在哪里打开)

  • ipad可以插安卓耳机嘛(ipad可以插安卓手机卡吗)

    ipad可以插安卓耳机嘛(ipad可以插安卓手机卡吗)

  • 华为手机收藏夹在哪里(华为手机收藏夹路径)

    华为手机收藏夹在哪里(华为手机收藏夹路径)

  • 乐视手机卡顿反应慢怎么办(乐视手机卡顿反应慢)

    乐视手机卡顿反应慢怎么办(乐视手机卡顿反应慢)

  • 天猫魔盒如何卸载软件(天猫魔盒如何卸载系统软件)

    天猫魔盒如何卸载软件(天猫魔盒如何卸载系统软件)

  • 小米cc9pro支持多少倍变焦(小米cc9pro支持多少hz)

    小米cc9pro支持多少倍变焦(小米cc9pro支持多少hz)

  • 淘宝预售在哪里看(淘宝预售在哪里搞)

    淘宝预售在哪里看(淘宝预售在哪里搞)

  • 荣耀20一键清理在哪里(荣耀20一键清理可以自定义吗)

    荣耀20一键清理在哪里(荣耀20一键清理可以自定义吗)

  • 荣耀9x的语音助手在哪里(荣耀9x的语音助手怎么改名字)

    荣耀9x的语音助手在哪里(荣耀9x的语音助手怎么改名字)

  • 实现虚拟存储器的目的是( )(实现虚拟存储器最关键的技术是)

    实现虚拟存储器的目的是( )(实现虚拟存储器最关键的技术是)

  • 移动全网通什么意思(移动全网通手机)

    移动全网通什么意思(移动全网通手机)

  • 不知道解压密码怎么解压(不知道解压密码怎么办)

    不知道解压密码怎么解压(不知道解压密码怎么办)

  • 小米无线耳机iphone能用么(小米无线耳机一个响一个不响)

    小米无线耳机iphone能用么(小米无线耳机一个响一个不响)

  • MySQL面试题-锁相关(数据库锁面试题)

    MySQL面试题-锁相关(数据库锁面试题)

  • ajax - 初步介绍(ajax 教程)

    ajax - 初步介绍(ajax 教程)

  • 业务招待费和广告费扣除标准
  • 平台收取的佣金开具什么发票
  • 没有社保的临时工值得干吗
  • 房产报废手续
  • 增值税需要计入入账价值吗
  • 公司变更地址要股东签字吗
  • 建筑劳务公司业务范围是什么
  • 捐赠的固定资产账务处理
  • 个税全年一次性奖金单独计税
  • 公司未开展业务就没有债权债务吗
  • 客户能把货款打给个人吗
  • 收到的货款与发票数不符,怎么做账
  • 营改增之后就没有营业税了吗
  • 建筑业增值税普通发票可以抵扣吗
  • 不计提盈余公积可以分红吗
  • 购进非税货物有折扣怎么做账?
  • 预估成本怎么冲回
  • 必要收益率的计算题目
  • 固定资产提前报废账务处理
  • 以股权增资的税费怎么算
  • 车间管理人员工资记什么费用
  • 华为正式发布鸿蒙官网
  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法
  • 贷款资金取现就无法追查了吗
  • 留存收益净利润之间关系
  • linux获取网络设备的交换机网络
  • windows11怎么删除临时文件
  • 结转完工产品成本计算公式
  • php控制器是用来做什么的
  • 会计开税票的表格范本
  • 所得税费用科目的贷方登记
  • mysql函数nvl
  • 资产负债率 70%
  • 税控盘没有报税处理这个选项
  • 所得税季度申报表怎么填
  • wordpress提示插件
  • c语言中的typedef struct
  • DEDECMSV5.6将软件下载次数直接生成静态
  • 子公司能吸收合并吗
  • 公司吸收合并流程详细步骤
  • 网购会计如何确认成本
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • 股票手续费如何计算公式
  • 经营性存款人罚款
  • 水利建设基金现在入费用还是入应交税费了
  • 开具发票要注意的方面是有哪些?
  • 定期定额个体工商户怎么报税
  • 普通的收据可以入账吗
  • 债务转化为资本是啥意思?
  • 租房免租是什么意思
  • 工业企业出售产品应交的消费税额,应计入营业成本
  • 免抵退的定义
  • 企业什么时候才需要交税
  • 红冲发票需要收回原发票吗 税屋
  • 有存货的公司
  • win8的应用商店
  • vsftpd 550错误
  • 全自怎么安装方法
  • sistray.exe - sistray是什么进程 有什么用
  • linux防火墙的主要内容
  • 升级win10后东西还在吗
  • 在linux系统中,用来存放系统所需要的
  • linux block io
  • cocos lua js
  • Android游戏开发案例教程小小弹球
  • android常用命令
  • 批处理/a
  • python中类怎么用
  • 简述jquery的优势
  • 一个挖掘机主播得多少钱
  • android电话簿
  • python设颜色代码
  • Android android.support.v4.widget.SlidingPaneLayout 侧滑示例
  • 国税公告2016年14解读
  • 济阳二七大集
  • 发票怎样读入金税开票系统
  • 税务稽查人员占税务人员比例
  • 租赁费的税率是多少
  • 增值税发票勾选是什么意思
  • 计算当期免抵退税额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设