Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
883777751d | ||
|
|
cd34e5455e | ||
| 3fe52975b5 | |||
|
|
bd398030ad | ||
|
|
bf13ad1868 | ||
|
|
8488a10f77 |
@@ -24,7 +24,7 @@
|
|||||||
"type" : "uni-app:app-ios"
|
"type" : "uni-app:app-ios"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"playground" : "custom",
|
"playground" : "standard",
|
||||||
"type" : "uni-app:app-android"
|
"type" : "uni-app:app-android"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<uni-drawer ref="showRight" mode="right" :width="320" @change="changeD($event,'showRight')">
|
<uni-drawer ref="showRight" mode="right" :width="320" @change="changeD($event,'showRight')">
|
||||||
|
|
||||||
<view class="close">
|
<view class="close">
|
||||||
<view class="zhan" style="width: 100%;"></view>
|
<view class="zhan" style="width: 100%;"></view>
|
||||||
<u-icon name="close" @click="closeDrawer('showRight')" color="#2979ff" size="28"></u-icon>
|
<u-icon name="close" @click="closeDrawer('showRight')" color="#2979ff" size="28"></u-icon>
|
||||||
@@ -8,10 +9,11 @@
|
|||||||
<view class="proTitle">
|
<view class="proTitle">
|
||||||
<text>请选择课程分类</text>
|
<text>请选择课程分类</text>
|
||||||
</view>
|
</view>
|
||||||
|
<scroll-view class="warp" scroll-y="true" style="max-height: 80vh;">
|
||||||
<uni-collapse accordion v-if="treeList.length > 0" @change="collapseChange">
|
<uni-collapse accordion v-if="treeList.length > 0" @change="collapseChange">
|
||||||
<uni-collapse-item v-for="(item, index) in treeList" :key="index" :title="item.title"
|
<uni-collapse-item v-for="(item, index) in treeList" :key="index" :title="item.title"
|
||||||
:show-animation="true">
|
:show-animation="true">
|
||||||
<view class="content">
|
<view class="content" >
|
||||||
<!-- <text class="text">{{item.title}}</text> -->
|
<!-- <text class="text">{{item.title}}</text> -->
|
||||||
<view class="sub1List">
|
<view class="sub1List">
|
||||||
<view class="item leve2" @click.stop="clickCourseInfo(item)" v-if="item.isLast == 1">
|
<view class="item leve2" @click.stop="clickCourseInfo(item)" v-if="item.isLast == 1">
|
||||||
@@ -26,12 +28,14 @@
|
|||||||
v-for="(item2, index2) in item1.children" :key="index2"
|
v-for="(item2, index2) in item1.children" :key="index2"
|
||||||
@click.stop="clickCourseInfo(item2)">
|
@click.stop="clickCourseInfo(item2)">
|
||||||
<text class="textss">{{item2.title}}</text>
|
<text class="textss">{{item2.title}}</text>
|
||||||
<view class="sub3List" v-if="item2.children">
|
<view class="sub3List" v-if="item2.isLast == 0 && item2.children && item2.children.length > 0">
|
||||||
<view :class="['item', 'leve4']"
|
<!-- <view :class="['item', 'leve4']" -->
|
||||||
v-for="(item3, index3) in item2.children" :key="index3"
|
<!-- <template> -->
|
||||||
@click.stop="clickCourseInfo(item3)">
|
<text class="textss" v-for="(item3, index3) in item2.children"
|
||||||
<text class="textss">{{item3.title}}33</text>
|
:key="index3"
|
||||||
</view>
|
@click.stop="clickCourseInfo(item3)">{{item3.title}}</text>
|
||||||
|
<!-- </view> -->
|
||||||
|
<!-- </template> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -40,6 +44,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</uni-collapse-item>
|
</uni-collapse-item>
|
||||||
</uni-collapse>
|
</uni-collapse>
|
||||||
|
</scroll-view>
|
||||||
</uni-drawer>
|
</uni-drawer>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -103,17 +108,24 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
// ::v-deep uni-drawer{ height: 50vh !important;
|
||||||
|
// .uni-drawer__content{
|
||||||
|
// overflow-y: scroll !important;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
.sub1List {
|
.sub1List {
|
||||||
background-color: #f7f7f7;
|
background-color: #f7f7f7;
|
||||||
// padding-left: 20rpx;
|
// padding-left: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
line-height: 80rpx;
|
line-height: 80rpx;
|
||||||
font-size: 26rpx;
|
font-size: 28rpx;
|
||||||
color: #497387;
|
color: #1b2a32;
|
||||||
// border-bottom: 1px solid #dae8f0;
|
// border-bottom: 1px solid #dae8f0;
|
||||||
|
|
||||||
text {
|
text {
|
||||||
@@ -150,8 +162,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.leve3 {
|
.leve3 {
|
||||||
|
|
||||||
|
.sub3List{
|
||||||
|
border-bottom: 1px solid #ebeef5; padding-left: 60rpx;
|
||||||
|
.textss{background-color: #ebeef5; border-radius: 20rpx; padding: 10rpx 14rpx !important;}
|
||||||
|
}
|
||||||
.textss {
|
.textss {
|
||||||
padding-left: 60rpx;
|
padding-left: 60rpx; display: inline; margin-right: 20rpx; border:none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,14 +177,15 @@
|
|||||||
padding-left: 80rpx;
|
padding-left: 80rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.proTitle {
|
.proTitle {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 20rpx 0;
|
padding: 20rpx 0;
|
||||||
margin-top: 60rpx;
|
margin-top: 60rpx;
|
||||||
// margin-bottom: 20rpx;
|
// margin-bottom: 20rpx;
|
||||||
color: #666;
|
color: #888;
|
||||||
font-size: 26rpx;
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
.close {
|
.close {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -1,117 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="zzc_mol" v-if="isRecording"></view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
isRecording: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.screenInit();
|
|
||||||
},
|
|
||||||
onUnload() {
|
|
||||||
this.AllowScreenshots()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
screenInit() {
|
|
||||||
let _this = this;
|
|
||||||
// #ifdef H5
|
|
||||||
uni.showToast({
|
|
||||||
title: '请在APP或者小程序环境下操作',
|
|
||||||
icon: 'error'
|
|
||||||
})
|
|
||||||
// #endif
|
|
||||||
//// #ifndef H5
|
|
||||||
uni.getSystemInfo({
|
|
||||||
success: function(e) {
|
|
||||||
// #ifdef APP-PLUS
|
|
||||||
if (e.platform == 'android') {
|
|
||||||
//注意:一旦开启禁止截屏/录屏后将会全局生效,关闭页面时记得放开允许截屏/录屏
|
|
||||||
console.log('现在的操作系统是:=》',e.platform)
|
|
||||||
_this.NoscreenCapture();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
//在APP IOS端截屏、录屏暂时没办法实现,可以寻求原生解决
|
|
||||||
}
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
|
||||||
if (e.platform == 'android') {
|
|
||||||
//微信小程序在安卓手机上 禁止截屏/录屏(注意:禁止后录屏动作还是会进行,但录屏后的视频是黑屏的)
|
|
||||||
wx.setVisualEffectOnCapture({
|
|
||||||
visualEffect: 'hidden', //传入 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 = true
|
|
||||||
} else {
|
|
||||||
_this.isRecording = false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
//查询用户是否在录屏
|
|
||||||
wx.getScreenRecordingState({
|
|
||||||
success: (res) => {
|
|
||||||
if (res.state == 'on') {
|
|
||||||
_this.isRecording = true
|
|
||||||
} else if (res.state == 'off') {
|
|
||||||
_this.isRecording = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
fail: (err) => {
|
|
||||||
_this.isRecording = false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// #endif
|
|
||||||
}
|
|
||||||
})
|
|
||||||
//// #endif
|
|
||||||
},
|
|
||||||
//安卓端禁止截屏
|
|
||||||
NoscreenCapture() {
|
|
||||||
let osname = plus.os.name;
|
|
||||||
console.log('函数内的系统信息是=》',plus.os.name)
|
|
||||||
if (osname == "Android") {
|
|
||||||
var activity = plus.android.runtimeMainActivity();
|
|
||||||
plus.android.invoke(plus.android.invoke(activity, "getWindow"), "addFlags", 0x00002000);
|
|
||||||
// this.$emit('')
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//安卓端允许截屏
|
|
||||||
AllowScreenshots() {
|
|
||||||
let osname = plus.os.name;
|
|
||||||
if (osname == "Android") {
|
|
||||||
var activity = plus.android.runtimeMainActivity();
|
|
||||||
plus.android.invoke(plus.android.invoke(activity, "getWindow"), "clearFlags", 0x00002000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.zzc_mol {
|
|
||||||
background: #000;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: fixed;
|
|
||||||
z-index: 99999;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -16,8 +16,8 @@ if (process.env.NODE_ENV === 'development') {
|
|||||||
} else if (process.env.NODE_ENV === 'production') {
|
} else if (process.env.NODE_ENV === 'production') {
|
||||||
// 生产环境11
|
// 生产环境11
|
||||||
// baseUrl = "http://59.110.212.44:9100/pb/";
|
// baseUrl = "http://59.110.212.44:9100/pb/";
|
||||||
// baseUrl = "https://testapi.nuttyreading.com/";
|
baseUrl = "https://testapi.nuttyreading.com/";
|
||||||
baseUrl = "https://api.nuttyreading.com/"; //1
|
// baseUrl = "https://api.nuttyreading.com/"; //1
|
||||||
// baseUrl = "ws://twin-ui.com:6001/";
|
// baseUrl = "ws://twin-ui.com:6001/";
|
||||||
// socketUrl = "ws://twin-ui.com:6001/";
|
// socketUrl = "ws://twin-ui.com:6001/";
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -223,7 +223,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<view style="background-color: red;position: fixed;top: 0;left: 0;right: 0;bottom: 0;" v-show="screenLoading" > </view>
|
<view style="background-color: red;position: fixed;top: 0;left: 0;right: 0;bottom: 0;" v-show="screenLoading" > </view>
|
||||||
<yk-screenRecord></yk-screenRecord>
|
|
||||||
<!-- <u-modal
|
<!-- <u-modal
|
||||||
:show="show"
|
:show="show"
|
||||||
:title="modalInfo.title"
|
:title="modalInfo.title"
|
||||||
@@ -239,7 +238,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import courseDescription from "@/pages/component/commonComponents/list";
|
import courseDescription from "@/pages/component/commonComponents/list";
|
||||||
import ykScreenRecord from '@/components/yk-screenRecord/yk-screenRecord';
|
|
||||||
import curriculumMp3 from "./mp3Detail.vue";
|
import curriculumMp3 from "./mp3Detail.vue";
|
||||||
import price from "./price/index.vue";
|
import price from "./price/index.vue";
|
||||||
|
|
||||||
@@ -250,7 +248,6 @@ export default {
|
|||||||
courseDescription, //课程说明
|
courseDescription, //课程说明
|
||||||
price, //课程价格
|
price, //课程价格
|
||||||
curriculumMp3, //mp3
|
curriculumMp3, //mp3
|
||||||
ykScreenRecord
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
1112
pages/course/components/video.vue
Normal file
1112
pages/course/components/video.vue
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user