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

  • 怎样让关键词排名更加稳定?(关键词排名操作方法)

    怎样让关键词排名更加稳定?(关键词排名操作方法)

  • k40dc调光在哪里设置(k40dc调光稳定版)

    k40dc调光在哪里设置(k40dc调光稳定版)

  • 荣耀9x的息屏可以显示时间吗(荣耀9x手机息屏时间设置)

    荣耀9x的息屏可以显示时间吗(荣耀9x手机息屏时间设置)

  • 微信如何群发消息(微信如何群发消息到各个群里)

    微信如何群发消息(微信如何群发消息到各个群里)

  • 荣耀x10手机是双扬声器吗(荣耀x10手机是双卡双待吗)

    荣耀x10手机是双扬声器吗(荣耀x10手机是双卡双待吗)

  • 华为荣耀9x和20青春版比较(华为荣耀9x和20i哪个好)

    华为荣耀9x和20青春版比较(华为荣耀9x和20i哪个好)

  • 苹果屏幕颜色怎么设置(苹果屏幕颜色怎么调整白)

    苹果屏幕颜色怎么设置(苹果屏幕颜色怎么调整白)

  • 云班课学生要开摄像头吗(云班课哪些学校用)

    云班课学生要开摄像头吗(云班课哪些学校用)

  • 华为畅享10e语音助手怎么唤醒(华为畅享10e语音唤醒)

    华为畅享10e语音助手怎么唤醒(华为畅享10e语音唤醒)

  • 抖音以前关注的人找回(抖音以前关注的取消了如何找到不知道抖音号)

    抖音以前关注的人找回(抖音以前关注的取消了如何找到不知道抖音号)

  • 小米mix2和mix2s区别(小米mix2和小米mix2s哪个好)

    小米mix2和mix2s区别(小米mix2和小米mix2s哪个好)

  • sim卡注册失败是什么意思(sim卡注册不了)

    sim卡注册失败是什么意思(sim卡注册不了)

  • 知乎文字不能复制吗(知乎不能粘贴文字)

    知乎文字不能复制吗(知乎不能粘贴文字)

  • 华为mate30pro和mate30pro5g有什么区别(华为mate30pro和mate50pro哪个好)

    华为mate30pro和mate30pro5g有什么区别(华为mate30pro和mate50pro哪个好)

  • jsp怎么注释(jsp页面怎么注释代码)

    jsp怎么注释(jsp页面怎么注释代码)

  • iphonex和11pro屏幕一样吗(iphonex和11pro屏幕哪个好)

    iphonex和11pro屏幕一样吗(iphonex和11pro屏幕哪个好)

  • 怎么开通呼叫转移功能(怎么开通呼叫转接)

    怎么开通呼叫转移功能(怎么开通呼叫转接)

  • 数据和程序是以什么形式储存在磁盘上的(数据和程序有区别吗?如何确定哪些是数据,哪些是程序?)

    数据和程序是以什么形式储存在磁盘上的(数据和程序有区别吗?如何确定哪些是数据,哪些是程序?)

  • vivo手机是否支持OTG(vivo手机是否支持nfc功能)

    vivo手机是否支持OTG(vivo手机是否支持nfc功能)

  • ipad怎么改qq密码(ipad怎么给qq设密码)

    ipad怎么改qq密码(ipad怎么给qq设密码)

  • 显示未接通是什么情况(未接通原因)

    显示未接通是什么情况(未接通原因)

  • 微信主界面怎么换图片(微信主界面怎么换皮肤)

    微信主界面怎么换图片(微信主界面怎么换皮肤)

  • 微信号一个手机号能注册几个(怎么弄俩微信号一个手机)

    微信号一个手机号能注册几个(怎么弄俩微信号一个手机)

  • 滴滴2次验证ps能过吗(滴滴身份验证失败多次)

    滴滴2次验证ps能过吗(滴滴身份验证失败多次)

  • 住宿业的小规模纳税标准
  • 什么需要填
  • 做电商没有进货码怎么办
  • 完税证明可以重复打印吗
  • 差旅费跨年报销说明
  • 个人对个人大额转账要什么资料
  • 0申报是不是不需要填数据
  • 服装企业销售方式
  • 福利企业发放职工集资利息是不是要交个人所得税
  • 现金日记账划线更正法
  • 母公司收取服务费请示
  • 大型机械进退场费属于机械台班单价组成部分
  • 捐赠和赞助业务的税务处理怎么做?
  • 营改增后哪些费用可以抵扣
  • 将自产的产品用于对外投资
  • 减免的残保金怎么计算
  • 收取员工宿舍租金收入要交增值税吗
  • 存货跌价准备的账务处理
  • 注册资本变更增加意味着什么
  • 保证金算费用吗
  • 预缴的企业所得税可以税前扣除吗
  • 增值税发票时效性
  • 没有成立工会的企业要交工会筹备金吗
  • 小规模纳税人购车好处
  • 注册资本转让股权
  • 债权投资属于其他非流动金融资产嘛
  • 可抵扣亏损递延所得税资产
  • 工程项目管理人员任命书
  • 银行透支算资产吗
  • 如何解决win10系统复制文件速度
  • 外购货物用于建造厂房可以抵扣进项税吗
  • 小规模纳税人免增值税的账务处理
  • 按揭贷款到账时间
  • php odbc
  • 预计负债的所得税怎么算
  • 计提的发展基金如何使用
  • 生产企业的成本有哪些
  • 专项储备怎么理解
  • 职工福利费的税收金额怎么填写
  • 前端布局flex
  • java+php
  • 资产负债表是不是根据记账凭证生成的
  • dedecms更新
  • 应收利息的罚息是复利吗
  • 学电脑哪个网站比较好
  • 企业注销需要清产核资吗
  • 解决PostgreSQL服务启动后占用100% CPU卡死的问题
  • 购销合同印花税税率表
  • 经营性投资范畴
  • 母公司给子公司开票会有税务风险吗
  • 分公司撤销跨区经营
  • 个体定期定额怎么征税
  • 融资租赁固定资产折旧年限
  • 增值税销项税额属于什么科目
  • 单位起诉员工赔偿算劳动争议
  • 公司没有收入怎么办
  • 企业利润的构成内容
  • mysql查询语句菜鸟教程
  • sqlserver怎么删除字段
  • centos如何删除用户组里面的用户
  • 在unix操作系统中,账户的功能有哪些
  • windows7 记事本
  • linux系统叫啥
  • wind10怎么恢复wind7
  • win7系统玩暗黑2怎样全屏
  • win 10系统怎么提高网速
  • win7如何卸载打印机驱动程序
  • pythonmatch函数
  • unity自带的代码编辑器
  • jquery 图片
  • jquery手机插件
  • cmd.parameters.addrange
  • linux中wget命令出现错误
  • js对象类型的语法规则
  • android多点触控
  • python设计作品
  • jquery页面布局
  • 江苏省国家税务局总局官网
  • 医疗发票真伪查询
  • 新疆哪个城市最有发展前景
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设