From 7214c3f3b5aac926f76f96d4e51e866adbd0c8f3 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 19:42:48 +0800 Subject: [PATCH 01/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B?= 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 56bae920..4a42ba85 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -467,6 +467,7 @@ this.stopStudyTime();//先关闭 this.cleanAppendTime();// this.loadData(); + console.log("gx 测试组件 refType",this.refType); //console.log(this.$xpage.constants.fileBaseUrl,'this.$xpage.constants.fileBaseUrl'); }, computed: { @@ -585,6 +586,7 @@ }, //笔记组件触发,播放指定时间 onPlayVideo(contentId,time){ + console.log("gx 出发 onPlayVideo") //这里需要根据contentId,是否切换到对应的内容的视频的时间 //如果 contentId已经不存在,需要提示 console.log(contentId,this.contentData.id,'两个内容id'); From 5966132265437d2a7a53697f4fcb1004cd46ae22 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 19:52:30 +0800 Subject: [PATCH 02/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 4a42ba85..d44395d6 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -470,6 +470,10 @@ console.log("gx 测试组件 refType",this.refType); //console.log(this.$xpage.constants.fileBaseUrl,'this.$xpage.constants.fileBaseUrl'); }, + + update(){ + console.log("update gx 更新数据 refType",this.refType); + }, computed: { ...mapGetters(['userInfo']), catalogTree(){ From c05c69a54474ac0c8ca74b2d2d33c38210604f71 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 19:58:21 +0800 Subject: [PATCH 03/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index d44395d6..b6186002 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -23,10 +23,12 @@
+ {{resType}}
+ {{resType}}
+ {{resType}}
{{ contentData.contentName }}
@@ -73,6 +76,7 @@
+ {{resType}}
此课程内容无法预览,请联系管理员
@@ -83,12 +87,15 @@
+ {{resType}}
+ {{resType}}
+ {{resType}}
+ {{resType}}
+ {{resType}}
+ {{resType}}
From fd2c4f5096da9b8f6fac2320b7ad905c4eb52ea9 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 20:00:08 +0800 Subject: [PATCH 04/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index b6186002..9d60319d 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -23,12 +23,12 @@
- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

{{ contentData.contentName }}
@@ -76,7 +76,7 @@
- {{resType}} +

{{resType}}

此课程内容无法预览,请联系管理员
@@ -87,15 +87,15 @@
- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

- {{resType}} +

{{resType}}

From c1b7a9c9d9acf419b45c011d87307b0407ded821 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 20:07:14 +0800 Subject: [PATCH 05/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 9d60319d..e1d5ccef 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -677,6 +677,7 @@ }, //替换播放区域 changePlayRes(r,item){ + console.log("点击学习,就执行 changePlayRes") this.tentative = false; if(this.appendStudyOtherHandle!=null){ window.clearTimeout(this.appendStudyOtherHandle); From 0d904de3ed9b42c83286822330f409ec82a25ff7 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 20:27:34 +0800 Subject: [PATCH 06/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 86465e5a..17c8d26f 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -385,7 +385,7 @@ export default { console.log('\x1b[31m%s\x1b[0m','*****************加载失败**********') }) // 监听全屏事件的变化,保存数据 - window.addEventListener("fullscreenchange", () => { + window.addEventListener("F", () => { this.isFullscreen = this.isFullScreen(); }); }, @@ -409,6 +409,7 @@ export default { /* 切换播放状态 */ togglePlayStatus() { + cosnole.log("togglePlayStatus is this.videoDom.paused ",this.videoDom.paused) if (this.videoDom.paused) { if(!this.isInit && this.initTime != null && this.initTime > 0){ this.videoDom.currentTime = this.initTime; From e6fa45a5acc624a0cb37602ed68b2b4ccb7adfc7 Mon Sep 17 00:00:00 2001 From: joshen Date: Thu, 6 Mar 2025 20:58:28 +0800 Subject: [PATCH 07/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 17c8d26f..e78d82f3 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -409,7 +409,7 @@ export default { /* 切换播放状态 */ togglePlayStatus() { - cosnole.log("togglePlayStatus is this.videoDom.paused ",this.videoDom.paused) + console.log("togglePlayStatus is this.videoDom.paused ",this.videoDom.paused) if (this.videoDom.paused) { if(!this.isInit && this.initTime != null && this.initTime > 0){ this.videoDom.currentTime = this.initTime; From 8058039f85188a74e084c0ba8b19f53436990cf4 Mon Sep 17 00:00:00 2001 From: joshen Date: Fri, 7 Mar 2025 10:24:38 +0800 Subject: [PATCH 08/53] =?UTF-8?q?=E6=B5=8B=E8=AF=952?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index e1d5ccef..6c40af40 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -1217,6 +1217,10 @@ //console.log("当前播放11"+itme); if (this.contentData.contentType && this.contentData.contentType == 10) { let intTime = parseInt(itme); + console.log("onPlayerPlaying gx intTime",intTime) + console.log("onPlayerPlaying gx this.contentData.lastStudyTime",intTime) + console.log("onPlayerPlayinggx saveTime == 0",Math.floor(intTime % 10)) + console.log("onPlayerPlaying gx this.contentData.studyItemId",this.contentData.studyItemId) //判断是否完成 let completeType = this.curriculumData.completeSetup; let completeSecond = this.curriculumData.second; @@ -1268,6 +1272,11 @@ audioPlaying(item, currentTime) { //console.log("当前播放"+item); let intTime = parseInt(currentTime); + + console.log("onPlayerPlaying gx intTime",intTime) + console.log("onPlayerPlaying gx this.contentData.lastStudyTime",intTime) + console.log("onPlayerPlayinggx saveTime == 0",Math.floor(intTime % 10)) + console.log("onPlayerPlaying gx this.contentData.studyItemId",this.contentData.studyItemId) this.handleAudioTimeUpdate(intTime) //判断是否完成 let completeType = this.curriculumData.completeSetup; From 2fff1379081a730c6d3aca5f3cc7c9da8647193e Mon Sep 17 00:00:00 2001 From: joshen Date: Fri, 7 Mar 2025 13:25:34 +0800 Subject: [PATCH 09/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/@/assets/images/over.png | 0 src/views/study/coursenew.vue | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/views/study/@/assets/images/over.png diff --git a/src/views/study/@/assets/images/over.png b/src/views/study/@/assets/images/over.png new file mode 100644 index 00000000..e69de29b diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 6c40af40..42778477 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -1221,6 +1221,7 @@ console.log("onPlayerPlaying gx this.contentData.lastStudyTime",intTime) console.log("onPlayerPlayinggx saveTime == 0",Math.floor(intTime % 10)) console.log("onPlayerPlaying gx this.contentData.studyItemId",this.contentData.studyItemId) + console.log("onPlayerPlaying gx this.contentData.duration",this.contentData.duration) //判断是否完成 let completeType = this.curriculumData.completeSetup; let completeSecond = this.curriculumData.second; From 9c3b6265201016df46103275ecff5cb0a92acabc Mon Sep 17 00:00:00 2001 From: joshen Date: Fri, 7 Mar 2025 13:40:10 +0800 Subject: [PATCH 10/53] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=80=E4=B8=8B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 42778477..360eccbf 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -2482,6 +2482,6 @@ .coures-bg { width: 100%; height: 200px; - background: url('../../../public/images/couresdetail.png'); + // background: url('../../../public/images/couresdetail.png'); } From c3797d4d7e92b59c4dbc998c1ff189c2a937b463 Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 10 Mar 2025 10:52:22 +0800 Subject: [PATCH 11/53] =?UTF-8?q?=E6=B0=B4=E5=8D=B0=E7=9A=84=E7=94=9F?= =?UTF-8?q?=E6=95=88=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index c2f79e6c..098d2947 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -23,12 +23,10 @@
-

{{resType}}

-

{{resType}}

-

{{resType}}

{{ contentData.contentName }}
@@ -76,7 +73,6 @@
-

{{resType}}

此课程内容无法预览,请联系管理员
@@ -87,15 +83,12 @@
-

{{resType}}

-

{{resType}}

-

{{resType}}

-

{{resType}}

-

{{resType}}

-

{{resType}}

From 0f1c8081cbc9e02b8de7e95701a69d2496881fca Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 10 Mar 2025 13:17:13 +0800 Subject: [PATCH 12/53] =?UTF-8?q?=E9=80=80=E5=87=BA=E5=85=A8=E5=B1=8F=20es?= =?UTF-8?q?c=20=E8=A7=A6=E5=8F=91=E7=9B=91=E5=90=AC1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 0d7f0131..2060feb1 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -388,12 +388,8 @@ export default { window.addEventListener("F", () => { this.isFullscreen = this.isFullScreen(); }); - window.addEventListener("keydown", (e) => { - console.log("是否监听到"); - if(e.keyCode == 27){ - console.log("是否监听到 esc"); - this.toggleFullScreen(); - } + window.addEventListener("ESC", () => { + this.toggleFullScreen(); }); }, methods: { From 7786efbd38556bc6dc1b248b2b94305dfabc3857 Mon Sep 17 00:00:00 2001 From: joshen Date: Tue, 11 Mar 2025 11:10:55 +0800 Subject: [PATCH 13/53] =?UTF-8?q?=E9=80=80=E5=87=BA=E5=85=A8=E5=B1=8F=20es?= =?UTF-8?q?c=20=E8=A7=A6=E5=8F=91=E7=9B=91=E5=90=AC4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/VideoPlayer/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/VideoPlayer/index.vue b/src/components/VideoPlayer/index.vue index 94a85109..3bd1df3d 100644 --- a/src/components/VideoPlayer/index.vue +++ b/src/components/VideoPlayer/index.vue @@ -623,12 +623,12 @@ export default { if (!this.isFullscreen) { // 退出全屏后的逻辑(如暂停视频、更新 UI 等) console.log('ESC 已退出全屏 handleFullscreenChange',this.isFullscreen); - this.isFullscreen = true) + this.isFullscreen = true; this.toggleFullScreen(); } } - + } }, watch: { From 2a2cb22fe93ed9b95f8f736609362f563e9f088f Mon Sep 17 00:00:00 2001 From: gengxin Date: Wed, 19 Mar 2025 08:49:45 +0800 Subject: [PATCH 14/53] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Course/courseImage.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/Course/courseImage.vue b/src/components/Course/courseImage.vue index 19144bea..263e0b29 100644 --- a/src/components/Course/courseImage.vue +++ b/src/components/Course/courseImage.vue @@ -48,13 +48,17 @@ export default { let name = ''; if (this.course && this.course.name && this.course.name !== '') { name = this.course.name.replace('color:#FF0000', 'color:#fff'); + console.log("name gengxindata1 : ",name) } if (this.course && this.course.courseName && this.course.courseName !== '') { name = this.course.courseName.replace('color:#FF0000', 'color:#fff'); + console.log("name gengxindata2 : ",name) } if (this.course && this.course.title && this.course.title !== '') { name = this.course.title.replace('color:#FF0000', 'color:#fff'); + console.log("name gengxindata3 : ",name) } + console.log("name gengxindata4 : ",name) return name; // course.name || course.courseName || course.title }, From 14220b6d4dd28fcc98eba73aa9af3eda7c136aa4 Mon Sep 17 00:00:00 2001 From: gengxin Date: Wed, 19 Mar 2025 09:21:36 +0800 Subject: [PATCH 15/53] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=95=B4=E7=90=861?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/TaskList.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/study/TaskList.vue b/src/views/study/TaskList.vue index b9d0a739..620e11d8 100644 --- a/src/views/study/TaskList.vue +++ b/src/views/study/TaskList.vue @@ -140,6 +140,7 @@ export default { headers:{token:getToken(),} }).then((res) => { console.log('111',res.data.result) + console.log('111 gx2',res.data.result) // this.porcessData=response.data.data this.porcessData.course=Math.floor(res.data.result.course.total === 0 ? 0: (res.data.result.course.completion/res.data.result.course.total)*100) this.porcessData.project=Math.floor(res.data.result.project.total === 0 ? 0: (res.data.result.project.completion/res.data.result.project.total)*100) From 084fcec0c467866fe52b8d2809429bee75f9621d Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 14 Apr 2025 14:37:29 +0800 Subject: [PATCH 16/53] =?UTF-8?q?=E9=83=A8=E7=BD=B2=E7=94=9F=E4=BA=A71?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lexiang-sso-77deb595.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lexiang-sso-77deb595.txt diff --git a/src/lexiang-sso-77deb595.txt b/src/lexiang-sso-77deb595.txt new file mode 100644 index 00000000..3008cc75 --- /dev/null +++ b/src/lexiang-sso-77deb595.txt @@ -0,0 +1 @@ +60ab8a4b97b446b2dcd32889 \ No newline at end of file From 205fcac1f4b7d17d3830cfd846bfc73ab5a285a4 Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 14 Apr 2025 14:42:51 +0800 Subject: [PATCH 17/53] =?UTF-8?q?=E9=83=A8=E7=BD=B2=E7=94=9F=E4=BA=A71?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lexiang-sso-77deb595.txt => lexiang-sso-77deb595.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/lexiang-sso-77deb595.txt => lexiang-sso-77deb595.txt (100%) diff --git a/src/lexiang-sso-77deb595.txt b/lexiang-sso-77deb595.txt similarity index 100% rename from src/lexiang-sso-77deb595.txt rename to lexiang-sso-77deb595.txt From 4df875d8919f952eb5c42b7753ea1d6fb15b029a Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 14 Apr 2025 14:45:50 +0800 Subject: [PATCH 18/53] =?UTF-8?q?=E9=83=A8=E7=BD=B2=E7=94=9F=E4=BA=A71?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/lexiang-sso-77deb595.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/views/lexiang-sso-77deb595.txt diff --git a/src/views/lexiang-sso-77deb595.txt b/src/views/lexiang-sso-77deb595.txt new file mode 100644 index 00000000..3008cc75 --- /dev/null +++ b/src/views/lexiang-sso-77deb595.txt @@ -0,0 +1 @@ +60ab8a4b97b446b2dcd32889 \ No newline at end of file From 28438f9ec05f3b3339d4f1e78f296fd9f86881d2 Mon Sep 17 00:00:00 2001 From: joshen Date: Mon, 21 Apr 2025 15:08:00 +0800 Subject: [PATCH 19/53] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 648 +++++++++++++++++----------------- 1 file changed, 324 insertions(+), 324 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index cc6143a8..8846ee60 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -28,9 +28,9 @@
+ :initTime="contentData.lastStudyTime" :notePlay="notePlay" @onPlayerPlay="onPlayerPlay" + :isDrag="curriculumData.isDrag" @onFullscreen="onFullscreen" @onPlayerPause="onPlayerPause" + @onPlayerEnded="onPlayerEnded" :isCrowd="isCrowd" @onTimeUpdate="handleAudioTimeUpdate">
@@ -41,7 +41,7 @@
+ :src="require('@/assets/images/icon/trample-active.png')" />
@@ -68,7 +68,7 @@
{{ contentData.contentName }}
+ @onPlay="audioPlay" @onPause="audioPause" @onPlayEnd="audioEnd">
@@ -95,7 +95,7 @@
+ style="width: 100%;border:0px;min-height: 473px;" frameborder="0">
@@ -115,21 +115,21 @@
- - - +
提交评分
+
--> + +
-
+
- {{ toScore(courseInfo.score) }} - + {{ toScore(courseInfo.score) }} +
@@ -142,14 +142,14 @@ {{ courseInfo.praises }}
- - - - + + + + {{ courseInfo.trampleCount }}
- +
@@ -157,128 +157,128 @@
-
-
- 课程单元 -
-
- 我的笔记 -
+
+
+ 课程单元
- -
-
-
-
- - - - -
- -
-
{{i+1}}. {{ ele.contentName }}
-
- 学习中 - - - - - - - -
+
+ 我的笔记 +
+
+ +
+
+
+
+ + + + +
+ +
+
{{i+1}}. {{ ele.contentName }}
+
+ 学习中 + + + + + + +
+
-
-
-
-
-
- +
+ + +
-
- -
- - -
- {{index+1}}.{{ list.contentName }} -
-
- 学习中 - - - - - - -
- + +
+
+ +
+ + +
+ {{index+1}}.{{ list.contentName }} +
+
+ 学习中 + + + + + + +
+
- -
- -
+
+ +
+ +
-
-
内容简介
-
课程评论
-
课程笔记
-
-
-
-
目标人群:
{{courseInfo.forUsers}}
-
课程价值:
{{courseInfo.value}}
-
详细介绍:
-
-
-
- -
-
- -
+
+
内容简介
+
课程评论
+
课程笔记
+
+
+
+
目标人群:
{{courseInfo.forUsers}}
+
课程价值:
{{courseInfo.value}}
+
详细介绍:
+
+
+
+ +
+
+ +
-
-
课程讲师
+
+
课程讲师
-
- +
+
@@ -287,8 +287,8 @@
- {{ item.teacherName }} - + {{ item.teacherName }} +
{{cutOrgNamePath(item.authorInfo.orgInfo)}}
@@ -522,13 +522,13 @@ }, noteChange(){ //视频点定位,直接到播放的视频位置 - this.timer = new Date().getTime() + this.timer = new Date().getTime() }, //清空追加学习时长事件 cleanAppendTime(){ - if(this.appendStudyOtherHandle){ - window.clearTimeout(this.appendStudyOtherHandle); - } + if(this.appendStudyOtherHandle){ + window.clearTimeout(this.appendStudyOtherHandle); + } }, //非音视频课学习时长的增加,每一分钟保存一次 appendStudyOtherTime() { @@ -539,46 +539,46 @@ if (!this.contentData.id) { return; } - //每一分钟保存一次 - // 取消阅读的每分钟六十秒的计时,最多是设置的时间或默认时间 - let $this=this; - let startTime = new Date().getTime(); - this.appendStudyOtherHandle = setTimeout(function() { - let endTime = new Date().getTime(); - let totalTime = Math.round((endTime - startTime) / 1000); - $this.cumulativeDuration += totalTime; - if($this.cumulativeDuration <= $this.maxDuration){ - //发送时长 - $this.sendStudyOtherTime(totalTime); - //递归调用 - $this.appendStudyOtherTime(); - }else{ - clearTimeout(this.appendStudyOtherHandle); - $this.cumulativeDuration = 0; - $this.maxDuration = 0; - } - }, 1000*60); + //每一分钟保存一次 + // 取消阅读的每分钟六十秒的计时,最多是设置的时间或默认时间 + let $this=this; + let startTime = new Date().getTime(); + this.appendStudyOtherHandle = setTimeout(function() { + let endTime = new Date().getTime(); + let totalTime = Math.round((endTime - startTime) / 1000); + $this.cumulativeDuration += totalTime; + if($this.cumulativeDuration <= $this.maxDuration){ + //发送时长 + $this.sendStudyOtherTime(totalTime); + //递归调用 + $this.appendStudyOtherTime(); + }else{ + clearTimeout(this.appendStudyOtherHandle); + $this.cumulativeDuration = 0; + $this.maxDuration = 0; + } + }, 1000*60); }, sendStudyOtherTime(totalTime){ //静默处理 apiStat.sendEvent({ - "key": "StudyCourseOther",//课程学习的key - "title": "非音视频课内容",//事件的标题 - "parameters":"second:" + totalTime,//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 //状态 - }).then(rs=>{ - if(rs.status != 200) { - console.log(rs.message); - } - }); + "key": "StudyCourseOther",//课程学习的key + "title": "非音视频课内容",//事件的标题 + "parameters":"second:" + totalTime,//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 //状态 + }).then(rs=>{ + if(rs.status != 200) { + console.log(rs.message); + } + }); }, //笔记组件触发,播放指定时间 onPlayVideo(contentId,time){ @@ -587,32 +587,32 @@ console.log(contentId,this.contentData.id,'两个内容id'); let $this=this; if(this.contentData.id==contentId){ - this.onPlayerPause() - this.contentData.lastStudyTime=time; - setTimeout(() => { - $this.$refs.myVideoPlayer.startPlay(time); - }, 10) - console.log('开始播放1'); + this.onPlayerPause() + this.contentData.lastStudyTime=time; + setTimeout(() => { + $this.$refs.myVideoPlayer.startPlay(time); + }, 10) + console.log('开始播放1'); }else{ - //通过contentId - let toResContent=null; - this.contentList.forEach(c => { - if(c.id==contentId){ - c.lastStudyTime=time; - toResContent=c; - } - }); - if(toResContent){ - - this.changePlayRes(toResContent); - setTimeout(() => { - $this.$refs.myVideoPlayer.startPlay(time); - }, 10) - - console.log('开始播放2'); - }else{ - this.$message.error('资源已不存在或更换过,已无法定位'); + //通过contentId + let toResContent=null; + this.contentList.forEach(c => { + if(c.id==contentId){ + c.lastStudyTime=time; + toResContent=c; } + }); + if(toResContent){ + + this.changePlayRes(toResContent); + setTimeout(() => { + $this.$refs.myVideoPlayer.startPlay(time); + }, 10) + + console.log('开始播放2'); + }else{ + this.$message.error('资源已不存在或更换过,已无法定位'); + } } this.playerBoxShow = false; }, @@ -690,23 +690,23 @@ }else if(r.contentType==50){ //scorm this.scormUrl=''; apiCourseFile.detail(r.contentRefId).then(cfrs => { - if(cfrs.status==200){ - this.curCFile = cfrs.result; - //this.scormUrl=cfrs - let pars='?mode=normal&r='+Math.random(); - pars+='&scormId='+this.curCFile.id; - pars+='&courseId='+this.courseId; - pars+='&contentId='+r.id; - pars+='&studentId='+this.userInfo.aid; - pars+='&studentName='+encodeURIComponent(this.userInfo.name); - pars+='&lmsId='+this.studyId; - pars+='&scoId=';//不指定,scorm模块自动根据学习记录定位 - let urlPre=window.location.protocol; - let configUrl=process.env.VUE_APP_SCORM_URL; - configUrl=urlPre+configUrl.substring(configUrl.indexOf(':')+1); + if(cfrs.status==200){ + this.curCFile = cfrs.result; + //this.scormUrl=cfrs + let pars='?mode=normal&r='+Math.random(); + pars+='&scormId='+this.curCFile.id; + pars+='&courseId='+this.courseId; + pars+='&contentId='+r.id; + pars+='&studentId='+this.userInfo.aid; + pars+='&studentName='+encodeURIComponent(this.userInfo.name); + pars+='&lmsId='+this.studyId; + pars+='&scoId=';//不指定,scorm模块自动根据学习记录定位 + let urlPre=window.location.protocol; + let configUrl=process.env.VUE_APP_SCORM_URL; + configUrl=urlPre+configUrl.substring(configUrl.indexOf(':')+1); - this.scormUrl=configUrl+pars;//播放的首页 - } + this.scormUrl=configUrl+pars;//播放的首页 + } }); }else if (r.contentType == 52) { @@ -737,12 +737,12 @@ setTimeout(() => { this.isContentTypeTwo = r.contentType $this.isShowTime() - }, 2000); - } + }, 2000); + } } //以下是学习记录,50是scorm项目 if (this.contentData.contentType > 20 && this.contentData.contentType !== 50) { //非视频类的 - //用户的学习时长,非音视频课程学习,单独的处理 + //用户的学习时长,非音视频课程学习,单独的处理 this.isAppendTime = false; this.appendStudyOtherHandle = setTimeout(function() { @@ -752,18 +752,18 @@ // 没有设置默认时长三十分钟, $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 //状态 - }); + "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(); }, 15000); //非音视频课程学习,十五秒后记录 this.isContentType = this.contentData.contentType @@ -780,20 +780,20 @@ this.$nextTick(function(){ - if (r.contentType == 10) { - console.log('视频处理lastStudyTime',this.contentData.lastStudyTime) - console.log('视频处理progressVideo',this.contentData.progressVideo) - this.$refs.myVideoPlayer.updateProgressByClickBar2(this.contentData.lastStudyTime,this.contentData.progressVideo); - } + if (r.contentType == 10) { + console.log('视频处理lastStudyTime',this.contentData.lastStudyTime) + console.log('视频处理progressVideo',this.contentData.progressVideo) + this.$refs.myVideoPlayer.updateProgressByClickBar2(this.contentData.lastStudyTime,this.contentData.progressVideo); + } - let h=$this.$refs.coursePlayer.offsetHeight; - //解决获取高度不正的问题 - if(h>400 && h<500){ - h=h+40; - }else if(h>500){ - h=h+60; - } - $this.controlHeight=h-95; + let h=$this.$refs.coursePlayer.offsetHeight; + //解决获取高度不正的问题 + if(h>400 && h<500){ + h=h+40; + }else if(h>500){ + h=h+60; + } + $this.controlHeight=h-95; }) @@ -935,9 +935,9 @@ this.interactRuning = true; let teacherId=''; if(this.teachers.length>0){ - teacherId=this.teachers[0].teacherId; + teacherId=this.teachers[0].teacherId; }else{ - teacherId=this.courseInfo.sysCreateAid + teacherId=this.courseInfo.sysCreateAid } let postData = { objType: 1, @@ -1078,7 +1078,7 @@ class: 'catalog-cell-state1' }; } - break; + break; } return data; }, @@ -1139,8 +1139,8 @@ var markDiv = div.querySelector("#" + divId); console.log("去除水印 ---- gx markDiv ----",markDiv); if (markDiv) { - console.log("执行去除水印 ---- gx markDiv ----",markDiv); - div.removeChild(markDiv); + console.log("执行去除水印 ---- gx markDiv ----",markDiv); + div.removeChild(markDiv); } } }, @@ -1199,9 +1199,9 @@ var time = localStorage.getItem('videoProgressData') var arr = time&&JSON.parse(time) || {} if(arr[this.blobId] && this.contentData.progressVideo 0) { //发送用户学习事件 //console.log('保存到后台学习时长='+duration); let postData={ - "key": "StudyCourse",//课程学习的key - "title": "学习课程",//事件的标题 - "parameters":"second:"+duration,//second:value,total: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, //状态 - "contentId": this.contentData.id, + "key": "StudyCourse",//课程学习的key + "title": "学习课程",//事件的标题 + "parameters":"second:"+duration,//second:value,total: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, //状态 + "contentId": this.contentData.id, + } + if(this.resType == 10){ + postData.progress = this.sendEventProgress; + } + //静默处理 + apiStat.sendEvent(postData).then(rs=>{ + if(rs.status == 200) { + // this.appendStartTime = new Date();//重新计时 + // studyUtil.clearStudyDuration(); //清除本地存储 + } else { + console.log(rs.message); } - if(this.resType == 10){ - postData.progress = this.sendEventProgress; - } - //静默处理 - apiStat.sendEvent(postData).then(rs=>{ - if(rs.status == 200) { - // this.appendStartTime = new Date();//重新计时 - // studyUtil.clearStudyDuration(); //清除本地存储 - } else { - console.log(rs.message); - } - }); + }); // let postAppendData = { // id: this.appentId, // studyId: this.studyId, @@ -1566,13 +1566,13 @@ }, //结束追加学习时长 stopStudyTime(){ - //console.log('停止追加学习时长'); - this.isAppendTime=false; - //暂停让他为空 从新计时 - this.appendStartTime = null - if (this.appendHandle != null) { - window.clearTimeout(this.appendHandle); - } + //console.log('停止追加学习时长'); + this.isAppendTime=false; + //暂停让他为空 从新计时 + this.appendStartTime = null + if (this.appendHandle != null) { + window.clearTimeout(this.appendHandle); + } }, appendStudyTime() { // 暂停的时候重新从十五秒开始计时 @@ -1594,11 +1594,11 @@ this.appendHandle && window.clearTimeout(this.appendHandle); //启动下次追加学习时长 this.appendHandle = setTimeout(() => { - let endTime = new Date().getTime(); - this.appentInterval = 60 - let totalTime = Math.round((endTime - this.appendStartTime) / 1000); - this.appendStudyTime(); - this.saveStudyDuration(totalTime) + let endTime = new Date().getTime(); + this.appentInterval = 60 + let totalTime = Math.round((endTime - this.appendStartTime) / 1000); + this.appendStudyTime(); + this.saveStudyDuration(totalTime) }, this.appentInterval * 1000); }, @@ -1664,55 +1664,55 @@ }, handleAudioTimeUpdate(currentTime) { // if(this.contentStudysLength.length == 0){ - let params = { - studyId: this.studyId, //学习id, - courseId: this.courseId, //课程id, - contentId: this.contentData.id, //内容id, - contentType: this.contentData.contentType, - contentName: this.contentData.contentName, //内容名称 - progress: 1, - status: 2, - contentTotal: this.totalContent - }; - if(currentTime > 2 && this.trueFalse){ - apiStudy.studyContent(params).then(()=>{ - if(this.contentData.status<2){ - this.contentData.status = 2; - } - }) - this.trueFalse = false - } + let params = { + studyId: this.studyId, //学习id, + courseId: this.courseId, //课程id, + contentId: this.contentData.id, //内容id, + contentType: this.contentData.contentType, + contentName: this.contentData.contentName, //内容名称 + progress: 1, + status: 2, + contentTotal: this.totalContent + }; + if(currentTime > 2 && this.trueFalse){ + apiStudy.studyContent(params).then(()=>{ + if(this.contentData.status<2){ + this.contentData.status = 2; + } + }) + this.trueFalse = false + } }, }, } From 4deaae77c9a6965ac3b2676a5675e9f861f0d5c7 Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 30 Jun 2025 13:37:20 +0800 Subject: [PATCH 30/53] =?UTF-8?q?=E5=A4=96=E9=93=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index bee1f86d..50aa101c 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -92,8 +92,12 @@
@@ -2395,4 +2399,17 @@ .copy-button:hover { background-color: #66b1ff; } + .hyper-link-url-container { + display: flex; + align-items: center; + gap: 10px; + } + + .hyper-link-url { + max-width: calc(100% - 80px); /* 留出按钮空间 */ + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + From 23ebe825777b2a3e583ecedc109480668e5865ba Mon Sep 17 00:00:00 2001 From: 670788339 <670788339@qq.com> Date: Mon, 30 Jun 2025 13:44:58 +0800 Subject: [PATCH 31/53] =?UTF-8?q?=E5=A4=96=E9=93=BE=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 50aa101c..ee2fb7bd 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -92,11 +92,11 @@
From a5342425859fecf160ce127e3a7a5656765380ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8D=93=E7=85=9C?= <2210102150@qq.com> Date: Wed, 9 Jul 2025 16:19:49 +0800 Subject: [PATCH 39/53] =?UTF-8?q?=E4=BF=AE=E5=A4=8DSZX-1136=E6=A0=87?= =?UTF-8?q?=E9=A2=98=EF=BC=9A=E5=9C=A8=E7=BA=BF=E8=AF=BE=E5=A4=96=E9=93=BE?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/study/coursenew.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/views/study/coursenew.vue b/src/views/study/coursenew.vue index 8aeb4301..2160c115 100644 --- a/src/views/study/coursenew.vue +++ b/src/views/study/coursenew.vue @@ -96,7 +96,10 @@