From 0938aa7fea725af5fae268e5443ef73aeb1473aa Mon Sep 17 00:00:00 2001 From: nisen Date: Thu, 2 Nov 2023 18:32:23 +0800 Subject: [PATCH 01/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9ifrma=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E7=9A=84=E7=B1=BB=E5=9E=8B=E4=B8=8D=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 3440d781..ca21aa51 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -471,6 +471,8 @@ if (!this.contentData.id) { return; } + // 跳转链接的时候不计时了 + if(resType == 50) return let postData={ "key": "StudyCourseOther",//课程学习的key "title": "非音视频课内容",//事件的标题 From c34546ae3fb0f58a13e660e7285c0afe4c9276a3 Mon Sep 17 00:00:00 2001 From: nisen Date: Fri, 3 Nov 2023 14:56:19 +0800 Subject: [PATCH 02/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E7=9A=84=E6=8B=96=E6=8B=BD=E8=AE=A1=E6=97=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 18 +++++++++++++++++- src/views/study/coursenew.vue | 28 +++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 1d553334..7d8681eb 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -292,6 +292,8 @@ export default { fullTimeFormat: "00:00:00", // 视频总长度的文字 barrageTimelineStart: 0, // 弹幕时间轴的起始时间点(手动调整进度条触发更新) isInit:false, // 是否初始化过 + videoTime:0, + oldVideoTime:0, }; }, created() { @@ -376,6 +378,9 @@ export default { this.videoDom.pause(); this.isPlaying = false; this.$emit('onPlayerPause', {})//暂停(暂停时调用) + // 清楚记录的时间 + this.videoTime = 0 + this.oldVideoTime = 0 } this.isShowCover = false; }, @@ -551,12 +556,23 @@ export default { }, currentProgress: function () { // 进度条到终点时修改播放状态 - //console.log('播放中', this.videoDom.currentTime) this.$emit('onPlayerPlaying', this.videoDom.currentTime,this.videoDom.duration) if (this.currentProgress === 1) { this.isPlaying = false; this.$emit('onPlayerEnded', {}) } + // 拉伸进度条计时长 + if(this.isPlaying){ + this.videoTime = this.videoDom.currentTime + let sendTime = this.videoTime -this.oldVideoTime + // console.log('sendTime', sendTime) + // 超过两秒就算是拉进度了 + if(sendTime > 2 && this.oldVideoTime !== 0){ + console.log('开始计时发送sendTime',sendTime); + this.$emit('onPlayerSendTime', sendTime) + } + this.oldVideoTime = this.videoDom.currentTime + } }, // notePlay: function(val) { // if(val) { diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index ca21aa51..ee2c1293 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -30,7 +30,7 @@ + @onPlayerEnded="onPlayerEnded" :isCrowd="isCrowd" @onPlayerSendTime="onPlayerSendTime">
@@ -449,6 +449,28 @@ this.stopStudyTime(); }, methods: { + onPlayerSendTime(sendTime){ + console.log(sendTime,'发送的时间'); + let postData={ + "key": "StudyCourseOther",//课程学习的key + "title": "非音视频课内容",//事件的标题 + "parameters":"second:" + Math.floor(sendTime),//second:value 本次的学习时长 + "content": "学习课程",//事件的内容 + "objId": this.courseInfo.id,//课程的id + "objType": "1",//类型 + "source":"page", + "objInfo": ""+this.courseInfo.name, + "aid":this.userInfo.aid, //当前登录人的id + "aname":this.userInfo.name,//当前人的姓名 + "status": 1 //状态 + } + //静默处理 + apiStat.sendEvent(postData).then(rs=>{ + if(rs.status != 200) { + console.log(rs.message); + } + }); + }, toUserHome(tea){ this.$router.push({path:this.$xpage.getHomePath(tea.teacherId)}) }, @@ -471,8 +493,8 @@ if (!this.contentData.id) { return; } - // 跳转链接的时候不计时了 - if(resType == 50) return + // 跳转scorm链接的时候不计时了 + if(this.resType == 50) return let postData={ "key": "StudyCourseOther",//课程学习的key "title": "非音视频课内容",//事件的标题 From c67e5b3ee023dc34593303435c5551d299e894c3 Mon Sep 17 00:00:00 2001 From: nisen Date: Fri, 3 Nov 2023 15:32:05 +0800 Subject: [PATCH 03/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8B=96=E6=8B=BD?= =?UTF-8?q?=E8=A7=86=E9=A2=91send=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index ee2c1293..34115f97 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -452,10 +452,10 @@ onPlayerSendTime(sendTime){ console.log(sendTime,'发送的时间'); let postData={ - "key": "StudyCourseOther",//课程学习的key - "title": "非音视频课内容",//事件的标题 + "key": "StudyCourse",//课程学习的key + "title": "学习课程",//事件的标题 "parameters":"second:" + Math.floor(sendTime),//second:value 本次的学习时长 - "content": "学习课程",//事件的内容 + "content": "学习课程【"+this.courseInfo.name+"】",//事件的内容 "objId": this.courseInfo.id,//课程的id "objType": "1",//类型 "source":"page", From 2feedfe7d771c1c3a0ddd2d3bd20fcf66630b326 Mon Sep 17 00:00:00 2001 From: zhangsir Date: Fri, 3 Nov 2023 16:17:32 +0800 Subject: [PATCH 04/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BC=A0=E9=80=92?= =?UTF-8?q?=E7=94=A8=E6=88=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/course/Index.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index 39b0f4c0..bf8a9c1b 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -643,6 +643,7 @@ export default { pageIndex: 1, // 第几页 pageSize: 9,//每页多少条 openCourse: 0,//增加的公开课查询 + userId:'' }, sceneList: [], //场景 keyword: "",//查询的关键字 @@ -1375,6 +1376,7 @@ export default { let isTopList = []; // 隐藏loadMore this.moreState = 2; + this.course.userId = this.userInfo.aid await apiCoursePortal.courseSearch(this.course).then(res => { this.searching = false; if (res.status == 200) { From a6d2a6c898943679bb804f3c43d29959e2356a0c Mon Sep 17 00:00:00 2001 From: nisen Date: Tue, 7 Nov 2023 15:17:31 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E6=9D=A1=E7=9A=84=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 17 ----------------- src/views/study/coursenew.vue | 24 +----------------------- 2 files changed, 1 insertion(+), 40 deletions(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 7d8681eb..55f7f6c9 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -292,8 +292,6 @@ export default { fullTimeFormat: "00:00:00", // 视频总长度的文字 barrageTimelineStart: 0, // 弹幕时间轴的起始时间点(手动调整进度条触发更新) isInit:false, // 是否初始化过 - videoTime:0, - oldVideoTime:0, }; }, created() { @@ -378,9 +376,6 @@ export default { this.videoDom.pause(); this.isPlaying = false; this.$emit('onPlayerPause', {})//暂停(暂停时调用) - // 清楚记录的时间 - this.videoTime = 0 - this.oldVideoTime = 0 } this.isShowCover = false; }, @@ -561,18 +556,6 @@ export default { this.isPlaying = false; this.$emit('onPlayerEnded', {}) } - // 拉伸进度条计时长 - if(this.isPlaying){ - this.videoTime = this.videoDom.currentTime - let sendTime = this.videoTime -this.oldVideoTime - // console.log('sendTime', sendTime) - // 超过两秒就算是拉进度了 - if(sendTime > 2 && this.oldVideoTime !== 0){ - console.log('开始计时发送sendTime',sendTime); - this.$emit('onPlayerSendTime', sendTime) - } - this.oldVideoTime = this.videoDom.currentTime - } }, // notePlay: function(val) { // if(val) { diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 34115f97..020b5dce 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -30,7 +30,7 @@ + @onPlayerEnded="onPlayerEnded" :isCrowd="isCrowd">
@@ -449,28 +449,6 @@ this.stopStudyTime(); }, methods: { - onPlayerSendTime(sendTime){ - console.log(sendTime,'发送的时间'); - let postData={ - "key": "StudyCourse",//课程学习的key - "title": "学习课程",//事件的标题 - "parameters":"second:" + Math.floor(sendTime),//second:value 本次的学习时长 - "content": "学习课程【"+this.courseInfo.name+"】",//事件的内容 - "objId": this.courseInfo.id,//课程的id - "objType": "1",//类型 - "source":"page", - "objInfo": ""+this.courseInfo.name, - "aid":this.userInfo.aid, //当前登录人的id - "aname":this.userInfo.name,//当前人的姓名 - "status": 1 //状态 - } - //静默处理 - apiStat.sendEvent(postData).then(rs=>{ - if(rs.status != 200) { - console.log(rs.message); - } - }); - }, toUserHome(tea){ this.$router.push({path:this.$xpage.getHomePath(tea.teacherId)}) }, From b560ba9bea88c9d44de64b8166da3e4f2fc71798 Mon Sep 17 00:00:00 2001 From: nisen Date: Tue, 7 Nov 2023 18:04:54 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E9=9D=9E=E8=A7=86=E9=A2=91=E6=83=85?= =?UTF-8?q?=E5=86=B5=E8=AE=BE=E7=BD=AE=E6=88=90=E4=B8=89=E5=8D=81=E5=88=86?= =?UTF-8?q?=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 020b5dce..f263b55c 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -394,6 +394,9 @@ localTimeKey:'boeu-study-time' ,//本地存储的学习时长的key json格式 localTimeValue:0,//计算的时间 appendStudyOtherHandle:null, + cumulativeDuration:0, //非音频累计时长 + maxDuration:0, //非音频最大时长 + defaultMaxTime:1800 //非音频默认最大时间 } }, mounted() { @@ -493,11 +496,18 @@ } }); //每一分钟保存一次 - // 取消阅读的每分钟六十秒的计时 - // let $this=this; - // this.appendStudyOtherHandle = setTimeout(function() { - // $this.appendStudyOtherTime(); - // }, 1000*60); + // 取消阅读的每分钟六十秒的计时,最多是设置的时间或默认时间 + let $this=this; + this.appendStudyOtherHandle = setTimeout(function() { + $this.cumulativeDuration += 60; + if($this.cumulativeDuration <= $this.maxDuration){ + $this.appendStudyOtherTime(); + }else{ + clearTimeout(this.appendStudyOtherHandle); + $this.cumulativeDuration = 0; + $this.maxDuration = 0; + } + }, 1000*60); }, //笔记组件触发,播放指定时间 @@ -670,6 +680,11 @@ this.isAppendTime = false; this.appendStudyOtherHandle = setTimeout(function() { + // 开始之前把响应式清空 + this.maxDuration = 0; + this.cumulativeDuration = 0; + // 没有设置默认时长 + this.maxDuration = r.duration !== 0 ? r.duration : this.defaultMaxTime; $this.appendStudyOtherTime(); }, 1000*60*2); //非音视频课程学习,2分钟后记录,因为一次记录是60秒 //this.appendStudyTime(); From 97ac0e958fb9677900cb0665cc15facaa7d3a2b8 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 09:45:36 +0800 Subject: [PATCH 07/21] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=92=8C=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E8=AE=B0=E5=BD=95=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 57 ++++++++++++++++++----------- src/views/portal/case/Detail.vue | 12 +++++- 2 files changed, 46 insertions(+), 23 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index c96cd69d..e1534eb7 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -158,7 +158,9 @@ export default { diagSync:false,//控制弹窗 isPraise:false, isFavorite: false, - setTime: null + setTime: null, + defaultMaxTime: 180,//最大时长 + cumulativeDuration:0,//累计时长 }; }, created(){ @@ -252,27 +254,8 @@ export default { this.articleDetailData=res.result; //if(this.articleDetailData.toString()!='{}'){ this.getAuthorInfo(this.articleDetailData) - let event = { - key: "ViewArticle",//后台的事件key 发布文章且审核通过 - title: "查看文章",//事件的标题 - parameters:"",//用户自定义参数 name:value,name:value - content: "查看了文章",//事件的内容 - source:'page', - objId: this.articleId,//关联的id - objType: "2",//关联的类型 - objInfo: this.articleDetailData.title, - aid: this.userInfo.aid, //当前登录人的id - aname: this.userInfo.name,//当前人的姓名 - status: 1 //状态,直接写1 - } - this.$store.dispatch("userTrigger", event); - this.setTime = setTimeout(()=>{ - event.key = 'ReadArticle'; - event.title = "阅读文章"; - event.parameters='second:60';//增加60秒的学习时长 - event.content = "阅读了文章" - $this.$store.dispatch("userTrigger", event); - },61000);//1分钟后记录 + //记录时长 + this.sendEventData() //} }else{ this.noData = false; @@ -282,6 +265,36 @@ export default { this.$message.error("获取数据失败") }) }, + sendEventData(){ + let event = { + key: "ViewArticle",//后台的事件key 发布文章且审核通过 + title: "查看文章",//事件的标题 + parameters:"",//用户自定义参数 name:value,name:value + content: "查看了文章",//事件的内容 + source:'page', + objId: this.articleId,//关联的id + objType: "2",//关联的类型 + objInfo: this.articleDetailData.title, + aid: this.userInfo.aid, //当前登录人的id + aname: this.userInfo.name,//当前人的姓名 + status: 1 //状态,直接写1 + } + this.$store.dispatch("userTrigger", event); + this.setTime = setTimeout(()=>{ + event.key = 'ReadArticle'; + event.title = "阅读文章"; + event.parameters='second:60';//增加60秒的学习时长 + event.content = "阅读了文章" + $this.$store.dispatch("userTrigger", event); + if(this.cumulativeDuration<=this.defaultMaxTime){ + sendEventData() + }else{ + this.cumulativeDuration = 0 + clearInterval(this.setTime); + this.setTime = null + } + },61000);//1分钟后记录 + }, //获取文章发布人的人物信息 getAuthorInfo(data){ let ids=[data.sysCreateAid] diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 1699fa70..43775550 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -223,7 +223,9 @@ export default { Profess: [], orgData: [], setTimeCase: null, - dataTime: sessionStorage.getItem('startTime') || 0 + dataTime: sessionStorage.getItem('startTime') || 0, + defaultMaxTime: 180,//最大时长 + cumulativeDuration:0,//累计时长 }; }, mounted() { @@ -545,6 +547,14 @@ export default { event.parameters = "second:60"; event.content = '阅读了案例'; $this.$store.dispatch("userTrigger", event); + this.cumulativeDuration += 60 + if(this.cumulativeDuration<=this.defaultMaxTime){ + sendEventData() + }else{ + this.cumulativeDuration = 0 + clearInterval(this.setTimeCase); + this.setTimeCase = null + } }, 61000);//1分钟之后发送阅读案例事件 }, getCaseData() { From cd0c243c1e2076d9af37562df5d78244a1073193 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 09:51:21 +0800 Subject: [PATCH 08/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 3 ++- src/views/portal/case/Detail.vue | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index e1534eb7..7ab3aecb 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -181,6 +181,7 @@ export default { beforeDestroy(){ window.removeEventListener("scroll",this.handleScroll); clearInterval(this.setTime); + this.cumulativeDuration = 0; }, methods: { banJump() { @@ -287,7 +288,7 @@ export default { event.content = "阅读了文章" $this.$store.dispatch("userTrigger", event); if(this.cumulativeDuration<=this.defaultMaxTime){ - sendEventData() + this.sendEventData() }else{ this.cumulativeDuration = 0 clearInterval(this.setTime); diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 43775550..860d9f9c 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -266,6 +266,7 @@ export default { sessionStorage.removeItem('startTime') window.removeEventListener("scroll", this.handleScroll); clearInterval(this.setTimeCase); + this.cumulativeDuration = 0; }, methods: { endTimeRequst(caseId, recordEndTime) { @@ -549,7 +550,7 @@ export default { $this.$store.dispatch("userTrigger", event); this.cumulativeDuration += 60 if(this.cumulativeDuration<=this.defaultMaxTime){ - sendEventData() + this.sendEventData() }else{ this.cumulativeDuration = 0 clearInterval(this.setTimeCase); From 56c4d3f9a95f3dcc122b207933b54692324d8a29 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 10:06:38 +0800 Subject: [PATCH 09/21] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E6=97=B6=E9=95=BF30=E5=88=86=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 31 +++++++++++++++++++---------- src/views/portal/case/Detail.vue | 27 +++++++++++++++---------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index 7ab3aecb..2922e527 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -159,7 +159,7 @@ export default { isPraise:false, isFavorite: false, setTime: null, - defaultMaxTime: 180,//最大时长 + defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 }; }, @@ -255,7 +255,21 @@ export default { this.articleDetailData=res.result; //if(this.articleDetailData.toString()!='{}'){ this.getAuthorInfo(this.articleDetailData) - //记录时长 + //记录查看文章 + this.$store.dispatch("userTrigger", { + key: "ViewArticle",//后台的事件key 发布文章且审核通过 + title: "查看文章",//事件的标题 + parameters:"",//用户自定义参数 name:value,name:value + content: "查看了文章",//事件的内容 + source:'page', + objId: this.articleId,//关联的id + objType: "2",//关联的类型 + objInfo: this.articleDetailData.title, + aid: this.userInfo.aid, //当前登录人的id + aname: this.userInfo.name,//当前人的姓名 + status: 1 //状态,直接写1 + }); + //记录阅读时长 this.sendEventData() //} }else{ @@ -268,10 +282,10 @@ export default { }, sendEventData(){ let event = { - key: "ViewArticle",//后台的事件key 发布文章且审核通过 - title: "查看文章",//事件的标题 - parameters:"",//用户自定义参数 name:value,name:value - content: "查看了文章",//事件的内容 + key: "ReadArticle",//后台的事件key 发布文章且审核通过 + title: "阅读文章",//事件的标题 + parameters:"second:60",//用户自定义参数 name:value,name:value + content: "阅读了文章",//事件的内容 source:'page', objId: this.articleId,//关联的id objType: "2",//关联的类型 @@ -280,12 +294,7 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } - this.$store.dispatch("userTrigger", event); this.setTime = setTimeout(()=>{ - event.key = 'ReadArticle'; - event.title = "阅读文章"; - event.parameters='second:60';//增加60秒的学习时长 - event.content = "阅读了文章" $this.$store.dispatch("userTrigger", event); if(this.cumulativeDuration<=this.defaultMaxTime){ this.sendEventData() diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 860d9f9c..537002d1 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -224,7 +224,7 @@ export default { orgData: [], setTimeCase: null, dataTime: sessionStorage.getItem('startTime') || 0, - defaultMaxTime: 180,//最大时长 + defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 }; }, @@ -333,6 +333,18 @@ export default { if (xmlhttp.status == 200) { clearTimeout(timer); $this.Internet = 1; + this.$store.dispatch("userTrigger", { + key: "ViewCase",//后台的事件key 发布文章且审核通过 + title: '查看案例',//事件的标题 + parameters: "",//用户自定义参数 name:value,name:value + content: '查看了案例',//事件的内容 + objId: this.resolveId,//关联的id + objType: "3",//关联的类型 + objInfo: this.caseDetail.title, + aid: this.userInfo.aid, //当前登录人的id + aname: this.userInfo.name,//当前人的姓名 + status: 1 //状态,直接写1 + }); $this.sendEventData(); } else { clearTimeout(timer); @@ -529,10 +541,10 @@ export default { }, sendEventData() { let event = { - key: "ViewCase",//后台的事件key 发布文章且审核通过 - title: '查看案例',//事件的标题 - parameters: "",//用户自定义参数 name:value,name:value - content: '查看了案例',//事件的内容 + key: "ReadCase",//后台的事件key 发布文章且审核通过 + title: '阅读案例',//事件的标题 + parameters: "second:60",//用户自定义参数 name:value,name:value + content: '阅读了案例',//事件的内容 objId: this.resolveId,//关联的id objType: "3",//关联的类型 objInfo: this.caseDetail.title, @@ -540,13 +552,8 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } - this.$store.dispatch("userTrigger", event); let $this = this; this.setTimeCase = setTimeout(() => { - event.key = 'ReadCase'; - event.title = '阅读案例'; - event.parameters = "second:60"; - event.content = '阅读了案例'; $this.$store.dispatch("userTrigger", event); this.cumulativeDuration += 60 if(this.cumulativeDuration<=this.defaultMaxTime){ From 9d29d081069d25004db78ca85999e531197d1572 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 10:12:29 +0800 Subject: [PATCH 10/21] =?UTF-8?q?this=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 2 +- src/views/portal/case/Detail.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index 2922e527..2292d52e 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -295,7 +295,7 @@ export default { status: 1 //状态,直接写1 } this.setTime = setTimeout(()=>{ - $this.$store.dispatch("userTrigger", event); + this.$store.dispatch("userTrigger", event); if(this.cumulativeDuration<=this.defaultMaxTime){ this.sendEventData() }else{ diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 537002d1..e3267309 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -333,7 +333,7 @@ export default { if (xmlhttp.status == 200) { clearTimeout(timer); $this.Internet = 1; - this.$store.dispatch("userTrigger", { + $this.$store.dispatch("userTrigger", { key: "ViewCase",//后台的事件key 发布文章且审核通过 title: '查看案例',//事件的标题 parameters: "",//用户自定义参数 name:value,name:value From eb88dcbe74c29e4d20f7e9d7455a7d12eb46d90d Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 10:40:21 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E6=8F=90=E5=89=8D=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Detail.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index e3267309..6e6b37e2 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -283,7 +283,6 @@ export default { }, allRequests(id = '') { this.Intsucc(); - this.retest(); this.resolveId = id ? id : this.$route.query.id; this.$watermark.set(this.userInfo.name + this.userInfo.loginName); @@ -296,6 +295,7 @@ export default { this.getPopularity(); this.getPositive(); this.couresreso(); + this.retest(); window.addEventListener( "scroll", this.handleScroll From 7be1b5b6966ae082dd9a39db787c191c82a4f5f1 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 10:51:00 +0800 Subject: [PATCH 12/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 5 +++-- src/views/portal/case/Detail.vue | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index 2292d52e..cd298bc3 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -180,7 +180,7 @@ export default { }, beforeDestroy(){ window.removeEventListener("scroll",this.handleScroll); - clearInterval(this.setTime); + clearTimeout(this.setTime); this.cumulativeDuration = 0; }, methods: { @@ -296,11 +296,12 @@ export default { } this.setTime = setTimeout(()=>{ this.$store.dispatch("userTrigger", event); + this.cumulativeDuration += 60 if(this.cumulativeDuration<=this.defaultMaxTime){ this.sendEventData() }else{ this.cumulativeDuration = 0 - clearInterval(this.setTime); + clearTimeout(this.setTime); this.setTime = null } },61000);//1分钟后记录 diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 6e6b37e2..8173d1b7 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -265,7 +265,7 @@ export default { this.endTimeRequst(this.resolveId, recordEndTime) sessionStorage.removeItem('startTime') window.removeEventListener("scroll", this.handleScroll); - clearInterval(this.setTimeCase); + clearTimeout(this.setTimeCase); this.cumulativeDuration = 0; }, methods: { @@ -560,7 +560,7 @@ export default { this.sendEventData() }else{ this.cumulativeDuration = 0 - clearInterval(this.setTimeCase); + clearTimeout(this.setTimeCase); this.setTimeCase = null } }, 61000);//1分钟之后发送阅读案例事件 From b635e03bc070d839ab0779e6453cb9b6bcf538cc Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 11:15:21 +0800 Subject: [PATCH 13/21] =?UTF-8?q?=E6=8F=90=E5=89=8D=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Detail.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 8173d1b7..6fc5b0fd 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -333,7 +333,7 @@ export default { if (xmlhttp.status == 200) { clearTimeout(timer); $this.Internet = 1; - $this.$store.dispatch("userTrigger", { + let event = { key: "ViewCase",//后台的事件key 发布文章且审核通过 title: '查看案例',//事件的标题 parameters: "",//用户自定义参数 name:value,name:value @@ -344,7 +344,8 @@ export default { aid: this.userInfo.aid, //当前登录人的id aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 - }); + } + $this.$store.dispatch("userTrigger", event); $this.sendEventData(); } else { clearTimeout(timer); From 7c5840fe5b83699725b42392cafa1937f22340ff Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 11:40:11 +0800 Subject: [PATCH 14/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Detail.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 6fc5b0fd..428b69e9 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -295,7 +295,6 @@ export default { this.getPopularity(); this.getPositive(); this.couresreso(); - this.retest(); window.addEventListener( "scroll", this.handleScroll @@ -577,6 +576,7 @@ export default { if (this.caseDetail.filePath) { //this.pdfPath=this.basePath+this.caseDetail.filePath; this.createPlayUrl(this.caseDetail.filePath); + this.retest(); //this.sendEventData();//移到检查之后 } else { this.$message.error('内容文件不存在或已被删除,请与管理员联系'); From e48a4125f3b2f5020cf7854c05e76a6d16a34799 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 11:45:53 +0800 Subject: [PATCH 15/21] =?UTF-8?q?=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Detail.vue | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 428b69e9..ba5bb26e 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -295,6 +295,7 @@ export default { this.getPopularity(); this.getPositive(); this.couresreso(); + this.retest(); window.addEventListener( "scroll", this.handleScroll @@ -332,19 +333,18 @@ export default { if (xmlhttp.status == 200) { clearTimeout(timer); $this.Internet = 1; - let event = { + $this.$store.dispatch("userTrigger", { key: "ViewCase",//后台的事件key 发布文章且审核通过 title: '查看案例',//事件的标题 parameters: "",//用户自定义参数 name:value,name:value content: '查看了案例',//事件的内容 objId: this.resolveId,//关联的id objType: "3",//关联的类型 - objInfo: this.caseDetail.title, + objInfo: this.caseDetail?.title, aid: this.userInfo.aid, //当前登录人的id aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 - } - $this.$store.dispatch("userTrigger", event); + }); $this.sendEventData(); } else { clearTimeout(timer); @@ -576,7 +576,6 @@ export default { if (this.caseDetail.filePath) { //this.pdfPath=this.basePath+this.caseDetail.filePath; this.createPlayUrl(this.caseDetail.filePath); - this.retest(); //this.sendEventData();//移到检查之后 } else { this.$message.error('内容文件不存在或已被删除,请与管理员联系'); From 6c5e54f0f7c115071a705e0a58fc718de4bfed72 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 11:47:53 +0800 Subject: [PATCH 16/21] =?UTF-8?q?=E6=94=B9=E5=8F=98this=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/case/Detail.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index ba5bb26e..854b9ed7 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -338,11 +338,11 @@ export default { title: '查看案例',//事件的标题 parameters: "",//用户自定义参数 name:value,name:value content: '查看了案例',//事件的内容 - objId: this.resolveId,//关联的id + objId: $this.resolveId,//关联的id objType: "3",//关联的类型 - objInfo: this.caseDetail?.title, - aid: this.userInfo.aid, //当前登录人的id - aname: this.userInfo.name,//当前人的姓名 + objInfo: $this.caseDetail?.title, + aid: $this.userInfo.aid, //当前登录人的id + aname: $this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 }); $this.sendEventData(); From ee5219533c5365c92efd7fb7d48abd9628769640 Mon Sep 17 00:00:00 2001 From: nisen Date: Wed, 8 Nov 2023 19:24:36 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=AF=BE=E4=BB=B6?= =?UTF-8?q?=E7=BB=99=E9=BB=98=E8=AE=A4=E5=80=BC=E4=B8=89=E5=8D=81=E5=88=86?= =?UTF-8?q?=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/course/Courseware.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/views/course/Courseware.vue b/src/views/course/Courseware.vue index f5a8993d..3b6dae88 100644 --- a/src/views/course/Courseware.vue +++ b/src/views/course/Courseware.vue @@ -621,10 +621,11 @@ export default { item.device = 2; } //转化为秒 - if(item.minute){ - item.duration=parseFloat(item.minute)*60; - } - + // if(item.minute){ + // item.duration=parseFloat(item.minute)*60; + // } + // 如果没有给一个默认值30分钟 + item.duration = item.minute ? parseFloat(item.minute) * 60 : 1800; }); this.loading = true; coueseFile.batchUpdate(this.fileList).then(rs => { From db856638ecd793dbb1c7145b0c9096f826961949 Mon Sep 17 00:00:00 2001 From: nisen Date: Thu, 9 Nov 2023 10:56:29 +0800 Subject: [PATCH 18/21] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=92=8C=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E8=AE=BE=E7=BD=AE=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=8D=81?= =?UTF-8?q?=E4=BA=94=E7=A7=92=E5=8F=91=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 19 ++++++++++++++++--- src/views/portal/case/Detail.vue | 20 ++++++++++++++++---- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index cd298bc3..fc7ba986 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -161,6 +161,8 @@ export default { setTime: null, defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 + judgmentTime:true,//是否发送 + secondTime:15,//默认时长 }; }, created(){ @@ -182,6 +184,7 @@ export default { window.removeEventListener("scroll",this.handleScroll); clearTimeout(this.setTime); this.cumulativeDuration = 0; + this.judgmentTime = true; }, methods: { banJump() { @@ -284,7 +287,7 @@ export default { let event = { key: "ReadArticle",//后台的事件key 发布文章且审核通过 title: "阅读文章",//事件的标题 - parameters:"second:60",//用户自定义参数 name:value,name:value + parameters:"second:" + this.secondTime,//用户自定义参数 name:value,name:value content: "阅读了文章",//事件的内容 source:'page', objId: this.articleId,//关联的id @@ -294,17 +297,27 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } + // 十五秒的时候发一次,只记录一次 + if(this.judgmentTime){ + this.judgmentTime = false + setTimeout(() => { + this.$store.dispatch("userTrigger", event); + this.secondTime = 60 + this.sendEventData() + },15000) + return + } this.setTime = setTimeout(()=>{ - this.$store.dispatch("userTrigger", event); this.cumulativeDuration += 60 if(this.cumulativeDuration<=this.defaultMaxTime){ + this.$store.dispatch("userTrigger", event); this.sendEventData() }else{ this.cumulativeDuration = 0 clearTimeout(this.setTime); this.setTime = null } - },61000);//1分钟后记录 + },60000);//1分钟后记录 }, //获取文章发布人的人物信息 getAuthorInfo(data){ diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 854b9ed7..54fe8c0e 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -226,6 +226,8 @@ export default { dataTime: sessionStorage.getItem('startTime') || 0, defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 + secondTime:15, //秒数 + judgmentTime:true //判断是否开始计时 }; }, mounted() { @@ -267,6 +269,7 @@ export default { window.removeEventListener("scroll", this.handleScroll); clearTimeout(this.setTimeCase); this.cumulativeDuration = 0; + this.judgmentTime = true }, methods: { endTimeRequst(caseId, recordEndTime) { @@ -543,7 +546,7 @@ export default { let event = { key: "ReadCase",//后台的事件key 发布文章且审核通过 title: '阅读案例',//事件的标题 - parameters: "second:60",//用户自定义参数 name:value,name:value + parameters: "second:" + this.secondTime,//用户自定义参数 name:value,name:value content: '阅读了案例',//事件的内容 objId: this.resolveId,//关联的id objType: "3",//关联的类型 @@ -552,18 +555,27 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } - let $this = this; + // 十五秒的时候发一次,只记录一次 + if(this.judgmentTime){ + this.judgmentTime = false + setTimeout(() => { + this.$store.dispatch("userTrigger", event); + this.secondTime = 60 + this.sendEventData() + },15000) + return + } this.setTimeCase = setTimeout(() => { - $this.$store.dispatch("userTrigger", event); this.cumulativeDuration += 60 if(this.cumulativeDuration<=this.defaultMaxTime){ + this.$store.dispatch("userTrigger", event); this.sendEventData() }else{ this.cumulativeDuration = 0 clearTimeout(this.setTimeCase); this.setTimeCase = null } - }, 61000);//1分钟之后发送阅读案例事件 + }, 60000);//1分钟之后发送阅读案例事件 }, getCaseData() { let $this = this; From e0377d8abc3ca6c482b8e4e595614ce5b4196003 Mon Sep 17 00:00:00 2001 From: nisen Date: Thu, 9 Nov 2023 11:37:43 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=9D=9E=E9=9F=B3=E9=A2=91=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=8D=81?= =?UTF-8?q?=E4=BA=94=E7=A7=92=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index f263b55c..500217e6 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -489,18 +489,18 @@ "aname":this.userInfo.name,//当前人的姓名 "status": 1 //状态 } - //静默处理 - apiStat.sendEvent(postData).then(rs=>{ - if(rs.status != 200) { - console.log(rs.message); - } - }); //每一分钟保存一次 // 取消阅读的每分钟六十秒的计时,最多是设置的时间或默认时间 let $this=this; this.appendStudyOtherHandle = setTimeout(function() { $this.cumulativeDuration += 60; if($this.cumulativeDuration <= $this.maxDuration){ + //静默处理 + apiStat.sendEvent(postData).then(rs=>{ + if(rs.status != 200) { + console.log(rs.message); + } + }); $this.appendStudyOtherTime(); }else{ clearTimeout(this.appendStudyOtherHandle); @@ -681,12 +681,25 @@ this.appendStudyOtherHandle = setTimeout(function() { // 开始之前把响应式清空 - this.maxDuration = 0; - this.cumulativeDuration = 0; - // 没有设置默认时长 - this.maxDuration = r.duration !== 0 ? r.duration : this.defaultMaxTime; + $this.maxDuration = 0; + $this.cumulativeDuration = 0; + // 没有设置默认时长三十分钟, + $this.maxDuration = r.duration !== 0 ? r.duration * 2 : $this.defaultMaxTime; + $this.$store.dispatch("userTrigger", { + "key": "StudyCourseOther",//课程学习的key + "title": "非音视频课内容",//事件的标题 + "parameters":"second:15",//second:value 本次的学习时长 + "content": "学习课程",//事件的内容 + "objId": $this.courseInfo.id,//课程的id + "objType": "1",//类型 + "source":"page", + "objInfo": ""+$this.courseInfo.name, + "aid":$this.userInfo.aid, //当前登录人的id + "aname":$this.userInfo.name,//当前人的姓名 + "status": 1 //状态 + }); $this.appendStudyOtherTime(); - }, 1000*60*2); //非音视频课程学习,2分钟后记录,因为一次记录是60秒 + }, 15000); //非音视频课程学习,十五秒后记录 //this.appendStudyTime(); if (this.contentData.contentType != 50) { this.handleTimeout = setTimeout(function(){ From 05217f78abece1b7db77a5ddb2315ef9eea357b5 Mon Sep 17 00:00:00 2001 From: nisen Date: Thu, 9 Nov 2023 15:38:52 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=92=8C=E6=96=87?= =?UTF-8?q?=E7=AB=A0=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/portal/article/Detail.vue | 19 ++++--------------- src/views/portal/case/Detail.vue | 19 ++++--------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index fc7ba986..83f5039b 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -161,7 +161,6 @@ export default { setTime: null, defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 - judgmentTime:true,//是否发送 secondTime:15,//默认时长 }; }, @@ -184,7 +183,6 @@ export default { window.removeEventListener("scroll",this.handleScroll); clearTimeout(this.setTime); this.cumulativeDuration = 0; - this.judgmentTime = true; }, methods: { banJump() { @@ -297,27 +295,18 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } - // 十五秒的时候发一次,只记录一次 - if(this.judgmentTime){ - this.judgmentTime = false - setTimeout(() => { + this.setTime = setTimeout(()=>{ + this.cumulativeDuration += this.secondTime + if(this.cumulativeDuration <= this.defaultMaxTime){ this.$store.dispatch("userTrigger", event); this.secondTime = 60 this.sendEventData() - },15000) - return - } - this.setTime = setTimeout(()=>{ - this.cumulativeDuration += 60 - if(this.cumulativeDuration<=this.defaultMaxTime){ - this.$store.dispatch("userTrigger", event); - this.sendEventData() }else{ this.cumulativeDuration = 0 clearTimeout(this.setTime); this.setTime = null } - },60000);//1分钟后记录 + },this.secondTime * 1000);//15秒记录一次之后1分钟后记录 }, //获取文章发布人的人物信息 getAuthorInfo(data){ diff --git a/src/views/portal/case/Detail.vue b/src/views/portal/case/Detail.vue index 54fe8c0e..869bf454 100644 --- a/src/views/portal/case/Detail.vue +++ b/src/views/portal/case/Detail.vue @@ -227,7 +227,6 @@ export default { defaultMaxTime: 1800,//最大时长 cumulativeDuration:0,//累计时长 secondTime:15, //秒数 - judgmentTime:true //判断是否开始计时 }; }, mounted() { @@ -269,7 +268,6 @@ export default { window.removeEventListener("scroll", this.handleScroll); clearTimeout(this.setTimeCase); this.cumulativeDuration = 0; - this.judgmentTime = true }, methods: { endTimeRequst(caseId, recordEndTime) { @@ -555,27 +553,18 @@ export default { aname: this.userInfo.name,//当前人的姓名 status: 1 //状态,直接写1 } - // 十五秒的时候发一次,只记录一次 - if(this.judgmentTime){ - this.judgmentTime = false - setTimeout(() => { + this.setTimeCase = setTimeout(() => { + this.cumulativeDuration += this.secondTime + if(this.cumulativeDuration <= this.defaultMaxTime){ this.$store.dispatch("userTrigger", event); this.secondTime = 60 this.sendEventData() - },15000) - return - } - this.setTimeCase = setTimeout(() => { - this.cumulativeDuration += 60 - if(this.cumulativeDuration<=this.defaultMaxTime){ - this.$store.dispatch("userTrigger", event); - this.sendEventData() }else{ this.cumulativeDuration = 0 clearTimeout(this.setTimeCase); this.setTimeCase = null } - }, 60000);//1分钟之后发送阅读案例事件 + }, this.secondTime * 1000);//15秒记录一次之后1分钟之后发送阅读案例事件 }, getCaseData() { let $this = this; From a87b9c1e5e55235844bd7465e281e0d49e2f16dc Mon Sep 17 00:00:00 2001 From: nisen Date: Thu, 9 Nov 2023 16:23:25 +0800 Subject: [PATCH 21/21] =?UTF-8?q?=E9=9D=9E=E9=9F=B3=E9=A2=91=E8=BF=87?= =?UTF-8?q?=E6=BB=A4scorm=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 500217e6..05aed8cf 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -474,8 +474,6 @@ if (!this.contentData.id) { return; } - // 跳转scorm链接的时候不计时了 - if(this.resType == 50) return let postData={ "key": "StudyCourseOther",//课程学习的key "title": "非音视频课内容",//事件的标题 @@ -674,8 +672,8 @@ if (this.contentData.status < 2) { this.contentData.status = 2; //进行中 } - //以下是学习记录 - if (this.contentData.contentType > 20) { //非视频类的 + //以下是学习记录,50是scorm项目 + if (this.contentData.contentType > 20 && this.contentData.contentType !== 50) { //非视频类的 //用户的学习时长,非音视频课程学习,单独的处理 this.isAppendTime = false;