Files
frontend-app/unpackage/dist/dev/mp-weixin/pages/turntable/turntable.js
T
2025-05-10 18:17:24 +08:00

187 lines
6.3 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
styleOpt: {
prizeBgColors: ["#fff0a3", "#fffce6", "#fdba64"]
},
isRun: false,
// 是否正在抽奖
backPath: null
};
},
onLoad(option) {
const backPath = option.backPath;
common_vendor.index.__f__("log", "at pages/turntable/turntable.vue:76", "option backPath", backPath);
if (backPath && backPath !== "null") {
this.backPath = backPath;
}
},
mounted() {
this.getActivityList();
},
methods: {
jumpMine() {
const backPath = this.backPath;
common_vendor.index.__f__("log", "at pages/turntable/turntable.vue:87", "backPath", backPath);
if (backPath) {
common_vendor.index.switchTab({
url: "/pages/home/home"
});
} else {
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 || [];
if (this.prizes.length % 2 === 0) {
this.styleOpt.prizeBgColors = ["#fff0a3", "#fdba64"];
}
}
},
/**
* 跳转到中奖记录
*/
jumpWinningRecord() {
common_vendor.index.navigateTo({
url: "/pages/mine_winning_record/mine_winning_record"
});
},
// 用户点击开始,需要请求后台,去算出抽奖的选中的哪个
async startClick(num) {
if (this.isRun) {
return;
}
const count = this.prizesObj.times;
if (!count || count === 0) {
common_vendor.index.showToast({
title: `您当前未获取到抽奖次数,快去获取吧~`,
icon: "none"
});
return;
}
if (count < num) {
return;
}
this.isRun = true;
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++) {
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"
});
}
this.isRun = false;
}
}
};
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", "42dcd262-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%;",
styleOpt: $data.styleOpt
}),
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