抽奖修改

This commit is contained in:
GaoHao
2024-12-24 17:38:44 +08:00
parent 06d0ff416d
commit 36dc91df60
4 changed files with 59 additions and 65 deletions

View File

@@ -578,7 +578,7 @@
console.log(this.playFlag)
// this.courseDetailsId = courseDetailsId
if (!this.playFlag) {
this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,true);
// this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,true);
this.playFlag = true
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,

View File

@@ -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;">
@@ -199,22 +199,10 @@
{{getRedEnvelopeTips}}
</view>
<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}}元解锁全剧
</view>
</view>
<view class="list-item" v-if="info&&info.wholesalePrice">
<view class="list-item-box flex align-center justify-center" @click="payVideo(2,10)">
<image src="../../static/images/me/rmIcon.png" mode=""></image>
{{info.wholesalePrice}}元解锁10集视频
</view>
</view>
<view class="list-item" v-if="zhengbu === '是' && isWxIosPay == true">
<view class="list-item-box flex align-center justify-center" @click="payVideo(1)">
<image src="../../static/images/me/rmIcon.png" mode=""></image>
{{countPrice*scale}}金币解锁单集视频
{{countPrice*scale}}金币解锁单集视频
</view>
</view>
<view class="list-item" v-if="danbu === '是' && isWxIosPay == true">
@@ -666,7 +654,7 @@
},
onShow() {
console.log('onSHow video');
//当应用从后台进入前台时自动播放
if (this.videoContext) {
this.videoContext.play()
@@ -760,7 +748,7 @@
this.meunTop = 37
// #endif
// const windowResizeCallback = (res) => {
// console.log('变化后的窗口宽度=' + res.size.windowWidth)
// console.log('变化后的窗口高度=' + res.size.windowHeight)
@@ -856,7 +844,7 @@
event.preventDefault();
},
//点击封面打开弹窗
openShowPay(val, inx, url) {
openShowPay(val,inx,url) {
console.log(val)
console.log(inx)
console.log(url)
@@ -1268,11 +1256,10 @@
},
/**
* @param {Object} type 类型
* @param {Object} num 集数
* 1:购买整部视频
* 2:购买单集视频
*/
payVideo(type, num) {
payVideo(type) {
if (uni.getStorageSync('token')) {
// #ifdef MP-TOUTIAO
if (!this.checked) {
@@ -1283,7 +1270,7 @@
return
}
// #endif
this.submitPay(type, num)
this.submitPay(type)
} else {
uni.navigateTo({
url: "/pages/login/login"
@@ -1313,15 +1300,13 @@
this.showMoney = data
},
//使用金币购买
submitPay(type, num) {
submitPay(type) {
let data = {
courseId: this.courseId
}
if(!num){
//单集解锁
data.courseDetailsId = this.videoList[this.current].courseDetailsId
}
this.$Request.getT((num && num == 10)?'/app/order/insertCourseOrders/limit10': '/app/order/insertCourseOrders', data).then(res => {
data.courseDetailsId = this.videoList[this.current].courseDetailsId
this.$Request.getT('/app/order/insertCourseOrders', data).then(res => {
if (res.code == 0) {
this.ordersId = res.data.orders.ordersId //记录订单id
this.payMoney = res.data.orders.payMoney //记录订单价格
@@ -1337,7 +1322,7 @@
}
} else {
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);
@@ -1483,12 +1468,12 @@
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;
}
@@ -1588,8 +1573,8 @@
let indexs = -1
if (courseDetailsId) { //从记录进来的
console.log(courseDetailsId)
console.log(this.meunList)
console.log(courseDetailsId)
console.log(this.meunList)
this.meunList.map((item, index) => {
if (item.courseDetailsId == courseDetailsId) {
indexs = index
@@ -1598,7 +1583,7 @@
console.log(indexs)
if (indexs != -1) { //找到了
if (Number(indexs + 1) === this.meunList.length) { //最后一条
console.log("最后一条")
console.log("最后一条")
if (this.meunList.length == 1) { //只有一条
this.videoList = this.meunList.slice(0,
3)
@@ -1617,7 +1602,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)
@@ -1639,7 +1624,7 @@
} else {
console.log("如果不是最后一条,也不是倒数第二条")
//如果不是最后一条,也不是倒数第二条,则从找到的位置开始往后拿三条数据放入数组
if (indexs == 0) {
if ( indexs == 0 ) {
this.videoList = [
this.meunList[this.meunList
.length - 2],
@@ -1647,7 +1632,7 @@
.length - 1],
this.meunList[0],
]
} else if (indexs == 1) {
} else if ( indexs == 1) {
this.videoList = [
this.meunList[this.meunList
.length - 1],
@@ -1655,10 +1640,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 {
//没找到直接拿前三条数据即可
@@ -1666,7 +1651,7 @@
}
} else { //新的视频
// //视频数组//直接拿前三条
this.videoList = this.meunList.slice(0, 3)
indexs = 0
@@ -1721,8 +1706,8 @@
})
if (t == 'select') {
this.selectPlay(this.videoList[this.current], true)
if ( t == 'select') {
this.selectPlay(this.videoList[this.current],true)
}
}
} else {
@@ -1921,15 +1906,21 @@
},
//播放时的回掉
videoPlay(videoId) {
this.$Request.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
type: 'start'
}).then(res => {
console.log(courseDetailsId)
console.log(this.playFlag)
// this.courseDetailsId = courseDetailsId
if (!this.playFlag) {
this.getDataList(this.courseId, this.videoList[this.current].courseDetailsId,true);
this.playFlag = true
console.log('播放开始')
})
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: courseDetailsId,
type: 'start'
}).then(res => {
console.log('播放开始')
})
}
},
//监听视频播放完成
ended() {

View File

@@ -12,16 +12,17 @@
>{{item.label}}</view>
</view>
<view class="item" v-for="(item,index) in list" :key="index">
<view class="color-666 u-font-24">中奖时间 2024-09-11 10:20:11</view>
<view class="color-666 u-font-24">{{tabIndex==1?'中奖时间':'兑换时间'}} {{item.createTime}}</view>
<view class="u-m-t-24 u-flex u-row-between">
<view class="u-flex-1 u-flex u-col-top">
<u-image width="128rpx" height="128rpx" src="/static/red-pack.png"></u-image>
<!-- <u-image width="128rpx" height="128rpx" src="/static/red-pack.png"></u-image> -->
<view class="u-m-l-16">
<view>大额红包</view>
<view class="color-999 u-font-24 u-m-t-16">×1</view>
<view v-if="tabIndex == 1">{{item.name}}</view>
<view v-else>{{item.prizeName}}</view>
<view v-if="tabIndex == 1" class="color-999 u-font-24 u-m-t-16">×{{item.number}}</view>
</view>
</view>
<view class="">
<view class="" v-if="tabIndex==1&&item.targetId&&item.type==3">
<view class="btn-circle duihuan" @click="toDuiHuan(item)">立即兑换</view>
<!-- <view class="btn-circle duihuan finish">已完成</view> -->
</view>
@@ -47,8 +48,8 @@
tab: [{label: '抽奖记录', type: 1},{label: '兑换记录', type: 2}],
tabIndex: 1,
query: {
page: 10,
limit: 1,
page: 1,
limit: 10,
source: 1,
},
total: 0,
@@ -59,10 +60,11 @@
},
onLoad(options) {
if ( options.source ) {
this.query.source = options.source
this.query.source = 2
}
},
onShow() {
this.list = [];
this.getList()
},
methods: {
@@ -86,18 +88,20 @@
this.$Request.getT(url, this.query).then(res => {
if (res.code == 0 ) {
if ( this.tabIndex == 1) {
this.list = res.data.records
this.list = [...this.list,...res.data.records]
this.total = res.data.total
} else {
this.list = res.page.list
this.list = [...this.list,...res.page.list]
this.total = res.page.totalCount
}
}
})
},
onReachBottom: function () {
if (this.page * this.limit < this.total) {
this.page = this.page + 1;
console.log(this.query.page)
console.log(this.query.limit)
if (this.query.page * this.query.limit < this.total) {
this.query.page = this.query.page + 1;
this.getList();
}
},

View File

@@ -229,8 +229,7 @@
if (item.jumpType == 0) {
if (item.buttonTitle.indexOf("领取") != -1) {
this.taskReceive(item.id)
}
if (item.buttonTitle.indexOf("观看视频") != -1) {
} else if (item.buttonTitle.indexOf("观看视频") != -1) {
// 首次加载广告
this.urlCallback = {
userId: uni.getStorageSync('userId'),