视频详情接口修改,部分代码优化增加节流

This commit is contained in:
2025-01-06 20:00:45 +08:00
parent 4ea69ba20b
commit 72562093fa
2 changed files with 212 additions and 170 deletions

View File

@@ -409,6 +409,8 @@
appearTimeout: null,
isOrder: true,
isGetDataList: false,
dianzanTimer:null,
zhuijuTimer:null
};
},
onUnload() {
@@ -418,7 +420,6 @@
}
},
onShow() {
// console.log('onSHow video');
//当应用从后台进入前台时自动播放
if (this.videoContext) {
this.videoContext.play()
@@ -513,6 +514,17 @@
})
this.getScale()
},
onBackPress() {
console.log('onBackPress')
const {
courseId,
courseDetailsId,
videoUrl
} = this.videoList[this.current]
if (videoUrl) {
this.setHistor(courseId, courseDetailsId, true)
}
},
onLoad(e) {
//是开启整部购买
this.zhengbu = uni.getStorageSync('zhengbu') ? uni.getStorageSync('zhengbu') : '否'
@@ -536,7 +548,7 @@
// 记录跳转过来的视频总id跟单集id
if (e.id) {
this.courseId = e.id;
// this.getMyLoveStatus()
this.getMoneyList()
this.getMyMoney()
@@ -545,7 +557,7 @@
if (e.allId) {
const arr = e.allId.split('-')
this.courseId = arr[0];
// this.getMyLoveStatus()
this.getMoneyList()
this.getMyMoney()
@@ -573,8 +585,8 @@
videoPlay(videoId, courseDetailsId) {
if (!this.playFlag) {
this.playFlag = true
if ( this.isGetDataList) {
this.getDataList(this.courseId, courseDetailsId,true);
if (this.isGetDataList) {
this.getDataList(this.courseId, courseDetailsId, true);
}
this.isGetDataList = true;
httpsRequest.getT('app/course/viewCourse', {
@@ -595,7 +607,7 @@
this.playFlag = false
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
courseDetailsId: this.videoList[this.current].courseDetailsId,
type: 'end'
}).then(res => {
console.log('播放结束')
@@ -810,10 +822,11 @@
console.log('nvue payType=' + paytype);
httpsRequest.getT("/app/wuyou/payOrder/" + this.ordersId + '?payType=' + paytype, {}).then(ret => {
// plus.runtime.openURL(ret.data.h5Url)
if(ret.code == 0 ) {
if (ret.code == 0) {
uni.hideLoading()
uni.navigateTo({
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data
.h5Url
});
} else {
uni.hideLoading()
@@ -822,7 +835,7 @@
title: '支付失败!'
});
}
// uni.navigateTo({
// url: '/pages/index/webView?ordersId='+this.ordersId+'url=' + ret.data.h5Url
@@ -1054,7 +1067,7 @@
*/
payVideo(type, num) {
console.log(this.isOrder)
if(!this.isOrder){
if (!this.isOrder) {
return;
}
uni.showLoading({
@@ -1081,11 +1094,12 @@
}
console.log(this.current)
console.log(data)
this.setHistor()
httpsRequest.getT((num && num == 10) ? '/app/order/insertCourseOrders/limit10' :
'/app/order/insertCourseOrders', data).then(res => {
console.log(res)
if (res.code == 0) {
if (res.status && res.status == 1) {
uni.hideLoading()
this.showPay = false //关闭购买选择弹窗
@@ -1093,7 +1107,7 @@
this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,
true);
return;
} else{
} else {
this.ordersId = res.data.orders.ordersId //记录订单id
this.payMoney = res.data.orders.payMoney //记录订单价格
if (type == 1) { //金币
@@ -1104,10 +1118,10 @@
this.payPrice = res.data.orders.payMoney //需要支付的价格
this.openPopusPay() //显示充值弹窗
}
}
console.log(this.isOrder)
// this.payOrder(res.data.orders.ordersId, res.data.orders.payMoney)
} else {
this.isOrder = true
@@ -1123,7 +1137,7 @@
console.log("orderId==" + orderId)
httpsRequest.postT("/app/order/payOrders", {
orderId: orderId,
}).then(res => {
}).then(res => {
console.log("orderIds==", res)
if (res.code == 0) {
uni.hideLoading()
@@ -1204,16 +1218,23 @@
//收藏
shoucang() {
if (uni.getStorageSync('token')) {
this.isCollect=!this.isCollect
let data = {
courseId: this.courseId,
classify: 1,
type: this.isCollect == false ? 1 : 0
}
httpsRequest.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
this.getMyLoveStatus()
}
})
clearTimeout(this.zhuijuTimer)
this.zhuijuTimer=setTimeout(()=>{
clearTimeout(this.zhuijuTimer)
this.zhuijuTimer=null;
httpsRequest.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
// this.getMyLoveStatus()
}
})
},500)
} else {
uni.navigateTo({
url: "/pages/login/login"
@@ -1230,17 +1251,23 @@
classify: 2,
type: item.isGood == 0 ? 1 : 0
};
httpsRequest.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
if (data.type == 1) {
item.isGood = 1;
item.goodNum += 1;
} else {
item.isGood = 0;
item.goodNum -= 1;
if (data.type == 1) {
item.isGood = 1;
item.goodNum += 1;
} else {
item.isGood = 0;
item.goodNum -= 1;
}
clearTimeout(this.dianzanTimer)
this.dianzanTimer = null
this.dianzanTimer = setTimeout(() => {
httpsRequest.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
}
}
})
})
}, 500)
} else {
uni.navigateTo({
url: "/pages/login/login"
@@ -1320,34 +1347,26 @@
*/
getDataList(courseId, courseDetailsId, type, t) {
let data = {
id: courseId,
courseId: courseId,
token: uni.getStorageSync('token') ? uni.getStorageSync('token') : ''
};
console.log("getDataList==="+courseDetailsId)
console.log("getDataList===",data)
httpsRequest.getT('/app/course/selectCourseDetailsById', data).then(res => {
httpsRequest.getT('/app/course/courseSets', data).then(res => {
console.log('getDataList')
console.log(res)
if (res.code == 0) {
console.log(res)
if (res.data && res.data.isCollect && res.data.isCollect > 0) {
this.isCollect = true
} else {
this.isCollect = false
}
if( res.data && res.data.courseDetailsId && !this.courseDetailsId && !courseDetailsId) {
this.isCollect = res.data.collect ? true : false;
if (res.data && res.data.courseDetailsId && !this.courseDetailsId && !courseDetailsId) {
courseDetailsId = res.data.courseDetailsId
}
this.courseDetailsId = courseDetailsId
console.log(courseDetailsId)
if (res.data.listsDetail) {
if (res.data.list) {
this.info = res.data;
this.title = this.info.title;
let arr = JSON.parse(JSON.stringify(res.data.listsDetail));
const indexs = arr.findIndex(menu => menu.courseDetailsId == Number(courseDetailsId));
//如果未找到将current值改为0否则会导致选集无法弹窗弹窗后点击相对应集数也无反应
this.current = indexs===-1?0:indexs;
console.log(indexs)
console.log(this.current)
const arr = res.data.list
const indexs = arr.findIndex(v => v.courseDetailsId == (courseDetailsId ?
courseDetailsId : res.data.current.courseDetailsId));
//如果未找到将current值改为0否则会导致选集无法弹窗弹窗后点击相对应集数也无反应
this.current = indexs === -1 ? 0 : indexs;
this.scrollIntoViews = 'video' + indexs
this.scrollIntoView = 'video' + indexs
// this.scrollIntoView = 'video' + indexs
@@ -1398,7 +1417,7 @@
})
} else {
console.log('播放')
this.$nextTick(()=>{
this.$nextTick(() => {
console.log('myVideo' + courseDetailsIds)
this.videoContextId = 'myVideo' + courseDetailsIds;
this.videoContext = uni.createVideoContext(this
@@ -1406,12 +1425,12 @@
this);
if (this.videoList[this.current].videoUrl) {
this.videoContext.play();
}else {
} else {
console.log("播放失败")
this.getDataList(this.courseId, courseDetailsIds, true);
}
})
}
// console.log('this.noBuyVideoIndex', this.noBuyVideoIndex)
@@ -1484,8 +1503,22 @@
})
},
//插入观看记录
setHistor(courseId, courseDetailsId) {
setHistor(courseId, courseDetailsId, now) {
clearTimeout(this.timer)
if (uni.getStorageSync('token')) {
clearTimeout(this.timer)
if (now) {
let data = {
courseId: courseId,
courseDetailsId: courseDetailsId,
classify: 3,
type: 1
};
console.log(data, '记录了')
httpsRequest.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {})
return
}
let data = {
courseId: courseId,
courseDetailsId: courseDetailsId,

View File

@@ -13,8 +13,8 @@
@waiting="waiting()" object-fit="cover" v-if="current === index && item.videoUrl"
:play-strategy="2" :show-loading="true" codec="software" :muted="false"
:show-center-play-btn="true" :loop="false" @ended="ended"
@play="videoPlay('myVideo'+item.courseDetailsId)" :enable-progress-gesture="false"
:poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
@play="videoPlay('myVideo'+item.courseDetailsId,item.courseDetailsId)"
:enable-progress-gesture="false" :poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
:id="'myVideo'+item.courseDetailsId" :src="item.videoUrl" :autoplay="item.autoPlay"
class="swipers-items-video"></video>
<!-- #endif -->
@@ -23,7 +23,7 @@
@controlstoggle="controlstoggles" @timeupdate="timeupdate" @waiting="waiting()"
object-fit="cover" v-if="current === index && item.videoUrl" :play-strategy="2"
:show-loading="true" codec="software" :muted="false" :show-center-play-btn="true" :loop="false"
@ended="ended" @play="videoPlay('myVideo'+item.courseDetailsId)"
@ended="ended" @play="videoPlay('myVideo'+item.courseDetailsId,item.courseDetailsId)"
:enable-progress-gesture="false" :poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
:id="'myVideo'+item.courseDetailsId" :src="item.videoUrl" :autoplay="item.autoPlay"
class="swipers-items-video" @contextmenu.prevent="disableContextMenu"></video>
@@ -41,8 +41,8 @@
<!-- #endif -->
<!-- :autoplay="item.autoPlay" -->
<!-- 没有视频权限则显示封面图 -->
<image v-else @click="openShowPay(current,index,item.videoUrl);showControls = true" :src="item.titleImg"
class="swipers-items-imgsbg" mode="aspectFill"></image>
<image v-else @click="openShowPay(current,index,item.videoUrl);showControls = true"
:src="item.titleImg" class="swipers-items-imgsbg" mode="aspectFill"></image>
<!-- 返回图标 -->
<!-- #ifndef MP-TOUTIAO -->
<view @click.stop="goBack()" style="color: #ffffff;">
@@ -188,8 +188,8 @@
<!-- 购买视频 -->
<u-popup :closeable="true" :custom-style="customStyle" :safe-area-inset-bottom="true" close-icon="close"
close-icon-size="30" @close="popupPyaClose" close-icon-color="#333333" :mask-custom-style="maskCustomStyle" v-model="showPay"
border-radius="24" mode="bottom">
close-icon-size="30" @close="popupPyaClose" close-icon-color="#333333" :mask-custom-style="maskCustomStyle"
v-model="showPay" border-radius="24" mode="bottom">
<view class="list" :style="listStyle">
<view class="list-title flex align-center">
<!-- <u-icon name="lock" class="list-title-icon" color="#efbb6b" size="40"></u-icon> -->
@@ -198,8 +198,8 @@
<view class="" style="font-size: 24rpx;color: #999;padding: 0 34rpx;margin-bottom: 20rpx;">
{{getRedEnvelopeTips}}
</view>
<view class="list-item" v-if="info&&info.price" >
<view class="list-item" v-if="info&&info.price">
<view class="list-item-box flex align-center justify-center" @click="payVideo(2,'all')">
<image src="../../static/images/me/rmIcon.png" mode=""></image>
{{info.price}}元解锁全剧
@@ -321,7 +321,9 @@
import {
returnIsSafari
} from '@/utils/app.js'
import {cacheClear} from '@/store/cashe.js'
import {
cacheClear
} from '@/store/cashe.js'
export default {
components: {
tkiQrcode,
@@ -329,6 +331,7 @@
},
data() {
return {
timer: null,
isSafari: returnIsSafari(),
//记录未购买视频索引
noBuyVideoIndex: null,
@@ -446,7 +449,9 @@
getRedEnvelopeTips: '',
scale: 1,
isOrder: true,
isGetDataList: false
isGetDataList: false,
dianzanTimer: null,
zhuijuTimer:null
};
},
onShareAppMessage(res) {
@@ -532,7 +537,6 @@
// #endif
},
onLoad(e) {
//在苹果系统微信小程序是否开启支付
this.isWxIosPay = uni.getStorageSync('isWxIosPay')
@@ -638,6 +642,9 @@
// });
},
onHide() {
//恢复录屏
// #ifdef MP-TOUTIAO
tt.enableUserScreenRecord({
@@ -663,8 +670,7 @@
// #endif
},
onShow() {
console.log('onSHow video');
//当应用从后台进入前台时自动播放
if (this.videoContext) {
this.videoContext.play()
@@ -673,11 +679,9 @@
if (noBuyVideoIndex !== null && noBuyVideoIndex !== undefined) {
this.noBuyVideoIndex = noBuyVideoIndex
}
try {
this.playType = Number(uni.getStorageSync('playType'))
} catch (e) {
//TODO handle the exception
this.playType = 1
}
let that = this
@@ -730,7 +734,6 @@
// #endif
this.isVips = uni.getStorageSync('isVips') ? uni.getStorageSync('isVips') : '否'
if (this.courseId) {
console.log('has this.courseId getDataList()');
this.getDataList(this.courseId, this.courseDetailsId);
}
this.$Request.getT('app/course/getRedEnvelopeTips').then(res => {
@@ -758,7 +761,7 @@
this.meunTop = 37
// #endif
// const windowResizeCallback = (res) => {
// console.log('变化后的窗口宽度=' + res.size.windowWidth)
// console.log('变化后的窗口高度=' + res.size.windowHeight)
@@ -773,6 +776,17 @@
// #endif
},
onBackPress() {
console.log('onBackPress')
const {
courseId,
courseDetailsId,
videoUrl
} = this.videoList[this.current]
if (videoUrl) {
this.setHistor(courseId, courseDetailsId, true)
}
},
watch: {
//监听当前播放的集数
current() {
@@ -854,7 +868,7 @@
event.preventDefault();
},
//点击封面打开弹窗
openShowPay(val,inx,url) {
openShowPay(val, inx, url) {
console.log(val)
console.log(inx)
console.log(url)
@@ -1128,7 +1142,7 @@
this.playFlag = false
this.$Request.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
courseDetailsId: this.videoList[this.current].courseDetailsId,
type: 'end'
}).then(res => {
console.log('播放结束')
@@ -1270,7 +1284,7 @@
* 2:购买单集视频
*/
payVideo(type, num) {
if(!this.isOrder){
if (!this.isOrder) {
return;
}
this.isOrder = false
@@ -1295,6 +1309,7 @@
//子组件支付成功的回调
paySuccess(data) {
console.log(data)
this.setHistor(this.courseId, this.videoList[this.current].courseDetailsId, true)
// data.h5Url 跳转地址
this.showMoney = false //显示充值弹窗
uni.setStorageSync('noBuyVideoIndex', this.current)
@@ -1305,10 +1320,10 @@
});
// #endif
// #ifdef H5
window.location.href = data.h5Url
// #endif
cacheClear(['renwu','user'])
cacheClear(['renwu', 'user'])
},
//自组件关闭的回调
@@ -1332,9 +1347,7 @@
this.$Request.getT((num && num == 10) ? '/app/order/insertCourseOrders/limit10' :
'/app/order/insertCourseOrders', data).then(res => {
if (res.code == 0) {
if ( res.status && res.status == 1) {
if (res.status && res.status == 1) {
this.showPay = false //关闭购买选择弹窗
this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,
true);
@@ -1353,11 +1366,11 @@
this.showMoney = true //显示充值弹窗
}
}
} else {
this.isOrder = true
uni.showToast({
title: res.msg,
icon: 'none'
@@ -1415,16 +1428,23 @@
//收藏
shoucang() {
if (uni.getStorageSync('token')) {
this.isCollect=!this.isCollect
let data = {
courseId: this.courseId,
classify: 1,
type: this.isCollect == false ? 1 : 0
}
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
this.getMyLoveStatus()
}
})
clearTimeout(this.zhuijuTimer)
this.zhuijuTimer = setTimeout(() => {
clearTimeout(this.zhuijuTimer)
this.zhuijuTimer = null;
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
// this.getMyLoveStatus()
}
})
}, 500)
} else {
uni.navigateTo({
url: "/pages/login/login"
@@ -1441,17 +1461,24 @@
classify: 2,
type: item.isGood == 0 ? 1 : 0
}
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
if (data.type == 1) {
item.isGood = 1
item.goodNum += 1
} else {
item.isGood = 0
item.goodNum -= 1
if (data.type == 1) {
item.isGood = 1
item.goodNum += 1
} else {
item.isGood = 0
item.goodNum -= 1
}
clearTimeout(this.dianzanTimer)
this.dianzanTimer = null
this.dianzanTimer = setTimeout(() => {
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
if (res.code == 0) {
}
}
})
})
}, 500)
} else {
uni.navigateTo({
url: "/pages/login/login"
@@ -1500,18 +1527,17 @@
this.$forceUpdate()
},
//选择播放
selectPlay(item,type) {//price //videoUrl
selectPlay(item, type) { //price //videoUrl
// 根据选择的courseDetailsId拿到meunList列表中的相同数据的下标
const index = this.meunList.findIndex(menu => menu.courseDetailsId === item.courseDetailsId);
this.videoList = [this.meunList[index]]
this.current = 0
if ( this.videoList[this.current].videoUrl == '' && this.videoList[this.current].price <= 0 && !type ) {
if (this.videoList[this.current].videoUrl == '' && this.videoList[this.current].price <= 0 && !type) {
this.getDataList(this.courseId, this.courseDetailsId, true, 'select')
return;
}
//重新计算一下当前观看的是哪个视频
this.comNumVideo()
this.setWxUrl()
// 把选择的视频的自动播放设置为true
this.videoList[this.current].autoPlay = true
//让当前选择的视频播放
@@ -1541,33 +1567,24 @@
},
// 资源详情
getDataList(id, courseDetailsId, type, t) {
console.log('getDataList');
let data = {
id,
token: uni.getStorageSync('token') ? uni.getStorageSync('token') : ''
courseId: id
}
// // #ifdef MP-WEIXIN
// data.courseDetailsId = courseDetailsId
// // #endif
this.$u.api.selectCourseDetailsById(data).then(res => {
if (res.code == 0) {
this.isCollect = res.data.collect ? true : false;
console.log(this.isCollect);
if (res.data && res.data.dyCourseId) {
this.dyCourseId = "" + res.data.dyCourseId;
console.log("dyCourseId__" + this.dyCourseId)
}
if( res.data && res.data.courseDetailsId && !this.courseDetailsId && !courseDetailsId) {
if (res.data && res.data.courseDetailsId && !this.courseDetailsId && !courseDetailsId) {
this.courseDetailsId = res.data.courseDetailsId
courseDetailsId = res.data.courseDetailsId
}
if (res.data && res.data.isCollect && res.data.isCollect > 0) {
this.isCollect = true
} else {
this.isCollect = false
}
if (res.data.listsDetail) {
if (res.data.list) {
this.info = res.data
this.title = this.info.title
let arr = res.data.listsDetail
let arr = res.data.list
arr.map((item, index) => {
item.num = index + 1
// #ifdef MP-TOUTIAO
@@ -1592,7 +1609,6 @@
this.videoList[this.current].videoUrl = item.videoUrl
//自动播放
this.startPlay(this.current)
this.setWxUrl()
return true
}
})
@@ -1647,7 +1663,7 @@
}
} else if (Number(indexs) === Number(this.meunList.length - 1)) { //倒数第二条
console.log("倒数第二条")
console.log("倒数第二条")
if (this.meunList.length == 1) { //只有一条
this.videoList = this.meunList.slice(0,
3)
@@ -1669,7 +1685,7 @@
} else {
console.log("如果不是最后一条,也不是倒数第二条")
//如果不是最后一条,也不是倒数第二条,则从找到的位置开始往后拿三条数据放入数组
if ( indexs == 0 ) {
if (indexs == 0) {
this.videoList = [
this.meunList[this.meunList
.length - 2],
@@ -1677,7 +1693,7 @@
.length - 1],
this.meunList[0],
]
} else if ( indexs == 1) {
} else if (indexs == 1) {
this.videoList = [
this.meunList[this.meunList
.length - 1],
@@ -1685,10 +1701,10 @@
this.meunList[1],
]
} else {
this.videoList = this.meunList.slice(indexs-2,
indexs-2 + 3)
this.videoList = this.meunList.slice(indexs - 2,
indexs - 2 + 3)
}
}
} else {
//没找到直接拿前三条数据即可
@@ -1696,17 +1712,14 @@
}
} else { //新的视频
// //视频数组//直接拿前三条
this.videoList = this.meunList.slice(0, 3)
indexs = 0
}
console.log(this.videoList);
this.videoList.map((item, index) => {
if (item.courseDetailsId == courseDetailsId) {
this.current = index
}
})
const currentIndex = this.videoList.findIndex(v => v.courseDetailsId == (
courseDetailsId ? courseDetailsId : res.data.current.courseDetailsId))
this.current = currentIndex == -1 ? 0 : currentIndex
//重新计算当前在播放哪个视频
this.comNumVideo()
if (indexs != -1 && this.meunList.length > 0) {
@@ -1741,7 +1754,6 @@
this.setHistor(this.videoList[this.current].courseId, this.videoList[this.current]
.courseDetailsId)
this.$nextTick(() => {
this.setWxUrl()
if (!this.videoList[this.current].videoUrl) { //不能播放的显示购买弹窗
this.zongPrice = this.info.price
this.countPrice = this.videoList[this.current].price
@@ -1751,8 +1763,8 @@
})
if ( t == 'select') {
this.selectPlay(this.videoList[this.current],true)
if (t == 'select') {
this.selectPlay(this.videoList[this.current], true)
}
}
} else {
@@ -1765,32 +1777,27 @@
})
},
setWxUrl() {
// // #ifdef MP-WEIXIN
// if (!this.videoList[this.current].wxUrl) {
// let data = {
// wxCourseDetailsIds: this.videoList[this.current].wxCourseDetailsId
// }
// this.$Request.postJson('/app/course/selectWxVideoUrl', data).then(res => {
// if (res.code == 0 && res.data) {
// this.videoList[this.current].wxUrl = res.data[0].mp4_url
// }
// })
// }
// // #endif
},
setHistor(courseId, courseDetailsId) {
if (uni.getStorageSync('token')) {
let data = {
courseId: courseId,
courseDetailsId: courseDetailsId,
classify: 3,
type: 1
}
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {})
setHistor(courseId, courseDetailsId, now = false) {
let data = {
courseId: courseId,
courseDetailsId: courseDetailsId,
classify: 3,
type: 1
}
if (uni.getStorageSync('token')) {
clearTimeout(this.timer)
if (now) {
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
})
return
}
this.timer = setTimeout(() => {
this.$Request.postJson('/app/courseCollect/insertCourseCollect', data).then(res => {
})
}, 3000)
}
},
//swiper上下切换事件
change(e) {
@@ -1852,12 +1859,12 @@
}
}
//考虑向下滑动
console.log(current+"---"+this.current)
console.log(current + "---" + this.current)
if ((current == 0 && this.current == 2) || (current == 0 && this.current ==
0)) { //是否滑动到第一条虽然刚进入页面current为0但是首次不触发
//拿出当前的courseDetailsId
console.log(this.videoList)
let courseDetailsId =this.videoList[2].courseDetailsId
let courseDetailsId = this.videoList[2].courseDetailsId
// if ( this.videoList.length > 1) {
// courseDetailsId = this.videoList[2].courseDetailsId
// } else {
@@ -1914,27 +1921,30 @@
}
this.$nextTick(() => {
//插入历史记录
this.setHistor(this.videoList[this.current].courseId, this.videoList[this.current]
.courseDetailsId)
this.setWxUrl()
clearTimeout(this.timer)
const {
courseId,
courseDetailsId,
videoUrl
} = this.videoList[this.current]
if (videoUrl) {
this.setHistor(courseId, courseDetailsId)
}
// #ifndef MP-TOUTIAO
// 把选择的视频的自动播放设置为true
this.videoList[this.current].autoPlay = true
//让当前选择的视频播放
this.startPlay(this.current)
// #endif
//更新视图
this.$forceUpdate()
})
},
startPlay(current) {
console.log(222222)
if (this.videoContext) { //判断之前是否有视频的上下文
this.videoContext.stop()
this.videoContext = null
}
console.log(this.videoList[current])
let numIdCurr = this.videoList[current].courseDetailsId
if (this.videoList[current].videoUrl) { //已经购买可直接播放
// 播放时记录当前播放的id
@@ -1946,7 +1956,6 @@
//播放当前的
this.videoContext.play()
this.$forceUpdate()
this.setWxUrl()
})
}
} else { //没有视频链接则表示没有权限,需要购买 弹出购买弹窗
@@ -1957,23 +1966,23 @@
}
},
//播放时的回掉
videoPlay(videoId) {
videoPlay(videoId, courseDetailsId) {
// this.courseDetailsId = courseDetailsId
if (!this.playFlag) {
if ( this.isGetDataList) {
this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,true);
if (this.isGetDataList) {
this.getDataList(this.courseId, courseDetailsId, true);
}
this.isGetDataList = true;
this.playFlag = true
this.$Request.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.videoList[this.current].courseDetailsId,
courseDetailsId: courseDetailsId,
type: 'start'
}).then(res => {
console.log('播放开始')
})
}
},
//监听视频播放完成
ended() {