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

  • 雷鸟ff1手机建议买吗(ffalcon雷鸟手机)

    雷鸟ff1手机建议买吗(ffalcon雷鸟手机)

  • 发帖推广需要注意的重要细节(帖子发布推广)

    发帖推广需要注意的重要细节(帖子发布推广)

  • sony psp3000开不了机(sony psp3000)(索尼psp2000开机)

    sony psp3000开不了机(sony psp3000)(索尼psp2000开机)

  • vivox50微信视频带美颜功能吗(vivox50微信视频没有声音)

    vivox50微信视频带美颜功能吗(vivox50微信视频没有声音)

  • 怎么举报微信(怎么举报微信好友,才能不被对方举报)

    怎么举报微信(怎么举报微信好友,才能不被对方举报)

  • 手机一般怎样截屏(手机咋个截屏)

    手机一般怎样截屏(手机咋个截屏)

  • 华为畅享7怎么恢复出厂设置(华为畅享7怎么样)

    华为畅享7怎么恢复出厂设置(华为畅享7怎么样)

  • mate30pro防抖怎么开(华为mate30pro防抖设置)

    mate30pro防抖怎么开(华为mate30pro防抖设置)

  • 拉黑以后聊天记录还在吗(拉黑以后聊天记录还能恢复吗)

    拉黑以后聊天记录还在吗(拉黑以后聊天记录还能恢复吗)

  • 保留与word早期版本的兼容性是什么意思(保留与word早期版本的兼容性要勾选吗)

    保留与word早期版本的兼容性是什么意思(保留与word早期版本的兼容性要勾选吗)

  • Word页眉怎么设置横线(word页眉怎么设置页码连续)

    Word页眉怎么设置横线(word页眉怎么设置页码连续)

  • 手机qq怎么批量删除好友(手机qq怎么批量转发聊天记录)

    手机qq怎么批量删除好友(手机qq怎么批量转发聊天记录)

  • oppo浏览器记录怎么恢复(OPPO浏览器记录在什么文件)

    oppo浏览器记录怎么恢复(OPPO浏览器记录在什么文件)

  • windows操作系统的主要功能是什么

    windows操作系统的主要功能是什么

  • 苹果库乐队怎么退出(苹果库乐队怎么弄铃声)

    苹果库乐队怎么退出(苹果库乐队怎么弄铃声)

  • 手机爱奇艺如何下载电视剧(手机爱奇艺如何登录到电视上)

    手机爱奇艺如何下载电视剧(手机爱奇艺如何登录到电视上)

  • word参考文献怎么引用(word参考文献怎么标注右上角)

    word参考文献怎么引用(word参考文献怎么标注右上角)

  • 淘宝上的销量是月销量吗(淘宝上的销量是月销量还是总销量)

    淘宝上的销量是月销量吗(淘宝上的销量是月销量还是总销量)

  • oppoa57怎么弄时间(oppo手机怎么设时间)

    oppoa57怎么弄时间(oppo手机怎么设时间)

  • 如何删除今日快报(手机桌面的今日快讯怎么删除)

    如何删除今日快报(手机桌面的今日快讯怎么删除)

  • 华为p30录音在哪里(华为p30录音在哪里关闭)

    华为p30录音在哪里(华为p30录音在哪里关闭)

  • 使用vimdiff代替svn diff的查看代码工具(vim diff对比)

    使用vimdiff代替svn diff的查看代码工具(vim diff对比)

  • HTML实现简单的贪吃蛇小游戏(附完整源码)(html怎么做)

    HTML实现简单的贪吃蛇小游戏(附完整源码)(html怎么做)

  • 购买的携税宝费用怎么做账?
  • 化妆品销售公司简介
  • 个人出售二手房要交增值税吗
  • 新注册公司没有员工怎么报个税
  • 销售不动产营业税纳税义务发生时间
  • 报关单保费000/0.1/1
  • 利息税减少
  • 个体工商户免征税额度是多少
  • 固定资产转固后发现少转费用了怎么办
  • 企业的财务报表
  • 交了定金签了合同
  • 下列应税项目中,不按次计算征收个人所得税的是
  • 政府补贴项目申报流程
  • 公司注册成功以后会有什么费用
  • 营业收入不开发票
  • 生产企业办理出口退税时要提供发票吗
  • 出纳收到汇票如何登记
  • 融资租赁直租会查征信吗
  • 存货跌价准备的金额
  • 如何在excel中添加多行空白
  • 本期已缴税额不能大于本期应纳税额
  • 非货币性资产是无形资产吗
  • 刚成立的公司有什么风险
  • msconfig配置文件修改
  • php的强大功能函数库中都含有哪些常用函数?
  • 代理公司变更地址多少钱
  • 公司试乘试驾车卖掉在增值税哪个模块里开具
  • 固定资产成本中的相关税费
  • php枚举类
  • php判断ip是否属于某个区段
  • php播放本地音乐
  • PHP:proc_get_status()的用法_命令行函数
  • PHP:mcrypt_enc_get_modes_name()的用法_Mcrypt函数
  • 企业的存货采用计划成本核算,某年年末,结
  • 企业年金税前扣除比例
  • 购买农产品没有发票入帐怎么办
  • php autoload用法
  • 理财收益如何计税
  • php获取指定数量的数据
  • python查看type
  • 财务费用的增加记在哪一方
  • dedecms安装步骤
  • 互联网+文本格式
  • python操作yaml文件
  • 2000元以内最强二手游戏笔记本
  • 已付款收到发票
  • Win7 32/64位系统下安装SQL2005和SP3补丁安装教程[图文]
  • 国际货运代理需要什么样的人才
  • linux安装ms
  • 外贸企业增值税申报
  • 企业对外借款计入什么科目
  • 公司法人的车辆给公司用可以报销费用吗
  • 职工薪酬纳税调整
  • 发票融资贷款怎么做账
  • 长期股权投资会计实训心得
  • 衍生工具属于什么科目
  • 资产负债表中应交税费为负数是什么意思
  • 其他应收款平行记账科目
  • 一件产品在不同场合的价格
  • 托收承付的承付是指
  • 介绍一种新产品
  • 偷天换日角色介绍
  • 电脑windowsxp无法启动怎么办
  • 修改linuxip
  • 安全组件异常,请重新下载并安装
  • w8系统怎么连接投影仪
  • win10输入法设置快捷键
  • win8系统启动不了如何修复
  • unitysharder
  • nodejs怎么在服务器运行
  • js中的表达式是什么
  • javascript函数中的参数,也可以称之为下面哪项内容?
  • jquery拖拽流程布局
  • python lambda的用法
  • 基于javascript的毕业设计
  • css怎么设置
  • 山东省地方税务局印花税核定征收管理办法
  • 工会春游费用怎么报销
  • 广东地税局领导班子
  • 每月个人所得税扣除标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设