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

  • 名人励志小故事(名人励志小故事及感悟及启示)

    名人励志小故事(名人励志小故事及感悟及启示)

  • 快手极速版关注的人在哪找(快手极速版关注怎么改成排版模式)

    快手极速版关注的人在哪找(快手极速版关注怎么改成排版模式)

  • 扫描全能王保存的文件在哪里(扫描全能王保存到相册失败)

    扫描全能王保存的文件在哪里(扫描全能王保存到相册失败)

  • 荣耀v30第一次充电充多久(荣耀v30第一次充多少电)

    荣耀v30第一次充电充多久(荣耀v30第一次充多少电)

  • 如何让qq真正离线(怎么样才能让qq处于离线状态)

    如何让qq真正离线(怎么样才能让qq处于离线状态)

  • 华为平板能插手机卡吗(华为平板能插手绘板吗)

    华为平板能插手机卡吗(华为平板能插手绘板吗)

  • qq发说说怎么@别人(qq发说说怎么别人空间不显示了)

    qq发说说怎么@别人(qq发说说怎么别人空间不显示了)

  • facetim通话是什么意思(facetime通话有什么作用)

    facetim通话是什么意思(facetime通话有什么作用)

  • 小米路由器3g是千兆吗(小米路由器3G是千兆端口还是百兆端口)

    小米路由器3g是千兆吗(小米路由器3G是千兆端口还是百兆端口)

  • 苹果6手机无服务是什么原因(苹果6手机无服务怎么办)

    苹果6手机无服务是什么原因(苹果6手机无服务怎么办)

  • iphone5是什么芯片(苹果5c什么芯片)

    iphone5是什么芯片(苹果5c什么芯片)

  • window中的桌面指的是(windows10的桌面指)

    window中的桌面指的是(windows10的桌面指)

  • word里的表格怎么删除(word里的表格怎么复制到excel)

    word里的表格怎么删除(word里的表格怎么复制到excel)

  • vivos5怎么打开双击亮屏(vivoy5s怎么打开双4g)

    vivos5怎么打开双击亮屏(vivoy5s怎么打开双4g)

  • iphone7怎么拍夜景(iPhone7怎么拍夜景)

    iphone7怎么拍夜景(iPhone7怎么拍夜景)

  • 荣耀v20图案解锁在哪里(荣耀v20屏幕锁解锁)

    荣耀v20图案解锁在哪里(荣耀v20屏幕锁解锁)

  • 黑鲨没有语音助手吗(黑鲨手机有没有语音控制功能?)

    黑鲨没有语音助手吗(黑鲨手机有没有语音控制功能?)

  • word2003页面设置在哪(word2003页面设置横向纵向)

    word2003页面设置在哪(word2003页面设置横向纵向)

  • 什么是闰年(什么是闰年怎么计算闰年)

    什么是闰年(什么是闰年怎么计算闰年)

  • pcem00是什么手机型号(pcgm00是什么手机)

    pcem00是什么手机型号(pcgm00是什么手机)

  • 微信怎么找回聊天记录(微信怎么找回聊天图片)

    微信怎么找回聊天记录(微信怎么找回聊天图片)

  • 2021.1最新win10激活秘钥/产品秘钥/激活码推荐 附激活工具+教程(window10最新激活码)

    2021.1最新win10激活秘钥/产品秘钥/激活码推荐 附激活工具+教程(window10最新激活码)

  • cnpm安装步骤(cnpm安装成功为什么用不了)

    cnpm安装步骤(cnpm安装成功为什么用不了)

  • photo-sphere-viewer中文文档

    photo-sphere-viewer中文文档

  • 建筑业挂靠企业所得税如何收取
  • 税务局未核定的印花税
  • 未签购销合同需不需要印花税
  • 运输企业印花税按什么缴纳
  • 个体工商户经营范围查询
  • 收到发票付款是抹了零头怎么做账
  • 外币资产汇兑损益计算
  • 销售货物的价外费用有哪些
  • 货样广告品管理办法
  • 非独立核算的公司怎么报税
  • 税友每年还要交年费?
  • 筹建期间的开办费计入什么费用
  • 库存暂估入账
  • 结转出租包装物的成本
  • 进项税额转出会计分录月末如何结转
  • 为什么收到发票
  • 苹果7plus续航
  • windows 11预览版
  • 误解苹果
  • 未知格式或损坏文件怎么办
  • linux下4种kill某个用户所有进程的方法
  • 佛洛勒斯岛在哪里
  • vue设置图片
  • 企业发生的现金折扣应计入什么费用
  • 口腔门诊提供免费服务有哪些?
  • 购买土地缴纳契税
  • 转让固定资产使用权是出租吗
  • 分公司改为子公司的所得税业务处理?
  • opencv项目开发实战
  • spring的aoc和aop
  • php eval绕过
  • 一般纳税人两费附加减免规定
  • 财务报表季报利润表本月金额怎么填
  • 罚款属于其他业务收入吗
  • seata1.3.0配置
  • 企业所得税太高怎么合理规避
  • 汽车4s店售后业绩看板
  • 企业盈余公积的主要用途是
  • sql实现split函数的脚本
  • mysql 5.5 5.6 5.7
  • 个人所得税应纳税额
  • 拿工资要开发票,发票去哪儿开?
  • 已付款但未收到发票怎样记账
  • 出差补助办法
  • 收到注册资本金什么时候交印花税
  • 利息支出应计入什么科目
  • 企业自建厂房需要有资质吗
  • 营业外收入的账户结构
  • 年终奖企业应该计入哪个会计年度
  • 租赁出租人分录
  • 试制流程
  • 应交税费应交增值税已交税金怎么用
  • 年末本年利润怎么转到未分配利润
  • sqlserver如何查看操作日志
  • win8 无线网络连不上
  • vmware8.0.4
  • win7鼠标点了没反应
  • win8系统的电脑
  • 苹果电脑怎么切换系统
  • windows server 2012 nfs共享
  • linux网络设置在哪里
  • windows7网速慢怎么解决
  • caddll丢失
  • unity自动门
  • 原生js添加css样式
  • a*算法的优缺点
  • android studio打包jar文件
  • 判断一个点在三角形内部
  • unity点击播放声音
  • javascript高级程序设计电子书
  • jQuery ajax提交Form表单实例(附demo源码)
  • 简述javascript
  • python2ide
  • 辽宁省电子税务局电话
  • 浙江社保费申报说无有效三方协议信息
  • 建筑施工税务处理
  • 税务局是什么单位类型
  • 泉州市税务局投诉电话
  • 安徽农村户口可以交社保吗
  • 税务筹划怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设