158 lines
5.5 KiB
JavaScript
158 lines
5.5 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const api_raffle = require("../../api/raffle.js");
|
|
const common_assets = require("../../common/assets.js");
|
|
const _sfc_main = {
|
|
data() {
|
|
return {
|
|
lightImages: ["/static/turntable/bg_bs.png", "/static/turntable/bg_hs.png"],
|
|
prizesObj: {},
|
|
prizes: [],
|
|
lotteryList: []
|
|
// 中奖的列表ID
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.getActivityList();
|
|
},
|
|
methods: {
|
|
jumpMine() {
|
|
common_vendor.index.switchTab({
|
|
url: "/pages/mine/mine"
|
|
});
|
|
},
|
|
// 查询活动详情
|
|
async getActivityList() {
|
|
const resp = await api_raffle.getActivityList();
|
|
if (resp && resp.bizcode === 100) {
|
|
this.prizesObj = resp.data;
|
|
this.prizes = resp.data.prizes || [];
|
|
}
|
|
},
|
|
/**
|
|
* 跳转到中奖记录
|
|
*/
|
|
jumpWinningRecord() {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/mine_winning_record/mine_winning_record"
|
|
});
|
|
},
|
|
// 用户点击开始,需要请求后台,去算出抽奖的选中的哪个
|
|
async startClick(num) {
|
|
const count = this.prizesObj.times;
|
|
if (!count || count === 0) {
|
|
common_vendor.index.showToast({
|
|
title: `您当前未获取到抽奖次数,快去获取吧~`,
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
if (count < num) {
|
|
return;
|
|
}
|
|
const params = {
|
|
id: this.prizesObj.id,
|
|
times: num
|
|
};
|
|
const result = await api_raffle.raffleExecute(params);
|
|
let runCount = null;
|
|
if (result && result.bizcode === 100) {
|
|
const total = this.prizesObj.times;
|
|
const data = result.data;
|
|
this.lotteryList = data;
|
|
this.prizesObj.times = total - num;
|
|
const prizes = this.prizes;
|
|
const lastData = data[data.length - 1];
|
|
for (let i = 0; i < prizes.length; i++) {
|
|
common_vendor.index.__f__("log", "at pages/turntable/turntable.vue:123", "prizes[i]", prizes[i]);
|
|
if (prizes[i].id === lastData.prizeId) {
|
|
runCount = i;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (!runCount && runCount !== 0) {
|
|
common_vendor.index.showToast({
|
|
title: `系统异常【抱歉,抽奖失败】~`,
|
|
icon: "none"
|
|
});
|
|
return;
|
|
}
|
|
this.$refs.luckyWheel.run(runCount);
|
|
},
|
|
//prize
|
|
Done() {
|
|
const lotteryList = this.lotteryList;
|
|
if (lotteryList && lotteryList.length !== 0) {
|
|
const data = lotteryList.map((item) => item.prizeName);
|
|
common_vendor.index.showToast({
|
|
title: `恭喜你获得【${data.join(",")}】`,
|
|
icon: "none",
|
|
duration: lotteryList.length > 1 ? 4e3 : 2e3
|
|
// 持续时长,单位ms
|
|
});
|
|
} else {
|
|
common_vendor.index.showToast({
|
|
title: `抱歉,抽奖失败`,
|
|
icon: "none"
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
if (!Array) {
|
|
const _easycom_up_image2 = common_vendor.resolveComponent("up-image");
|
|
const _easycom_dengbo_lotteryWheel2 = common_vendor.resolveComponent("dengbo-lotteryWheel");
|
|
(_easycom_up_image2 + _easycom_dengbo_lotteryWheel2)();
|
|
}
|
|
const _easycom_up_image = () => "../../uni_modules/uview-plus/components/u-image/u-image.js";
|
|
const _easycom_dengbo_lotteryWheel = () => "../../uni_modules/dengbo-lotteryWheel/components/dengbo-lotteryWheel/dengbo-lotteryWheel.js";
|
|
if (!Math) {
|
|
(_easycom_up_image + _easycom_dengbo_lotteryWheel)();
|
|
}
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return {
|
|
a: common_vendor.p({
|
|
src: "/static/common/left_b.png",
|
|
width: "22",
|
|
height: "22",
|
|
bgColor: "#f1f6ff00"
|
|
}),
|
|
b: common_vendor.o((...args) => $options.jumpMine && $options.jumpMine(...args)),
|
|
c: common_vendor.t($data.prizesObj.title || "幸运转盘百亿补贴"),
|
|
d: common_assets._imports_0,
|
|
e: common_assets._imports_1,
|
|
f: common_vendor.o(($event) => $options.startClick(1)),
|
|
g: common_vendor.sr("luckyWheel", "573c7e2f-1"),
|
|
h: common_vendor.o(($event) => $options.startClick(1)),
|
|
i: common_vendor.o($options.Done),
|
|
j: common_vendor.p({
|
|
prizes: $data.prizes,
|
|
size: 626,
|
|
duration: 5e3,
|
|
lightImgs: $data.lightImages,
|
|
customStyle: "borderRadius: 50%;"
|
|
}),
|
|
k: common_vendor.t($data.prizesObj.times || 0),
|
|
l: common_vendor.n($data.prizesObj.times < 1 ? "draws_item_warp draws_item_warp_no" : "draws_item_warp"),
|
|
m: common_vendor.o(($event) => $options.startClick(1)),
|
|
n: common_vendor.n($data.prizesObj.times < 10 ? "draws_item_warp draws_item_warp_no" : "draws_item_warp"),
|
|
o: common_vendor.o(($event) => $options.startClick(10)),
|
|
p: common_vendor.n($data.prizesObj.times < 20 ? "draws_item_warp draws_item_warp_no" : "draws_item_warp"),
|
|
q: common_vendor.o(($event) => $options.startClick(20)),
|
|
r: common_vendor.n($data.prizesObj.times < 50 ? "draws_item_warp draws_item_warp_no" : "draws_item_warp"),
|
|
s: common_vendor.o(($event) => $options.startClick(50)),
|
|
t: $data.prizesObj.ruleDescr,
|
|
v: common_vendor.p({
|
|
src: "/static/turntable/record.png",
|
|
width: "14",
|
|
height: "14",
|
|
bgColor: "#f1f6ff00"
|
|
}),
|
|
w: common_vendor.o((...args) => $options.jumpWinningRecord && $options.jumpWinningRecord(...args))
|
|
};
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/turntable/turntable.js.map
|