This commit is contained in:
2024-07-13 10:45:20 +08:00
parent 41d03fb4ce
commit 772624ba9b
89 changed files with 9184 additions and 8147 deletions

View File

@@ -3,11 +3,7 @@
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<template v-show="!screenLoading">
<z-nav-bar
bgColor="#333"
fontColor="#fff"
:title="options.navTitle"
></z-nav-bar>
<z-nav-bar bgColor="#333" fontColor="#fff" title="教学内容"></z-nav-bar>
<view
class="contentBox curriculum_box"
@@ -19,13 +15,12 @@
<common-video
@changeScreen="changeScreen"
@changeScreenLoading="changeScreenLoading"
v-if="isfresh"
ref="commonVideo"
:currentVideo="currentVideo"
:currentVideoList="videoArray"
>
</common-video>
<view style="height: 200px" v-else></view>
<!-- <view style="height: 200px" v-else></view> -->
</view>
<!-- <common-sticky
@@ -43,15 +38,18 @@
class="scroll-Y"
style="background-color: #fff"
>
<view class="" style="padding: 20rpx; font-size: 34rpx; color: #333"
>课程{{ options.navTitle }}
</view>
<view style="padding: 20rpx; margin-bottom: 40rpx">
章节 {{ curriculumData.title }}
</view>
<view
class="PM_font"
style="padding: 20rpx; font-size: 40rpx; color: #3ab3ae"
>视频教学</view
>
<view class="scroll-view-item">
<view style="padding: 20rpx; margin-bottom: 40rpx">
{{ curriculumData.title }}
</view>
<common-curriculum-video
v-if="videoArray.length > 0"
:detailInfo="curriculumData"
@@ -69,15 +67,13 @@
>
<view class="scroll-view-item">
<common-rich-detail :detailInfo="{ ...curriculumData, title: '' }">
<template #richHeadImg>
<image
:src="curriculumData.imgUrl"
mode="widthFix"
class="headImage"
></image>
<!-- <image :src="detailInfo.imgUrl" v-if="detailInfo.imgUrl" mode="widthFix" class="headImage"></image> -->
</template>
<image
v-if="curriculumData.imgUrl"
@click="previewImage(curriculumData.imgUrl)"
:src="curriculumData.imgUrl"
mode="widthFix"
class="headImage"
></image>
</common-rich-detail>
</view>
</scroll-view>
@@ -222,7 +218,18 @@
</view>
</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>
<!-- <u-modal
:show="show"
:title="modalInfo.title"
@@ -232,7 +239,7 @@
@cancel="hancleModalCancel"
></u-modal> -->
<z-navigation></z-navigation>
</view>
</template>
@@ -320,10 +327,16 @@ export default {
};
},
onLoad(options) {
plus.screen.lockOrientation("default");
this.options = options;
this.options = options;
this.getCourseDescriptionData();
// plus.screen.lockOrientation("default");
this.screenLoading = false;
this.currentCateIndex = 0;
// #ifdef APP-PLUS
// plus.screen.unlockOrientation(); //解除锁定屏幕方向
// plus.screen.lockOrientation("portrait-primary");
// this.getUserInfo()
// this.getCateList()
},
@@ -332,11 +345,6 @@ export default {
// this.searchList = []
},
onShow() {
this.screenLoading=false
this.currentCateIndex = 0;
// #ifdef APP-PLUS
plus.screen.unlockOrientation(); //解除锁定屏幕方向
plus.screen.lockOrientation("portrait-primary");
// #endif
},
computed: {
@@ -355,7 +363,7 @@ export default {
this.$forceUpdate();
},
initVideo() {
this.screenLoading=false;
this.screenLoading = false;
this.isfresh = false;
this.$nextTick(() => {
this.isfresh = true;
@@ -368,16 +376,35 @@ export default {
});
},
changeVideo(data) {
console.log('data at line 370:', data)
this.currentVideo = data;
this.initVideo();
this.isOpenMp3 = false;
if (data.id != this.currentVideo.id) {
clearInterval(this.$store.state.videoTimer);
console.log(
"父页面是否触发了切换视屏呀:",
data.id,
this.currentVideo.id
);
this.currentVideo = data;
// setTimeout(() => {
this.$refs.commonVideo.changeVideo({
currentVideo: data,
currentVideoList: this.videoArray,
});
// }, 200);
// // handleEnd
// this.$refs.commonVideo.handleEnd();
// this.currentVideo = data;
// this.initVideo();
// this.isOpenMp3 = false;
}
console.log("data at line 380111111111111111111:", data.type);
// var mynavData = JSON.stringify(data); // 这里转换成 字符串
// if (data.type == 0 || data.type == 2) {
// //1 mp4 2 mp3
// //0 mp4 2 mp3
// uni.navigateTo({
// url: `/pages/curriculum/order/curriculum/videoDetail?data=${mynavData}`,
// });
@@ -449,12 +476,12 @@ export default {
// id: "16457",
};
var that = this;
console.log(this.$store.state, "11111111111");
$http
.request({
// url: "book/buyOrder/buySave",
url: `${this.urlList.detail}`,
url:'sociology/course/getCourseCatalogueChapterDetail',
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data,
header: {
@@ -462,7 +489,9 @@ export default {
"Content-Type": "application/json",
},
})
.then(async (res) => {
.then(async (res) => {
console.log(this.$store.state, "11111111111");
console.log('res at line 491:', res)
that.curriculumData = res.data.detail;
that.videoArray = res.data.videos;
if (that.videoArray.length > 0) {
@@ -902,6 +931,7 @@ export default {
<style lang="scss" scoped>
@import "@/style/mixin.scss";
.u-grid-list {
// height: 40rpx;
}

File diff suppressed because it is too large Load Diff

View File

@@ -5,18 +5,13 @@
>
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<z-nav-bar
:title="options.navTitle"
bgColor="#5F8F7F"
fontColor="#fff"
></z-nav-bar>
<z-nav-bar title="课程详情" bgColor="#5F8F7F" fontColor="#fff"></z-nav-bar>
<common-anchor-link
style="width: 100%"
baseHeight="200"
ref="commonAnchorLink"
:allDataList="allDataList"
titleKey="title"
dataListKey="courseList"
:titleStyle="{}"
@@ -24,25 +19,16 @@
background: '#fff',
}"
>
<template slot="tabs" slot-scope="slotProps">
</template>
<template slot="labelSlot" slot-scope="slotProps">
<u-icon
v-if="
slotProps.data.isBuy != 1 &&
(vip.type == 0 || vip.type == 3)
"
class="editIcon"
name="lock-fill"
color="#aaa"
size="26"
style="display: inline-block; margin-left: 5rpx"
></u-icon>
<template slot="tabs" slot-scope="slotProps"> </template>
<template slot="labelSlot" slot-scope="slotProps">
<u-icon
v-if="slotProps.data.isBuy != 1 && (vip.type == 0 || vip.type == 3)"
class="editIcon"
name="lock-fill"
color="#aaa"
size="26"
style="display: inline-block; margin-left: 5rpx"
></u-icon>
</template>
<template slot="otherContent" slot-scope="slotProps">
@@ -60,7 +46,11 @@
:title="goBuyTitle"
:show-icon="true"
>
<template slot="rightSlot" slot-scope="slotProps">
<template
slot="rightSlot"
slot-scope="slotProps"
v-if="$platform == 'android'"
>
<text class="saveBtn vipBtn flexbox buyBtn" v-if="goBuyType == 0">
立即购买
</text>
@@ -111,7 +101,13 @@
<!-- <view class="start_learn_btn PM_font">进入学习</view> -->
</view>
<view style="color: #b0b0b0;padding: 0 20rpx;">{{ cateList&&cateList.length>0?`共${cateList.length}个目录`:'' }}</view>
<view style="color: #b0b0b0; padding: 0 20rpx">
{{
cateList && cateList.length > 0
? `${cateList.length}个目录`
: ""
}}
</view>
<view
class="containerBg"
v-if="curriculumData.content && curriculumData.content != ''"
@@ -277,8 +273,8 @@
src="@/static/icon/course_07.png"
mode="aspectFil"
class="icon1"
>学习进度</image
>
>学习进度
</image>
</view>
<view class="progress_box">
<view class="progress_icon" style=""
@@ -303,8 +299,8 @@
</view>
</view>
</view>
</view></view
>
</view>
</view>
</view>
</template>
</common-anchor-link>
@@ -334,8 +330,8 @@
<view class="popup_box">
<view class="title">温馨提示</view>
<view class="content">
<view class="center"
>用户您好,本软件对于一个用户名及密码仅允许一部电子设备登陆,多部设备使用同一用户名操作软件的行为属于违规操作,发现违规一次将提出警告,再次违规您的用户名将被封号,无法正常登陆,如因此对您使用带来不便,敬请谅解。<br />
<view class="center">
用户您好,本软件对于一个用户名及密码仅允许一部电子设备登陆,多部设备使用同一用户名操作软件的行为属于违规操作,发现违规一次将提出警告,再次违规您的用户名将被封号,无法正常登陆,如因此对您使用带来不便,敬请谅解。<br />
课程购买之后一年内不打开,此一年内不会计算有效学习时间,一年后会自动开始计算有效学习时间。<br />
本课程一经购买,暂不支持退款,敬请谅解。<br />
@@ -534,11 +530,12 @@ export default {
},
getUserInfo() {
this.$http.post("common/user/getUserInfo").then((res) => {
console.log("res at line 505:", res);
if (res.result.userVip) {
this.vip = res.result.userVip;
} else {
this.vip = { type: 0 };
this.vip = {
type: 0,
};
}
switch (this.vip.type) {
@@ -803,11 +800,10 @@ export default {
} else {
list = [];
}
console.log("at line 1333:", list);
this.$forceUpdate();
});
console.log("list at line 1375:", list);
return list;
},
getCourseDescriptionData() {
@@ -1036,6 +1032,7 @@ export default {
<style lang="scss" scoped>
@import "@/style/mixin.scss";
.u-grid-list {
// height: 40rpx;
}
@@ -1468,12 +1465,14 @@ export default {
border-radius: 10rpx;
}
}
.popup_box {
padding-bottom: 20rpx;
width: 85vw;
overflow: hidden;
position: relative;
height: auto;
.title {
font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
font-weight: normal;
@@ -1511,6 +1510,7 @@ export default {
color: #b0b0b0;
}
}
.button_box {
display: flex;
align-items: center;
@@ -1541,6 +1541,7 @@ export default {
font-size: 28rpx;
}
}
.vipBtn {
@include theme("vipbtnbg");
border-radius: 100rpx;
@@ -1550,6 +1551,7 @@ export default {
color: #fff;
margin: 10rpx auto;
}
.buyBtn {
background: #f42c32 !important;
// background:
@@ -1558,22 +1560,28 @@ export default {
/deep/.u-alert--warning--light {
background-color: none !important;
}
/deep/.u-alert__text--warning--light {
color: #fff !important;
}
/deep/.u-alert {
background: none !important;
}
/deep/.u-icon__icon--warning {
color: #fff !important;
}
/deep/.uni-section {
background: transparent !important;
}
/deep/.uni-section .uni-section-header {
padding-top: 10rpx !important;
padding-bottom: 10rpx !important;
}
/deep/.uni-section .uni-section-header {
padding-left: 0rpx !important;
// padding-bottom: 10rpx !important;
@@ -1607,6 +1615,7 @@ export default {
// display:inline-block;
// padding:10rpx 20rpx;
}
.chapter_content {
// padding: 20rpx;
// padding-top:60rpx;
@@ -1619,10 +1628,12 @@ export default {
box-shadow: 0px 0px 4px 0px rgba(46, 114, 123, 0.6) !important;
border-top-right-radius: 40rpx;
border-bottom-left-radius: 40rpx;
.videoList {
// padding:0 20rpx;
display: flex;
align-items: center;
// justify-content: space-between;
.video_item {
width: 24%;
@@ -1672,10 +1683,12 @@ export default {
font-size: 72rpx;
text-align: center;
}
.shiting_content {
// padding: 20rpx 0 0;
}
}
.chapter_title {
width: 100%;
font-size: 28rpx;
@@ -1688,18 +1701,22 @@ export default {
width: 100%;
display: flex;
align-items: center;
.left {
display: flex;
align-items: center;
}
.right {
// float: right;
position: absolute;
right: 0;
}
}
.not_purchased {
position: relative;
.spot {
width: 8rpx;
height: 8rpx;
@@ -1709,22 +1726,26 @@ export default {
background-color: #33435d;
bottom: -4rpx;
}
color: #33435d;
margin-left: 20rpx;
font-size: 24rpx;
padding: 0 20rpx;
border-bottom: 2rpx dotted #33435d;
text {
margin: 0 10rpx;
letter-spacing: 1rpx;
}
}
}
.course_title {
align-items: center;
justify-content: space-between;
background: #fff;
}
.catalogueTitle {
justify-content: space-between;
overflow: hidden;
@@ -1782,6 +1803,7 @@ export default {
}
}
}
.prof {
font-size: 26rpx;
line-height: 50rpx;
@@ -1803,6 +1825,7 @@ export default {
// background-color: #fff;
// overflow: hidden;
}
.courseTitle {
width: calc(100% - 220rpx);
padding: 20rpx;
@@ -1812,6 +1835,7 @@ export default {
background-size: cover;
background-repeat: no-repeat;
}
.catalogueList {
// background: linear-gradient(108deg, #F0FBF4 0%, #d1e8da 100%) !important;
padding-bottom: 40rpx;
@@ -1823,9 +1847,10 @@ export default {
}
/deep/.section {
padding-top: 0 !important;
padding-top: 0 !important;
background: linear-gradient(108deg, #f0fbf4 0%, #d1e8da 100%) !important;
}
/deep/.section_box {
padding-top: 0 !important;
}