浏览代码

修改学习中心跳转路由

huangjianlei 1 年之前
父节点
当前提交
c0697abad9
共有 4 个文件被更改,包括 171 次插入169 次删除
  1. 17 29
      components/myPlayer2/tcPlayer.vue
  2. 118 108
      pages/learn/index.vue
  3. 12 10
      pages3/polyv/detail.vue
  4. 24 22
      pages5/webview/detaillink.vue

+ 17 - 29
components/myPlayer2/tcPlayer.vue

@@ -98,18 +98,17 @@
 								SafeCheck: true // 安全检查
 							},
 						},
+						fakeFullscreen: true,
+						licenseUrl: 'https://license.vod2.myqcloud.com/license/v2/1323759362_1/v_cube.license',
 						controlBar: {
 							progressControl: this.progressControl, // 是否禁止拖拽(隐藏)进度条
 							playbackRateMenuButton: playbackRateIndex // 是否显示倍速切换的按钮。
 						},
-						playbackRates: playbackRate,
 						autoplay: this.autoplay, // 自动播放
-						fakeFullscreen: true,
-
+						playbackRates: playbackRate,
 						sources: [{
 							src: 'https://1500005692.vod2.myqcloud.com/43843706vodtranscq1500005692/62656d94387702300542496289/v.f100240.m3u8',
 						}],
-						licenseUrl: 'https://license.vod2.myqcloud.com/license/v2/1323759362_1/v_cube.license',
 
 						// fileID: res.data.data.fileID,
 						// appID: res.data.data.appID,
@@ -117,9 +116,11 @@
 						// licenseUrl: res.data.data.licenseUrl,
 					};
 					if (tcPlayerContext) {
-						tcPlayerContext.currentTime(
-							this.currentTime || 0);
-						tcPlayerContext.changeFileId(option);
+						tcPlayerContext.loadVideoByID({
+							fileID: res.data.data.fileID,
+							appID: res.data.data.appID,
+							psign: res.data.data.psign
+						});
 					} else {
 						option = {
 							height: 218,
@@ -161,20 +162,18 @@
 				// 	this.Elevideo &&
 				// 		this.Elevideo.addEventListener("timeupdate", this.timeupdate);
 				// }
-
 				if (!this.Elevideo) {
 					this.Elevideo = true;
 					tcPlayerContext.on("timeupdate", this.timeupdate);
 				}
 			},
-
-			onSeeking() {
-				if (!this.needSeek) {
-					console.log("触发拖拽");
-					this.isSeeking = true;
-					this.$emit('isSeeking', this.isSeeking);
-				}
-			},
+			// onSeeking() {
+			// 	if (!this.needSeek) {
+			// 		console.log("触发拖拽");
+			// 		this.isSeeking = true;
+			// 		this.$emit('isSeeking', this.isSeeking);
+			// 	}
+			// },
 			onSeeked() {
 				console.log("触发拖拽结束");
 				this.isSeeking = false;
@@ -210,8 +209,8 @@
 					loadstart: "onPlayerInitOver", // 播放器初始化完毕时触发
 					pause: "pause", // 视频暂停时触发
 					playing: "playing", // 视频初次播放或由暂停恢复播放时触发
-					seeking: "onSeeking",
-					seeked: "onSeeked",
+					// seeking: "onSeeking",
+					// seeked: "onSeeked",
 					ended: "ended", // 当前视频播放完毕时触发
 					error: "playerError", // 播放出现错误时触发
 				};
@@ -324,17 +323,6 @@
 				console.log("腾讯视频初次播放");
 				this.PlayStart = 1;
 			},
-			loadedmetadata() {
-				if (this.hasStart) {
-					// 防止loadedmetadata事件第二次触发
-					return;
-				}
-				this.hasStart = true;
-				setTimeout(() => {
-					this.hasStart = false;
-				}, 3000);
-				this.onPlayerInitOver();
-			},
 			changeFileId(data) {
 				console.log('调用腾讯视频changeFileId')
 				if (!data) {

+ 118 - 108
pages/learn/index.vue

@@ -875,6 +875,7 @@
 					});
 			},
 			async studyIn(v, i, item, index) {
+				let playSource = 2;
 				if (item.externalLinkStatus) {
 					this.$method.toLink(item.externalLink);
 					return;
@@ -892,36 +893,36 @@
 
 					if (item.learnStatus > 0) {
 						//跳转第三方h5
-						// uni.navigateTo({
-						// 	url: `/pages3/polyv/detail?goodsId=${item.goodsId}&orderGoodsId=${item.orderGoodsId}&gradeId=${item.gradeId}&isOther=1`,
-						// });
-
-						this.$api
-							.courseSkipPort()
-							.then((res) => {
-								let obj = {
-									goodsId: item.goodsId,
-									orderGoodsId: item.orderGoodsId,
-									gradeId: item.gradeId,
-									isOther: 1,
-									skipPort: res.data.data.skipPort
-								}
-								let webViewUrl = null;
-								// #ifdef H5
-								webViewUrl = '/pages3/polyv/detail?obj=' + encodeURIComponent(JSON.stringify(obj));
-								uni.navigateTo({
-									url: webViewUrl
-								})
-								// #endif
-								// #ifdef MP-WEIXIN
-								webViewUrl = encodeURIComponent('http://192.168.1.213:8080' +
-									'/pages3/polyv/detail?obj=' +
-									JSON.stringify(obj))
-								uni.navigateTo({
-									url: `/pages5/webview/detaillink?url=${webViewUrl}`
+						if (playSource == 1) {
+							uni.navigateTo({
+								url: `/pages3/polyv/detail?goodsId=${item.goodsId}&orderGoodsId=${item.orderGoodsId}&gradeId=${item.gradeId}&isOther=1`,
+							});
+						} else {
+							// #ifdef H5
+							uni.navigateTo({
+								url: `/pages3/polyv/detail?goodsId=${item.goodsId}&orderGoodsId=${item.orderGoodsId}&gradeId=${item.gradeId}&isOther=1`,
+							});
+							// #endif
+							// #ifdef MP-WEIXIN
+							this.$api
+								.courseSkipPort()
+								.then((res) => {
+									let obj = {
+										goodsId: item.goodsId,
+										orderGoodsId: item.orderGoodsId,
+										gradeId: item.gradeId,
+										isOther: 1,
+										skipPort: res.data.data.skipPort
+									}
+									let webViewUrl = encodeURIComponent('http://192.168.1.213:8081' +
+										'/pages3/polyv/detail?obj=' +
+										JSON.stringify(obj))
+									uni.navigateTo({
+										url: `/pages5/webview/detaillink?url=${webViewUrl}`
+									})
 								})
-								// #endif
-							})
+							// #endif
+						}
 						return;
 					} else {
 						const text = this.eduPhone ? ",有疑问,请联系" + this.eduPhone : "";
@@ -1041,88 +1042,97 @@
 					}).then((res) => {
 						if (res.data.code == 200) {
 							if (res.data.total > 1) {
-								// uni.navigateTo({
-								// 	url: `/pages3/polyv/detail?id=''&goodsId=${
-								//           item.goodsId
-								//         }&orderGoodsId=${item.orderGoodsId}&gradeId=${
-								//           item.gradeId
-								//         }&periodWaitTime=${item.periodWaitTime ? 1 : ""}&isQ=${
-								//           item.orderYear ? 1 : ""
-								//         }`,
-								// });
-
-
-								this.$api
-									.courseSkipPort()
-									.then((res) => {
-										let obj = {
-											id: '',
-											goodsId: item.goodsId,
-											orderGoodsId: item.orderGoodsId,
-											gradeId: item.gradeId,
-											periodWaitTime: item.periodWaitTime ? 1 : "",
-											isQ: item.orderYear ? 1 : "",
-											skipPort: res.data.data.skipPort
-										}
-										let webViewUrl = null;
-										// #ifdef H5
-										webViewUrl = '/pages3/polyv/detail?obj=' +
-											encodeURIComponent(JSON.stringify(obj));
-										uni.navigateTo({
-											url: webViewUrl
-										})
-										// #endif
-										// #ifdef MP-WEIXIN
-										webViewUrl = encodeURIComponent(
-											'http://192.168.1.213:8080' +
-											'/pages3/polyv/detail?obj=' +
-											JSON.stringify(obj))
-										uni.navigateTo({
-											url: `/pages5/webview/detaillink?url=${webViewUrl}`
+								if (playSource == 1) {
+									uni.navigateTo({
+										url: `/pages3/polyv/detail?id=''&goodsId=${
+										          item.goodsId
+										        }&orderGoodsId=${item.orderGoodsId}&gradeId=${
+										          item.gradeId
+										        }&periodWaitTime=${item.periodWaitTime ? 1 : ""}&isQ=${
+										          item.orderYear ? 1 : ""
+										        }`,
+									});
+								} else {
+									// #ifdef H5
+									uni.navigateTo({
+										url: `/pages3/polyv/detail?id=''&goodsId=${
+										          item.goodsId
+										        }&orderGoodsId=${item.orderGoodsId}&gradeId=${
+										          item.gradeId
+										        }&periodWaitTime=${item.periodWaitTime ? 1 : ""}&isQ=${
+										          item.orderYear ? 1 : ""
+										        }`,
+									});
+									// #endif
+									// #ifdef MP-WEIXIN
+									this.$api
+										.courseSkipPort()
+										.then((res) => {
+											let obj = {
+												id: '',
+												goodsId: item.goodsId,
+												orderGoodsId: item.orderGoodsId,
+												gradeId: item.gradeId,
+												periodWaitTime: item.periodWaitTime ? 1 : "",
+												isQ: item.orderYear ? 1 : "",
+												skipPort: res.data.data.skipPort
+											}
+											let webViewUrl = encodeURIComponent(
+												'http://192.168.1.213:8081' +
+												'/pages3/polyv/detail?obj=' +
+												JSON.stringify(obj))
+											uni.navigateTo({
+												url: `/pages5/webview/detaillink?url=${webViewUrl}`
+											})
 										})
-										// #endif
-									})
+									// #endif
+								}
 							} else if (res.data.total == 1) {
-								// uni.navigateTo({
-								// 	url: `/pages3/polyv/detail?id=${
-								//           res.data.rows[0].courseId
-								//         }&goodsId=${item.goodsId}&orderGoodsId=${
-								//           item.orderGoodsId
-								//         }&gradeId=${item.gradeId}&periodWaitTime=${
-								//           item.periodWaitTime ? "" : 1
-								//         }&isQ=${item.orderYear ? 1 : ""}`,
-								// });
-
-								this.$api
-									.courseSkipPort()
-									.then((resForDetail) => {
-										let obj = {
-											id: res.data.rows[0].courseId,
-											goodsId: item.goodsId,
-											orderGoodsId: item.orderGoodsId,
-											gradeId: item.gradeId,
-											periodWaitTime: item.periodWaitTime ? "" : 1,
-											isQ: item.orderYear ? 1 : "",
-											skipPort: resForDetail.data.data.skipPort
-										}
-										let webViewUrl = null;
-										// #ifdef H5
-										webViewUrl = '/pages3/polyv/detail?obj=' +
-											encodeURIComponent(JSON.stringify(obj));
-										uni.navigateTo({
-											url: webViewUrl
-										})
-										// #endif
-										// #ifdef MP-WEIXIN
-										webViewUrl = encodeURIComponent(
-											'http://192.168.1.213:8080' +
-											'/pages3/polyv/detail?obj=' +
-											JSON.stringify(obj))
-										uni.navigateTo({
-											url: `/pages5/webview/detaillink?url=${webViewUrl}`
+								if (playSource == 1) {
+									uni.navigateTo({
+										url: `/pages3/polyv/detail?id=${
+										          res.data.rows[0].courseId
+										        }&goodsId=${item.goodsId}&orderGoodsId=${
+										          item.orderGoodsId
+										        }&gradeId=${item.gradeId}&periodWaitTime=${
+										          item.periodWaitTime ? "" : 1
+										        }&isQ=${item.orderYear ? 1 : ""}`,
+									});
+								} else {
+									// #ifdef H5
+									uni.navigateTo({
+										url: `/pages3/polyv/detail?id=${
+										          res.data.rows[0].courseId
+										        }&goodsId=${item.goodsId}&orderGoodsId=${
+										          item.orderGoodsId
+										        }&gradeId=${item.gradeId}&periodWaitTime=${
+										          item.periodWaitTime ? "" : 1
+										        }&isQ=${item.orderYear ? 1 : ""}`,
+									});
+									// #endif
+									// #ifdef MP-WEIXIN
+									this.$api
+										.courseSkipPort()
+										.then((resForDetail) => {
+											let obj = {
+												id: res.data.rows[0].courseId,
+												goodsId: item.goodsId,
+												orderGoodsId: item.orderGoodsId,
+												gradeId: item.gradeId,
+												periodWaitTime: item.periodWaitTime ? "" : 1,
+												isQ: item.orderYear ? 1 : "",
+												skipPort: resForDetail.data.data.skipPort
+											}
+											let webViewUrl = encodeURIComponent(
+												'http://192.168.1.213:8081' +
+												'/pages3/polyv/detail?obj=' +
+												JSON.stringify(obj))
+											uni.navigateTo({
+												url: `/pages5/webview/detaillink?url=${webViewUrl}`
+											})
 										})
-										// #endif
-									})
+									// #endif
+								}
 							} else {
 								uni.showToast({
 									icon: "none",

+ 12 - 10
pages3/polyv/detail.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="polyv_detail">
-		<uni-nav-bar left-icon="back" :statusBar="true" fixed="true" :title="detail.courseName || '课程详情'"
+		<uni-nav-bar :left-icon="isShowBack" :statusBar="true" fixed="true" :title="detail.courseName || '课程详情'"
 			@clickLeft="clickLeft"></uni-nav-bar>
 		<view id="top">
 			<view class="video_box" v-if="!playVid">
@@ -15,10 +15,9 @@
 					@playerError="playerError" @studyLog="studyLog"></my-player>
 			</view>
 			<view v-else>
-				<my-player2 ref="player2" :playFileId="playVid" :autoplay="autoplay" :progressControl=isAllowSeek
-					:playbackRate="playbackRate" :currentTime="videoCurrentTime || 0" @playing="playing"
-					@isSeeking="isSeeking" @seeked="seeked" @pause="pause" @ended="ended"
-					@loadedmetadata="loadedmetadata" @timeupdate="timeupdate" @playerError="playerError"
+				<my-player2 ref="player2" :playFileId="playVid" :autoplay="autoplay" :progressControl="isAllowSeek"
+					:playbackRate="playbackRate" :currentTime="videoCurrentTime || 0" @playing="playing" @pause="pause"
+					@ended="ended" @loadedmetadata="loadedmetadata" @timeupdate="timeupdate" @playerError="playerError"
 					@studyLog="studyLog"></my-player2>
 			</view>
 			<view class="course_name">
@@ -243,6 +242,7 @@
 				photoHistoryList: [], //已拍照历史的下标点
 				sectionItem: {},
 				// playSource: 2,
+				isShowBack: 'back',
 				isRebuild: false, //视频是否从重修目录点击
 				livingItem: "",
 				option: null,
@@ -275,7 +275,7 @@
 				isLeave: false,
 				text: "",
 				throttleFn: throttle(this.postStudyRecord, 15000),
-				isSeekingIndex: false
+				// isSeekingIndex: false
 			};
 		},
 		computed: {
@@ -341,6 +341,7 @@
 		},
 		async onLoad(option) {
 			if (option.obj) {
+				this.isShowBack = 'none';
 				console.log("检测option.obj", option)
 				console.log("解析后的option.obj", JSON.parse(decodeURIComponent(option.obj)))
 				option = JSON.parse(decodeURIComponent(option.obj));
@@ -766,6 +767,7 @@
 				this.originOnShow();
 			},
 			clickLeft() {
+				console.log(this.$route.path)
 				uni.switchTab({
 					url: "/pages/learn/index",
 				});
@@ -1495,10 +1497,10 @@
 				this.isPlaying = true;
 				this.clearPauseTimer();
 			},
-			isSeeking(event) {
-				console.log("搜寻进度条", event)
-				this.isSeekingIndex = event;
-			},
+			// isSeeking(event) {
+			// 	console.log("搜寻进度条", event)
+			// 	this.isSeekingIndex = event;
+			// },
 			openCamera() {
 				if (this.showCamera) return;
 				this.showCamera = true;

+ 24 - 22
pages5/webview/detaillink.vue

@@ -1,29 +1,31 @@
 <template>
-  <view>
-    <web-view :webview-styles="webviewStyles" :src="url"></web-view>
-  </view>
+	<view>
+		<web-view :webview-styles="webviewStyles" :src="url"></web-view>
+	</view>
 </template>
 
 <script>
-import { metaSetScalable } from "../../common/navTo";
-export default {
-  data() {
-    return {
-      webviewStyles: {
-        progress: {
-          color: "#007AFF",
-        },
-      },
-      url: "",
-    };
-  },
-  onLoad(option) {
-    this.url = decodeURIComponent(option.url);
-    // #ifdef H5
-    metaSetScalable();
-    // #endif
-  },
-};
+	import {
+		metaSetScalable
+	} from "../../common/navTo";
+	export default {
+		data() {
+			return {
+				webviewStyles: {
+					progress: {
+						color: "#007AFF",
+					},
+				},
+				url: "",
+			};
+		},
+		onLoad(option) {
+			this.url = decodeURIComponent(option.url);
+			// #ifdef H5
+			metaSetScalable();
+			// #endif
+		},
+	};
 </script>
 
 <style></style>