XSLu08042 vor 2 Tagen
Ursprung
Commit
f6425e35cf

+ 1 - 0
common/request.js

@@ -11,6 +11,7 @@ export default class Request {
 		let pathType = 0
 		if (url != null) {
 			path = url;
+			// path= 'http://f83b9428.natappfree.cc';
 			pathType = 1
 			token = uni.getStorageSync('AppTokenmini_RTCourse')
 		} else {

+ 5 - 3
pages_course/components/treasureChest.vue

@@ -132,9 +132,11 @@
 			autoHide() {
 				clearInterval(this.timer)
 				this.fadeOut = true
-
-				// 标记已打开
-				this.claim(2)
+				if(this.isfull) {
+					this.claim(2)
+				} else {
+					this.claim(0)
+				}
 				setTimeout(() => {
 					this.showBox = false
 				}, 600)

+ 397 - 0
pages_course/components/turntableOne.vue

@@ -0,0 +1,397 @@
+<template>
+	<uni-popup ref="turntablePopup" type="center" :is-mask-click="false">
+		<view class="turntable">
+			<image class="bg" src="https://cos.his.cdwjyyh.com/fs/20250910/9a6263291ec0429ea5828a15b2b490dc.png" mode="aspectFit"></image>
+			<view class="turntable-con">
+				<image class="text" src="https://cos.his.cdwjyyh.com/fs/20250910/fc08b64307a344b4948568fa0f81401e.png" mode="heightFix"></image>
+				<image class="base" src="https://cos.his.cdwjyyh.com/fs/20250910/9385e4a6d5e245dfb86f425f49235589.png" mode="aspectFit"></image>
+				<image class="decoration_img" src="https://cos.his.cdwjyyh.com/fs/20250910/86577ed4fc50420d99b1153e2dd6e1df.png" mode="aspectFit"></image>
+				<view class="ring">
+					<view class="canvas-content" :class="{'infinite-spin': spinning}">
+						<view :animation="animationData" class="canvas-content" id="zhuanpano" style="">
+							<view class="canvas-line">
+								<!-- <canvas canvas-id="sector" style="width:502rpx;height:502rpx" /> -->
+								<view class="canvas-litem" v-for="(item,index) in list" :key="index"
+									:style="{transform:'rotate('+(index * width + width / 2)+'deg)'}"></view>
+							</view>
+
+							<view class="canvas-list">
+								<view class="canvas-item"
+									:style="{transform: 'rotate('+((index) * width)+'deg)', zIndex:index}"
+									v-for="(iteml,index) in list" :key="index">
+									<view class="canvas-item-text" :style="'transform:rotate('+(index)+')'">
+										<view class="b">{{iteml.name}}</view>
+										<image class="icon-awrad iconfont" :src="iteml.iconUrl" mode="aspectFit">
+										</image>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+					<image class="button" src="https://cos.his.cdwjyyh.com/fs/20250910/d05462c59e7f4ab98e5205b7f8172325.png" mode="aspectFit" @click="playReward">
+					</image>
+				</view>
+				<image class="ring_bg" src="https://cos.his.cdwjyyh.com/fs/20250910/41bea8eda62e484d94a19f18316e509b.png" mode="aspectFit"></image>
+			</view>
+		</view>
+		<image class="close" src="https://cos.his.cdwjyyh.com/fs/20250910/93608bad8ad1479a854ec26e8eaaacea.png" @click="close"></image>
+	</uni-popup>
+</template>
+
+<script>
+	import {
+		getVideoRewardRules
+	} from "@/api/course.js"
+	export default {
+		data() {
+			return {
+				running: false,
+				spinning: false, // 是否处于无限旋转
+				list: [],
+				width: 0,
+				animationData: {},
+				btnDisabled: '',
+				runDeg: 0,
+				targetIdx: -1,
+				duration: 1000,
+				currentDeg: 0, // 实时角度
+				idleTimer: null,
+				animationRun: null
+			}
+		},
+		methods: {
+			getVideoRewardRules(urlOption) {
+				const param = {
+					type: 3,
+					...urlOption
+				}
+				getVideoRewardRules(param).then(res => {
+					if (res.code == 200) {
+						this.list = res.data || []
+						this.width = 360 / this.list.length;
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none'
+						})
+					}
+				})
+			},
+			open(urlOption) {
+				this.animationRun = uni.createAnimation({
+					duration: 0
+				});
+				this.animationRun.rotate(0).step();
+				this.animationData = this.animationRun.export();
+				this.running = false
+				this.spinning = false;
+				clearInterval(this.idleTimer);
+				this.runDeg = 0
+				this.targetIdx = -1
+				this.$refs.turntablePopup.open()
+				this.getVideoRewardRules(urlOption)
+			},
+			close(type) {
+				if (type == 'close') {
+					this.running = false
+					this.spinning = false;
+					clearInterval(this.idleTimer);
+				}
+				if (this.running) {
+					uni.showToast({
+						title: '抽取中,请勿关闭',
+						icon: 'none'
+					})
+					return
+				}
+				this.$refs.turntablePopup.close()
+			},
+			drawFanWithAlternateColor(id, x, y, r, count) {
+				const ctx = uni.createCanvasContext(id, this);
+				const sweep = 360 / count; // 每份角度
+				let start = -90 - sweep / 2; // 第一个扇形起始角度(deg)
+
+				for (let i = 0; i < count; i++) {
+					const end = start + sweep; // 结束角度
+					let color;
+					color = i % 2 === 0 ? '#FFDFD3' : '#FFF';
+
+					ctx.beginPath();
+					ctx.moveTo(x, y);
+					ctx.arc(
+						x, y, r,
+						(start * Math.PI) / 180,
+						(end * Math.PI) / 180
+					);
+					ctx.closePath();
+					ctx.setFillStyle(color);
+					ctx.fill();
+
+					start = end; // 下一个扇形接着画
+				}
+
+				ctx.draw();
+			},
+			animation(index = null) {
+				//中奖index
+				let list = this.list;
+				let runNum = 1; //旋转8周
+
+				// 旋转角度
+				this.runDeg = this.runDeg || 0;
+				this.runDeg = this.runDeg + (360 - this.runDeg % 360) + (360 * runNum - index * (360 / list.length)) + 1
+				
+				// const a = 360 / list.length;
+				//    this.runDeg = this.currentDeg + 360 * 4  + (360 - this.currentDeg % 360)  - index * a + 1;      
+				//创建动画
+				this.animationRun = uni.createAnimation({
+					duration: this.duration,
+					timingFunction: 'ease'
+				})
+				console.log("=====animationRun=", this.animationRun)
+				this.animationRun.rotate(this.runDeg).step();
+				this.animationData = this.animationRun.export();
+			},
+			//发起抽奖
+			playReward() {
+				if (this.running) {
+					uni.showToast({
+						title: '抽取中',
+						icon: 'none'
+					})
+					return
+				}
+				this.running = true
+				this.startIdle();
+				this.$emit('sendRewardFun',3)
+				// setTimeout(() => {
+				// 	this.endSuccess()
+				// }, 2000)
+			},
+			startIdle() {
+				this.spinning = true; // 打开 CSS 动画
+				// 同时用定时器记录角度,方便后面衔接
+				this.idleTimer = setInterval(() => {
+					this.runDeg = (this.runDeg + 36) % 360; // 每 100ms 走 6°
+				}, 100);
+			},
+			endSuccess(code) {
+				// this.targetIdx = this.list.findIndex(it=>it.code == code)
+				this.targetIdx = 4
+				const that = this
+				this.spinning = false;
+				clearInterval(this.idleTimer);
+				if (this.targetIdx == -1) {
+					uni.showToast({
+						title: '抽奖失败',
+						icon: 'none'
+					})
+					this.running = false;
+					return
+				}
+				this.animation(this.targetIdx)
+				setTimeout(() => {
+					this.running = false;
+					uni.showModal({
+						title: '恭喜,中奖',
+						content: this.list[this.targetIdx].name,
+						showCancel: false,
+						success: function(res) {
+							if (res.confirm) {
+								that.$refs.turntablePopup.close()
+								that.$emit("openAppPop")
+							} else if (res.cancel) {
+								that.$refs.turntablePopup.close()
+								that.$emit("openAppPop")
+							}
+						}
+					});
+				}, this.duration + 1000)
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	@keyframes spin {
+		from {
+			transform: rotate(0deg);
+		}
+
+		to {
+			transform: rotate(360deg);
+		}
+	}
+
+	.infinite-spin {
+		animation: spin 1s linear infinite;
+	}
+
+	.close {
+		width: 64rpx;
+		height: 64rpx;
+		margin: 24rpx auto 0 auto;
+		display: block;
+	}
+
+	.turntable {
+		position: relative;
+		width: 660rpx;
+		height: 880rpx;
+
+		.bg {
+			width: 660rpx;
+			height: 880rpx;
+			position: absolute;
+			top: 0;
+			left: 0;
+		}
+
+		&-con {
+			width: 660rpx;
+			height: 880rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			position: relative;
+			z-index: 2;
+		}
+
+		.text {
+			width: 520rpx;
+			height: 104rpx;
+			margin-top: 47rpx;
+		}
+
+		.base {
+			width: 451rpx;
+			height: 177rpx;
+			position: absolute;
+			bottom: 55rpx;
+			left: 50%;
+			transform: translateX(-50%);
+			z-index: 3;
+		}
+
+		.decoration_img {
+			width: 637rpx;
+			height: 592rpx;
+			position: absolute;
+			bottom: 85rpx;
+			left: 50%;
+			transform: translateX(-50%);
+			z-index: 4;
+		}
+
+		.ring {
+			width: 502rpx;
+			height: 502rpx;
+			background: #FFFDFD;
+			border-radius: 50%;
+			position: relative;
+			margin-top: 79rpx;
+			z-index: 9;
+		}
+
+		.button {
+			width: 158rpx;
+			height: 200rpx;
+			position: absolute;
+			top: calc(50% - 21rpx);
+			left: 50%;
+			transform: translate(-50%, -50%);
+			z-index: 99;
+		}
+
+		.ring_bg {
+			width: 620rpx;
+			height: 620rpx;
+			position: absolute;
+			bottom: 74rpx;
+			left: 50%;
+			transform: translateX(-50%);
+			z-index: 6;
+		}
+
+		.canvas-content {
+			position: absolute;
+			left: 0;
+			top: 0;
+			z-index: 1;
+			display: block;
+			width: 502rpx;
+			height: 502rpx;
+			border-radius: inherit;
+			/* background-clip: padding-box; */
+			/* background-color: #ffcb3f; */
+		}
+
+		.icon-awrad {
+			width: 72rpx;
+			height: 72rpx;
+			margin-top: 10rpx;
+			object-fit: contain;
+		}
+
+		.canvas-list {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: inherit;
+			height: inherit;
+			z-index: 99;
+		}
+
+		.canvas-item {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			color: #e4370e;
+			/* text-shadow: 0 1rpx 1rpx rgba(255, 255, 255, 0.6); */
+		}
+
+		.canvas-item-text {
+			position: relative;
+			display: block;
+			padding-top: 14rpx;
+			margin: 0 auto;
+			text-align: center;
+			-webkit-transform-origin: 50% 251rpx;
+			transform-origin: 50% 251rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			color: #F72F26;
+			font-weight: 500;
+			font-size: 24rpx;
+		}
+
+		.canvas-item-text text {
+			font-size: 30rpx;
+		}
+
+		/* 分隔线 */
+		.canvas-line {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: inherit;
+			height: inherit;
+			z-index: 99;
+		}
+
+		.canvas-litem {
+			position: absolute;
+			left: 251rpx;
+			top: 0;
+			width: 1rpx;
+			height: 251rpx;
+			background-color: #FF4D2C;
+			overflow: hidden;
+			-webkit-transform-origin: 50% 251rpx;
+			transform-origin: 50% 251rpx;
+		}
+	}
+</style>

+ 280 - 0
pages_course/components/turntableTwo.vue

@@ -0,0 +1,280 @@
+<template>
+	<uni-popup ref="turntablePopup" type="center" :is-mask-click="false">
+		<view class="turntable">
+			<image class="turntable-bg" src="https://cos.his.cdwjyyh.com/fs/20250910/de386927c5f44e02ab3ecc480ddb9797.png" mode="aspectFit"></image>
+			<view class="turntable-box">
+				<view class="turntable-wrap">
+					<view class="turntable-item" :class="{ active: idx == light,disabled: item.isReceive }"
+						v-for="(item,idx) in cells" :key="idx">
+						<image :src="item.iconUrl" mode="aspectFit"></image>
+						<view class="ellipsis">{{item.name}}</view>
+					</view>
+				</view>
+			</view>
+			<image class="close" src="https://cos.his.cdwjyyh.com/fs/20250910/93608bad8ad1479a854ec26e8eaaacea.png" @click="close"></image>
+			<view class="btn-box">
+				<image src="https://cos.his.cdwjyyh.com/fs/20250910/fe230bfdf74f4f0dac88af53f709d6c5.png" mode="widthFix" :class="isReceive==1 ?'gray':''" @click="start"></image>
+			</view>
+		</view>
+	</uni-popup>
+</template>
+
+<script>
+	import {getVideoRewardRules} from "@/api/course.js"
+	export default {
+		data() {
+			return {
+				baseUrl: uni.getStorageSync('requestImagesPath'),
+				light: -1,
+				running: false,
+				targetIdx: -1,
+				total: 0,
+				speed: 150,
+				cells:[],
+				timer: null,
+				isReceive: 0,
+			}
+		},
+		computed: {
+			// 剩余可用索引
+			availIdx() {
+				return this.cells.map((_, i) => i).filter(i => !this.cells[i].isReceive)
+			},
+			// 是否全部抽完
+			allDone() {
+				return this.availIdx.length === 0
+			}
+		},
+		methods: {
+			getVideoRewardRules(urlOption) {
+				const param = {
+					type: 4,
+					...urlOption
+				}
+				getVideoRewardRules(param).then(res=>{
+					if(res.code == 200) {
+						this.cells = res.data || []
+						this.total = this.cells.length
+						this.isReceive = this.cells.every(item => item.isReceive == true)? 1 :0
+					}else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none'
+						})
+					}
+				})
+			},
+			open(urlOption) {
+				this.$refs.turntablePopup.open()
+				this.getVideoRewardRules(urlOption)
+			},
+			close(type) {
+				if(type=='close') {
+					this.running = false
+					clearInterval(this.timer)
+				}
+				if (this.running) {
+					uni.showToast({
+						title: '抽取中,请勿关闭',
+						icon: 'none'
+					})
+					return
+				}
+				this.$refs.turntablePopup.close()
+			},
+			start() {
+				if (this.running) {
+					uni.showToast({
+						title: '抽取中',
+						icon: 'none'
+					})
+					return
+				}
+				if(this.isReceive == 1) return
+				this.running = true
+				clearInterval(this.timer)
+				let last = -1
+				if(this.availIdx.length >1) {
+					this.timer = setInterval(() => {
+						let next;
+						do {
+						  next = this.availIdx[Math.floor(Math.random() * this.availIdx.length)];
+						} while (next === last);
+						last = next;
+						this.light = next;
+					}, this.speed)
+				}
+				this.$emit('sendRewardFun',4)
+			},
+			endSuccess(code) {
+				this.targetIdx = this.cells.findIndex(it=>it.code == code)
+				clearInterval(this.timer)
+				this.timer = null
+				if(this.targetIdx==-1) {
+					uni.showToast({
+						title: '抽奖失败',
+						icon: 'none'
+					})
+					return
+				}
+				const totalSteps = 2 // 约 3s / 80ms
+				let step = 0
+				let last = -1
+				const that = this
+				if(this.availIdx.length <= 1) {
+					this.light = this.targetIdx
+					this.running = false
+					this.isReceive = 1
+					uni.showModal({
+						title: '恭喜,中奖',
+						content: this.cells[this.targetIdx].name,
+						showCancel: false,
+						success: function (res) {
+							if (res.confirm) {
+								that.$refs.turntablePopup.close()
+								that.$emit("openAppPop")
+							} else if (res.cancel) {
+								that.$refs.turntablePopup.close()
+								that.$emit("openAppPop")
+							}
+						}
+					});
+					return
+				}
+				this.timer = setInterval(() => {
+					let next
+					do {
+						next = this.availIdx[Math.floor(Math.random() * this.availIdx.length)]
+					} while (next === last)
+					last = next
+					this.light = next
+					step++
+				
+					if (step >= totalSteps) {
+						clearInterval(this.timer)
+						this.light = this.targetIdx
+						// 置灰
+						this.running = false
+						this.isReceive = 1
+						setTimeout(()=>{
+							uni.showModal({
+								title: '恭喜,中奖',
+								content: this.cells[this.targetIdx].name,
+								showCancel: false,
+								success: function (res) {
+									if (res.confirm) {
+										that.$refs.turntablePopup.close()
+										that.$emit("openAppPop")
+									} else if (res.cancel) {
+										that.$refs.turntablePopup.close()
+										that.$emit("openAppPop")
+									}
+								}
+							});
+						},500)
+						// this.cells[this.targetIdx].isReceive = true
+					}
+				}, this.speed)
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.gray {
+	  filter: grayscale(1);   /* 1 = 100% 灰度 */
+	}
+	.close {
+		width: 64rpx;
+		height: 64rpx;
+		position: absolute;
+		top:  88rpx;
+		right: 20rpx;
+		z-index: 2;
+	}
+
+	.active {
+		transform: scale(1.05);
+		background: linear-gradient(0deg, #FFD44F 0%, #FFFABD 100%) !important;
+		box-shadow: 0rpx 2rpx 0rpx 0rpx #FFFCF5 !important;
+	}
+
+	.disabled {
+		filter: grayscale(1) brightness(0.7);
+		opacity: 0.5;
+	}
+
+	.btn-box {
+		width: 540rpx;
+		height: 104rpx;
+		position: absolute;
+		bottom: 46rpx;
+		left: 50%;
+		transform: translateX(-50%);
+		z-index: 2;
+
+		image {
+			width: 100%;
+			height: auto;
+		}
+	}
+
+	.turntable {
+		width: 750rpx;
+		height: 1056rpx;
+		position: relative;
+		&-bg {
+			width: 100%;
+			height: 100%;
+			position: absolute;
+			top: 0;
+			left: 0;
+			z-index: 1;
+		}
+
+		&-box {
+			position: absolute;
+			bottom: 174rpx;
+			left: 50%;
+			transform: translateX(-50%);
+			z-index: 2;
+			width: 623rpx;
+			height: 628rpx;
+			padding: 16rpx 0 8rpx 16rpx;
+			box-sizing: border-box;
+		}
+
+		&-wrap {
+			display: flex;
+			flex-wrap: wrap;
+		}
+
+		&-item {
+			width: 112rpx;
+			height: 112rpx;
+			background: linear-gradient(0deg, #FCEFCA 0%, #FFFFFF 100%);
+			border-radius: 16rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			font-size: 20rpx;
+			color: #333333;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			flex-direction: column;
+			margin: 0 8rpx 8rpx 0;
+			transition: transform 0.2s, box-shadow 0.2s;
+
+			image {
+				width: 45rpx;
+				height: 63rpx;
+			}
+
+			.ellipsis {
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+		}
+	}
+</style>

+ 55 - 39
pages_course/video.vue

@@ -204,7 +204,7 @@
 						<label class="reward-list-option" v-for="(item, index) in rewardType" :key="item.value">
 							<radio :value="item.value+ ''" :checked="item.value == currentReward"
 								activeBorderColor="#FF5C03" activeBackgroundColor="#FF5C03"
-								style="transform:scale(0.7)" />
+								style="transform:scale(0.7)" color="#FF5C03" />
 							<view :style="{color: item.value == currentReward ? '#FF5C03':''}">{{item.name}}</view>
 						</label>
 					</radio-group>
@@ -258,10 +258,14 @@
 				<button class="send" @click="handleChatInput">发送</button>
 			</view>
 		</view>
+		<turntableOne ref="turntableOne" @sendRewardFun="sendRewardFun" @openAppPop="openAppPop"></turntableOne>
+		<turntableTwo ref="turntableTwo" @sendRewardFun="sendRewardFun" @openAppPop="openAppPop"></turntableTwo>
 	</view>
 </template>
 
 <script>
+	import turntableOne from "./components/turntableOne.vue"
+	import turntableTwo from "./components/turntableTwo.vue"
 	import appPopup from "./components/appPopup.vue"
 	import treasureChest from "./components/treasureChest.vue"
 	import networkError from "./components/networkError.vue"
@@ -287,7 +291,6 @@
 		getConfigByKey,
 		claim,
 		getVideoRewardTypes,
-		getVideoRewardRules
 	} from "@/api/course.js"
 	export default {
 		components: {
@@ -297,20 +300,16 @@
 			ques,
 			networkError,
 			treasureChest,
-			appPopup
+			appPopup,
+			turntableOne,
+			turntableTwo
 		},
 		data() {
 			return {
 				baseUrl:uni.getStorageSync('requestPath'),
 				// 1 红包 2 芳华币
-				rewardType: [{
-					name: '红包奖励',
-					value: 1
-				}, {
-					name: '芳华币奖励',
-					value: 2
-				}],
-				currentReward: 2,
+				rewardType:[],
+				currentReward: -1,
 				player: null,
 				loading: true,
 				progress: 0,
@@ -447,8 +446,6 @@
 			var that=this;
 			if (this.videoId) {
 				this.getH5CourseByVideo()
-				this.getConfigByKey()
-				// this.getVideoRewardTypes()
 			}
 			this.sortLink = this.urlOption.link || ''
 			this.getMenuButton()
@@ -474,6 +471,8 @@
 					icon: 'none'
 				});
 			}
+			this.getConfigByKey()
+			this.getVideoRewardTypes()
 		},
 		mounted() {
 			this.getIP()
@@ -520,6 +519,7 @@
 				getVideoRewardTypes({...this.urlOption}).then(res=>{
 					if(res.code == 200) {
 						this.rewardType = res.data
+						this.currentReward = this.rewardType&&this.rewardType.length>0 ? this.rewardType[0].value : -1
 					}
 				})
 			},
@@ -622,7 +622,7 @@
 			// 当开始/继续播放时触发play事件
 			getPlay() {
 				this.errorCount = 0
-				this.judgeDuration()
+				// this.judgeDuration()
 			},
 			getPause() {
 				this.clearIntegral()
@@ -943,6 +943,7 @@
 								// 答题成功
 								this.errTitle = "恭喜你,回答正确"
 								this.errDesc = `请选择奖励`
+								this.currentReward = this.rewardType&&this.rewardType.length>0 ? this.rewardType[0].value : -1
 								this.$refs.answerPopup.open("center")
 							}
 						} else {
@@ -969,31 +970,47 @@
 				this.$refs.answerPopup.close()
 				if(!this.isCheckRealUrl) return;
 				if (this.errTitle == '恭喜你,回答正确') {
-					const param = {
-						...this.urlOption,
-						rewardType: Number(this.currentReward),
-						source: 2,
-						appId: getApp().globalData.appId
+					if(this.currentReward==4) {
+						this.$refs.turntableTwo.open(this.urlOption)
+					} else if(this.currentReward==3) {
+						this.$refs.turntableOne.open(this.urlOption)
+					} else {
+						this.sendRewardFun(this.currentReward)
 					}
-					sendReward(param).then(res => {
+				}
+			},
+			sendRewardFun(currentReward) {
+				this.currentReward = currentReward
+				const param = {
+					...this.urlOption,
+					rewardType: Number(this.currentReward),
+					source: 2,
+					appId: getApp().globalData.appId
+				}
+				sendReward(param).then(res => {
+					if(res.code == 200) {
+						if(currentReward == 4) {
+							this.$refs.turntableTwo.endSuccess(res.data)
+						}else if(currentReward == 3) {
+							this.$refs.turntableOne.endSuccess(res.data)
+						}else {
+							uni.showToast({
+								title: res.msg,
+								icon: 'none'
+							})
+							this.openAppPop()
+						}
+					} else {
+						this.currentReward == 4 ? this.$refs.turntableTwo.close('close') : this.currentReward == 3? this.$refs.turntableOne.close('close'):''
 						uni.showToast({
 							title: res.msg,
 							icon: 'none'
 						})
-						if(res.code == 200) {
-							this.$refs.appPopup.openPop()
-						}
-						// if(res.code == 200) {
-						// 	//重构 发红包,后台通过OPENID发零钱到 账
-						// 	//this.initWXConfig(res.package)
-						// }else {
-						// 	uni.showToast({
-						// 		title: res.msg,
-						// 		icon: 'none'
-						// 	})
-						// }
-					})
-				}
+					}
+				})
+			},
+			openAppPop() {
+				this.$refs.appPopup.openPop()
 			},
 			// 线路
 			openPop() {
@@ -1447,15 +1464,14 @@
 			font-weight: 400;
 			font-size: 14px;
 			color: #222222;
-			@include u-flex(row, center, center);
+			@include u-flex(row, center, flex-start);
+			flex-wrap: wrap;
 		}
 
 		&-option {
 			@include u-flex(row, center, flex-start);
-
-			&:first-child {
-				margin-right: 40rpx;
-			}
+			flex-shrink: 0;
+			width: 50%;
 		}
 	}