lilei 4 سال پیش
والد
کامیت
c0a591c7e7
2فایلهای تغییر یافته به همراه51 افزوده شده و 44 حذف شده
  1. 12 3
      pages/index/index.vue
  2. 39 41
      pagesA/luckDraw/luckDraw.vue

+ 12 - 3
pages/index/index.vue

@@ -270,10 +270,19 @@
 				let row = this.imageTopList[index]
 				console.log(index,row)
 				if(row.jumpType !== 'NONE'){
+					// 如果是大转盘
 					if(row.jumpUrl.indexOf('pagesA/luckDraw') >= 0){
-						uni.navigateTo({
-							url:this.hasLogin ? row.jumpUrl :"/pages/login/login"
-						})
+						if(this.showFixedLottery){
+							uni.navigateTo({
+								url:this.hasLogin ? row.jumpUrl :"/pages/login/login"
+							})
+						}else{
+							uni.showToast({
+								icon: 'none',
+								title: '活动已结束'
+							})
+						}
+						
 					}else{
 						uni.navigateTo({
 							url: row.jumpUrl

+ 39 - 41
pagesA/luckDraw/luckDraw.vue

@@ -142,8 +142,9 @@
 <script>
 import AlmostLottery from '@/components/almost-lottery/almost-lottery.vue';
 import { clearCacheFile } from '@/almost-utils/almost-utils.js';
-import { findCustomerTimes, buyDrawTimes, takeOut, queryWinRecord } from '@/api/luckyDraw.js'
+import { findEnable, findCustomerTimes, buyDrawTimes, takeOut, queryWinRecord } from '@/api/luckyDraw.js'
 import { checkLogin, getUserInfo } from '@/api/login.js'
+import moment from 'moment'
 export default {
 	name: 'Home',
 	components: {
@@ -238,52 +239,49 @@ export default {
 			})
 		},
 		// 获取奖品列表
-		async getPrizeList() {
+		getPrizeList() {
 			uni.showLoading({
 				title: '奖品准备中...'
 			});
-			
-			let res = await this.requestPrizeList();
-			if (res.ok) {
-				let data = res.data;
-				if (data.length) {
-					// stock 奖品库存
-					// weight 中奖概率,数值越大中奖概率越高
-					this.prizeList = data;
+			findEnable().then(res => {
+				if(res.status == 200 && res.data){
+					this.$u.vuex('vuex_LuckDraw',res.data)
+					this.luckDraw = res.data
+					// 判断活动是否过期
+					let a = moment().isBetween(res.data.activeStartTime,res.data.activeEndTime,'days','[]')
+					if(a){
+						// 查询免费次数
+						this.getCustomerTimes()
+						this.prizeList = this.requestPrizeList()
+					}else{
+						uni.showToast({
+							icon: 'none',
+							title: '活动已结束'
+						})
+					}
+				}else{
+					this.$u.vuex('vuex_LuckDraw',null)
 				}
-			} else {
-				uni.hideLoading();
-				uni.showToast({
-					title: '获取奖品失败'
-				});
-			}
+				uni.hideLoading()
+			})
 		},
-		// 模拟请求奖品列表接口
+		// 格式化数据
 		requestPrizeList() {
-			let _this = this
-			return new Promise((resolve, reject) => {
-				let requestTimer = setTimeout(() => {
-					clearTimeout(requestTimer);
-					requestTimer = null;
-					let prizeList = _this.luckDraw.luckyDrawPrizeList
-					let temp = []
-					prizeList.map(item => {
-						temp.push({
-							prizeId: item.luckyDrawPrizeNo,
-							name: item.prizeType == 'GOLD' ? (item.prizeDesc + '乐豆') : item.prizeDesc,
-							stock: item.prizeNum||0,
-							weight: item.prizeRate,
-							prizeImage: item.prizeImage,
-							prizeType: item.prizeType,
-							isPrizeLimit: item.isPrizeLimit
-						})
-					})
-					resolve({
-						ok: temp.length,
-						data: temp
-					});
-				}, 100);
-			});
+			let temp = []
+			let prizeList = this.luckDraw.luckyDrawPrizeList
+			prizeList.map(item => {
+				temp.push({
+					prizeId: item.luckyDrawPrizeNo,
+					name: item.prizeType == 'GOLD' ? (item.prizeDesc + '乐豆') : item.prizeDesc,
+					stock: item.prizeNum||0,
+					weight: item.prizeRate,
+					prizeImage: item.prizeImage,
+					prizeType: item.prizeType,
+					isPrizeLimit: item.isPrizeLimit
+				})
+			})
+			
+			return temp
 		},
 		// 获取免费抽奖次数
 		getCustomerTimes(){