diff --git a/components/swipers/swiper-pu.vue b/components/swipers/swiper-pu.vue
index fc72212..4343190 100644
--- a/components/swipers/swiper-pu.vue
+++ b/components/swipers/swiper-pu.vue
@@ -2,9 +2,13 @@
-
-
-
+
+
+
+
+
@@ -30,9 +34,9 @@
type:Array,
default:function(){
return [
- {imgSrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',url:'',isVideo:false,poster:''},
- {imgSrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',url:'',isVideo:false,poster:''},
- {imgSrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',url:'',isVideo:false,poster:''},
+ {imgSrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',url:'',isVideo:false,poster:'',type:'image'},
+ {imgSrc:'https://www.runoob.com/try/demo_source/movie.mp4',url:'',isVideo:false,poster:'',type:'video'},
+ {imgSrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',url:'',isVideo:false,poster:'',type:'image'},
]
}
},
@@ -51,15 +55,25 @@
browseP:{//是否可预览
type:Boolean,
default:false
- }
+ },
+ ifAutoplays: { //banner是否自动轮播
+ type: Boolean,
+ default: true,
+ },
+ videoAutoPlays: { //视频是否自动播放
+ type: Boolean,
+ default: true,
+ },
},
computed: {
- ...mapState({
- ifAutoplay: state => state.moduleA.ifAutoplay
- })
+ // ...mapState({
+ // ifAutoplay: state => state.moduleA.ifAutoplay
+ // })
},
data() {
return {
+ videoAutoPlay: this.videoAutoPlays,
+ ifAutoplay: this.ifAutoplays,
bcurrent: 0, // 默认当前选中项
isShowVideo:false, // 是否显示视频
isVideo:uni.getStorageSync('is_video') // 是否是视频
@@ -67,7 +81,7 @@
},
methods:{
// 图片点击事件
- chooseImg(index,url){
+ chooseImg(index,url,type){
// console.log('当前banner图',index);
this.bcurrent = index
if(this.browseP){
@@ -97,7 +111,9 @@
current:this.bcurrent,
sources:imgList
})
- } else {
+ } else if(type == 'video') {
+ return false
+ }else {
// 有链接,跳转链接
uni.navigateTo({
url:`/${url}`
@@ -106,8 +122,20 @@
},
// 切换后获取当前索引
changeBanner(e){
- this.bcurrent = e.detail.current//当前的指示点下标
- // console.log(this.bcurrent);
+ this.bcurrent = e.detail.current;//当前的指示点下标
+ let videoIndex = e.detail.current;
+ //切换时要把视频暂停
+ uni.createVideoContext("video" + (videoIndex),this).pause()
+ },
+ handleVideoPlay() {
+ this.ifAutoplay = false
+ this.videoAutoPlay = true;
+ },
+ handleVideoPause() {
+ this.ifAutoplay = true
+ },
+ handleVideoEnd() {
+ this.ifAutoplay = true;
},
// 点击当前指示点
chooseDot(index){
@@ -118,16 +146,22 @@
uni.navigateTo({
url:`/pagesB/video/playVideo?src=${this.bannerList[index].url}&posterSrc=${this.bannerList[index].poster}`
})
- }
+ },
}
}
diff --git a/pages.json b/pages.json
index 078e7e1..a59f4fc 100644
--- a/pages.json
+++ b/pages.json
@@ -119,6 +119,24 @@
"enablePullDownRefresh": false
}
+ }
+ ,{
+ "path" : "my-share/my-share",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ,{
+ "path" : "my-watch/my-watch",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
}
]
},
@@ -214,6 +232,26 @@
"enablePullDownRefresh": false
}
+ }
+ ,{
+ "path" : "course-list/course-list",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+
+
+ ,{
+ "path" : "course-video/course-video",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
}
]
}
diff --git a/pages/tabbar/my/my.vue b/pages/tabbar/my/my.vue
index a549e97..830aaa4 100644
--- a/pages/tabbar/my/my.vue
+++ b/pages/tabbar/my/my.vue
@@ -65,7 +65,9 @@
{src:'/static/tabbar/icon-coupon.png',title:'我的优惠券'},
{src:'/static/tabbar/icon-score.png',title:'我的积分'},
{src:'/static/tabbar/icon-address.png',title:'我的地址'},
+ {src:'/static/tabbar/icon-znz.png',title:'观看记录'},
{src:'/static/tabbar/icon-znz.png',title:'我的推广'},
+ {src:'/static/tabbar/icon-znz.png',title:'我的分享'},
], // 导航列表
userInfo:{}, //用户信息
}
@@ -100,10 +102,12 @@
'/pagesA/my-coupon/my-coupon',
'/pagesA/my-integral/my-integral',
'/pagesA/my-address/my-address',
+ '/pagesA/my-watch/my-watch',
+ '',
'',
]
- if(index==7){
- list[7] = ['/pagesA/my-extend/my-extend','/pagesB/second-level/second-level?level=1','/pagesB/second-level/second-level?level=2' ][this.userInfo.position]
+ if(index==8){
+ list[8] = ['/pagesA/my-extend/my-extend','/pagesB/second-level/second-level?level=1','/pagesB/second-level/second-level?level=2' ][this.userInfo.position]
}
uni.navigateTo({
url:list[index]
diff --git a/pages/tabbar/pagehome/pagehome.vue b/pages/tabbar/pagehome/pagehome.vue
index 9562835..953e0a1 100644
--- a/pages/tabbar/pagehome/pagehome.vue
+++ b/pages/tabbar/pagehome/pagehome.vue
@@ -80,7 +80,9 @@
data() {
return {
newtop:uni.getSystemInfoSync().statusBarHeight + 40,
- bannerList:[],//轮播图
+ bannerList:[
+
+ ],//轮播图
current:0,
dataList:[],//分类列表
classId:'',//分类id
@@ -136,6 +138,7 @@
if(res.data.length){
res.data.forEach(item=>{
let obj = {
+ type:item.type,
imgSrc:item.src,
url:item.url,
isVideo:false,
diff --git a/pagesA/my-course/my-course.vue b/pagesA/my-course/my-course.vue
index 5075907..4da2612 100644
--- a/pagesA/my-course/my-course.vue
+++ b/pagesA/my-course/my-course.vue
@@ -12,7 +12,7 @@
¥{{item.price}}
- 点击学习
+ 点击学习
diff --git a/pagesA/my-extend/my-extend.vue b/pagesA/my-extend/my-extend.vue
index 608a6c1..166a9b6 100644
--- a/pagesA/my-extend/my-extend.vue
+++ b/pagesA/my-extend/my-extend.vue
@@ -1,7 +1,16 @@
+
+
+
+
+
+
@@ -122,11 +131,36 @@
}
})
}
+ },
+
+ share() {
+ uni.navigateTo({
+ url:`/pagesA/my-share/my-share`
+ })
}
}
}
diff --git a/pagesA/my-share/my-share.vue b/pagesA/my-share/my-share.vue
new file mode 100644
index 0000000..da24400
--- /dev/null
+++ b/pagesA/my-share/my-share.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ 下载图片
+
+
+
+
+
+
+
diff --git a/pagesA/my-watch/my-watch.vue b/pagesA/my-watch/my-watch.vue
new file mode 100644
index 0000000..495569d
--- /dev/null
+++ b/pagesA/my-watch/my-watch.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{item.created_at}}
+
+
+ ¥{{item.price}}
+ 点击学习
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pagesB/course-list/course-list.vue b/pagesB/course-list/course-list.vue
new file mode 100644
index 0000000..2a6d714
--- /dev/null
+++ b/pagesB/course-list/course-list.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.summary}}
+
+
+ 点击查看
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pagesB/course-video/course-video.vue b/pagesB/course-video/course-video.vue
new file mode 100644
index 0000000..de37d63
--- /dev/null
+++ b/pagesB/course-video/course-video.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+ {{couresDetail.title}}
+
+
+
+
+
+
+ 课程介绍
+
+
+
+
+
+ 介绍:{{couresDetail.summary}}
+ {{couresDetail.create_time.slice(0,10).split('-').join('.')}}
+
+
+
+
+
+
+
+
+
+
+
+ 请登录后查看课程,去登陆
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pagesB/play-video/play-video.nvue b/pagesB/play-video/play-video.nvue
index 008e94b..a766d30 100644
--- a/pagesB/play-video/play-video.nvue
+++ b/pagesB/play-video/play-video.nvue
@@ -7,7 +7,7 @@
+ @play="comePlay(index)" @pause="comePause(index)" @timeupdate='timeupdate'>
@@ -33,7 +33,8 @@
isCenterImg:false,//是否显示视频中间的播放按钮
isBottomImg:true,//是否显示视频底部控制栏的播放按钮
isFull:true,//是否显示全屏按钮
- count:0
+ count:0,
+ currentTime:'' //记录观看时长
}
},
onReady: (res)=> {
@@ -56,6 +57,21 @@
},
onHide() {
uni.removeStorageSync('videoList');
+
+ },
+
+ onUnload() {
+ console.log('页面销毁了')
+ let course_video_id = this.videoList[this.currentIndex].course_video_id;
+ let params = {
+ course_video_id:course_video_id,
+ duration:this.currentTime,
+ }
+ this.$requst.get('/api/course/create-browse-records',params).then(res=>{
+ if(res.code == 0) {
+ console.log('观影记录提交成功',this.currentTime)
+ }
+ })
},
methods:{
// 视频滑动结束
@@ -113,6 +129,10 @@
comePause(index){
this.videoList[index].isPlayImg = true;
this.videoList[index].isControls = false;
+ },
+ //记录观看时长
+ timeupdate(e) {
+ this.currentTime = Number(e.detail.currentTime);
}
}
}