XSLu08042 há 3 semanas atrás
pai
commit
8d5639a949

+ 51 - 0
pages_course/components/yk-screenRecord/yk-screenRecord.vue

@@ -15,6 +15,13 @@
 		onUnload() {
 			this.AllowScreenshots()
 		},
+		beforeDestroy() {
+			uni.showToast({
+				title: '2223',
+				icon: 'error'
+			})
+			this.AllowScreenshots()
+		},
 		methods: {
 			screenInit() {
 				let _this = this;
@@ -90,6 +97,50 @@
 			},
 			//安卓端允许截屏  
 			AllowScreenshots() {
+				uni.getSystemInfo({
+					success: function(e) {
+						// #ifdef MP-WEIXIN
+						if (e.platform == 'android') {
+							//微信小程序在安卓手机上 禁止截屏/录屏(注意:禁止后录屏动作还是会进行,但录屏后的视频是黑屏的)
+							wx.setVisualEffectOnCapture({
+								visualEffect: 'none', //传入 hidden 则表示在截屏/录屏时隐藏屏幕
+								success: (res) => {
+									console.log(res)
+								},
+								fail: (err) => {
+									console.log(err)
+								},
+								complete: (res) => {
+									console.log(res)
+								}
+							})
+						} else {
+							//微信小程序在IOS手机上,注意:目前微信小程序在ios上也只能通过监听录屏状态,然后通过添加view层来进行阻止,截屏暂时无法实现
+							//监听用户录屏事件
+							wx.onScreenRecordingStateChanged(function(res) {
+								if (res.state == 'start') {
+									_this.isRecording = false
+								} else {
+									_this.isRecording = false
+								}
+							})
+							//查询用户是否在录屏
+							wx.getScreenRecordingState({
+								success: (res) => {
+									if (res.state == 'on') {
+										_this.isRecording = false
+									} else if (res.state == 'off') {
+										_this.isRecording = false
+									}
+								},
+								fail: (err) => {
+									_this.isRecording = false
+								}
+							})
+						}
+						// #endif
+					}
+				})
 				let osname = plus.os.name;
 				if (osname == "Android") {
 					var activity = plus.android.runtimeMainActivity();

+ 6 - 1
pages_course/video.vue

@@ -110,7 +110,12 @@
 			}
 		},
 		onLoad(option) {
-			this.urlOption = option.course ? JSON.parse(decodeURIComponent(option.course)) : {}
+			if (!option.course) {
+				const keys = decodeURIComponent(Object.keys(option)[0]);
+				this.urlOption = JSON.parse(keys.split('course=')[1])
+			} else {
+				this.urlOption = option.course ? JSON.parse(decodeURIComponent(option.course)) : {}
+			}
 			console.log("this.urlOption==",this.urlOption,option)
 			this.videoId = this.urlOption.videoId || ''
 			this.sortLink = this.urlOption.link || ''

+ 6 - 1
pages_course/videoDetail.vue

@@ -461,7 +461,12 @@
 		},
 		onLoad(option) {
 			this.code = option.code
-			this.urlOption = option.course ? JSON.parse(decodeURIComponent(option.course)) : {}
+			if (!option.course) {
+				const keys = decodeURIComponent(Object.keys(option)[0]);
+				this.urlOption = JSON.parse(keys.split('course=')[1])
+			} else {
+				this.urlOption = option.course ? JSON.parse(decodeURIComponent(option.course)) : {}
+			}
 			this.videoId = this.urlOption.videoId || ''
 			this.qwUserId = this.urlOption.qwUserId || ''
 			this.corpId = this.urlOption.corpId || ''