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

  • procreate怎么打字(procreate怎么打字上去调整大小)

    procreate怎么打字(procreate怎么打字上去调整大小)

  • 怎么把网易云的音乐导入剪映里(怎么把网易云的音乐下载到本地)

    怎么把网易云的音乐导入剪映里(怎么把网易云的音乐下载到本地)

  • mate30pro微信视频带美颜功能吗

    mate30pro微信视频带美颜功能吗

  • amd x4 730相当于i几(amd x4 730k相当于i几)

    amd x4 730相当于i几(amd x4 730k相当于i几)

  • 超级qq为什么没有了(超级qq在哪里)

    超级qq为什么没有了(超级qq在哪里)

  • cpu二手的和新的区别大吗(全新cpu和二手cpu)

    cpu二手的和新的区别大吗(全新cpu和二手cpu)

  • 单元格底纹颜色怎么设置(单元格底纹颜色怎么设置25%)

    单元格底纹颜色怎么设置(单元格底纹颜色怎么设置25%)

  • pcie兼容pci吗(pcie兼容pci吗 声卡)

    pcie兼容pci吗(pcie兼容pci吗 声卡)

  • ie8的兼容性视图设置在哪(ie8兼容性视图(v)是灰色)

    ie8的兼容性视图设置在哪(ie8兼容性视图(v)是灰色)

  • 微信朋友圈能发live图吗(微信朋友圈能发多长的视频)

    微信朋友圈能发live图吗(微信朋友圈能发多长的视频)

  • 机顶盒怎么连接电脑(机顶盒怎么连接路由器)

    机顶盒怎么连接电脑(机顶盒怎么连接路由器)

  • 为你诵读怎么上传微信(为你诵读怎么上传照片)

    为你诵读怎么上传微信(为你诵读怎么上传照片)

  • 华为手机全民k歌耳机返听怎么设置(华为手机全民k歌为什么唱歌录音声音很小)

    华为手机全民k歌耳机返听怎么设置(华为手机全民k歌为什么唱歌录音声音很小)

  • 怎样把vivo软件移到内存卡(vivo软件分身怎么弄)

    怎样把vivo软件移到内存卡(vivo软件分身怎么弄)

  • realme 耗电快怎么办(realme手机费电快)

    realme 耗电快怎么办(realme手机费电快)

  • vivo红外功能怎么打开(vivo红外功能怎么弄)

    vivo红外功能怎么打开(vivo红外功能怎么弄)

  • oppok1如何强制关机(oppok1手机怎么强制关机)

    oppok1如何强制关机(oppok1手机怎么强制关机)

  • 苹果xs和苹果11的区别(苹果xs和苹果11哪个像素好)

    苹果xs和苹果11的区别(苹果xs和苹果11哪个像素好)

  • 剪映音乐和文字怎么对应(剪映音乐文字怎么自动提取)

    剪映音乐和文字怎么对应(剪映音乐文字怎么自动提取)

  • nova5pro有没有红外(nova5pro有红色吗)

    nova5pro有没有红外(nova5pro有红色吗)

  • mate20是多少w充电(华为mate20充电功率多少w)

    mate20是多少w充电(华为mate20充电功率多少w)

  • 电脑视频聊天没声音如何弄(电脑视频聊天没有画面只有声音怎么回事)

    电脑视频聊天没声音如何弄(电脑视频聊天没有画面只有声音怎么回事)

  • 小爱能控制什么(小爱同学可以控制智能家居吗)

    小爱能控制什么(小爱同学可以控制智能家居吗)

  • amapauto什么意思(amapof是什么意思)

    amapauto什么意思(amapof是什么意思)

  • Vue的路由配置(Vue2和Vue3的路由配置)(vue路由的几种方式)

    Vue的路由配置(Vue2和Vue3的路由配置)(vue路由的几种方式)

  • 高新技术企业加计抵减
  • 印花税的申报依据是什么
  • 服务费可以计入办公费吗
  • 现金流量为负的隐患
  • 总公司设立分公司的决定
  • 广告公司可以开劳务费吗
  • 工资发放凭证由谁出具
  • 分公司注销后账户不注销可以吗
  • 辞退职工赔偿金如何计算
  • 钻井勘探支出已费用化的探井
  • 销售边角料计入什么科目
  • 增值税发票过期了税金怎么办
  • 因质量问题怎么赔偿
  • 收到供应商发票的会计处理怎么做?
  • 小规模纳税人月超15万季度不超45万
  • 私对公转账需要开发票吗
  • 季度营业额超过6万需要补税
  • 设定提存计划怎么填
  • 开票超过离线时长怎么解决
  • 年度中期是几月份
  • 收到股东交的多余的股金怎么做账务处理
  • 实际销售金额是含税还是不含税
  • 职工福利费要申报吗
  • 应收出口退税属于哪个会计科目
  • 小规模企业税务简易注销
  • 利润表里的其他业务利润怎么形成的
  • linux命令执行成功后会返回什么
  • 公司罚款怎么写
  • 员工报销差旅费并归还借款会计分录
  • 推迟月经小窍门有民间土方法吗?
  • 预缴税款是否计入成本
  • 专柜公司货什么意思
  • 公司购买货物
  • 特殊性税务处理弥补亏损限额
  • wordpress site
  • 现金支票应记入什么账户
  • css元素居中的几种方法
  • 前端面试常问的项目问题
  • 银行同业存放业务管理办法
  • python htmltestrunner报告
  • java泛型简单例子
  • 农村合作社不报税会导致经营异常吗
  • phpcms 用的是什么模板引擎
  • 哪些企业不能核算成本
  • 补贴收入税收政策
  • 代缴社保费怎么做分录
  • 对公账户收到钱都要开票吗
  • 什么公司可以核定企业所得税
  • 购买员工团体意外险需要缴纳个税么
  • 短期借款利息的使用账户是
  • 风险纳税人去税务局去报税可以吗
  • 防伪税控开票系统SOAP服务端
  • 给员工发工资发多少合适?
  • 4s店出售试驾车的增值税是多少
  • 出纳提取现金有金额限制吗
  • 坏账准备对资产负债表影响
  • 有进项无销项如何申报
  • 投出业务会计分录
  • mysql5.5.27安装教程与配置
  • sqlserver数据库中的null值空值表示的是空格或零值
  • sql多表连接查询
  • 众微科技怎么样
  • freebsd怎么安装软件
  • 主板不支持u盘装系统怎么办
  • Ubuntu下VirtualBox的vdi文件克隆方法
  • centos关闭kdump
  • gnaupdaemon.exe是什么
  • 电脑死机是啥原因
  • win7中文显示问号
  • windows7无法继续安装
  • win8如何禁止电脑自动安装软件
  • js正则用法
  • 简述android应用的常用开发模式及其优缺点
  • python控制台怎么用
  • Unity3D WebCamTexture 调用外部摄像头
  • c#委托的理解
  • jquery使用教程
  • 医保电子缴费凭证怎么查询
  • 计算消费税为什么要除1-比例税率
  • 在税盘上怎么申请电子发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设