yuminge-app/yun-min-program-plugin-master/packageH/free_of_charge/FreeLottery/FreeLottery.js

231 lines
5.1 KiB
JavaScript

const { minutesToTimeEl } = require("../common");
// packageH/freeLottery/index/index.js
const App = getApp();
const LottreyWaitUrl = App.getNetAddresss("plugin.free-lottery.frontend.lottery.wait");
const LottreyUrl = App.getNetAddresss("plugin.free-lottery.frontend.lottery");
let LottertWaitHandler = null;
Page({
/**
* 页面的初始数据
*/
data: {
prizies: [
{
text: "谢谢参与",
},
{
text: "免单",
},
{
text: "谢谢参与",
},
{
text: "免单",
},
{
text: "谢谢参与",
},
{
text: "免单",
},
{
text: "谢谢参与",
},
{
text: "免单",
},
{
text: "谢谢参与",
},
{
text: "免单",
},
],
pageLoaded: false,
hiddenResultPopup: true,
startSprnning: false,
isLottery: false,
showFooterButtons: false,
luckyNumber: 0,
orders: [],
orderId: null,
task: {},
freeTasks: [],
lotteryPopupClass: "",
turntableSprnned: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if (!options.order_ids) {
wx.showToast({
title: "订单不存在",
icon: "none",
});
setTimeout(() => {
wx.navigateBack();
}, 1000);
return;
}
wx.showLoading({
title: "订单支付中",
// mask: true,
});
this.pollingConfirmPay(1000, options.order_ids);
this.checkConfirmPay(options.order_ids);
this.setData({
orderId: options.order_ids,
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
clearInterval(LottertWaitHandler);
LottertWaitHandler = null;
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
let userId = wx.getStorageSync("yz_uid");
return {
path: "/packageG/index/index?mid="+userId,
};
},
turntabeEnd(e) {
this.setData({
turntableSprnned: true,
});
setTimeout(() => {
this.setData({
hiddenResultPopup: false,
});
}, 300);
},
displayResultPopup() {
if (this.data.turntableSprnned === true && this.data.pageLoaded === true) {
this.setData({
hiddenResultPopup: !this.data.hiddenResultPopup,
});
}
},
//* 转盘转动
lottery() {
App._getNetWork({
url: LottreyUrl,
data: {
order_ids: this.data.orderId,
},
success: ({ data: { data, result, msg } }) => {
if (result === 0) {
wx.showToast({
title: msg,
icon: "none",
});
return;
}
data.task.limit_day = Number(data.task.limit_time / 1440).toFixed(1);
data.task.limit_str = minutesToTimeEl(data.task.limit_time);
let lotteryPopupClass = "lottery-popup_lost";
if (data.status === true) {
if (data.task.status === 1 || data.task.status === -1) {
lotteryPopupClass = "";
} else if (data.task.status === 0) {
lotteryPopupClass = "lottery-popup_first";
}
}
this.setData(
{
luckyNumber: data.status === true ? 2 : 3,
},
() => {
this.setData({
luckyNumber: data.status === true ? 2 : 3,
startSprnning: true,
isLottery: data.status,
freeTasks: data.dividend,
task: data.task,
lotteryPopupClass,
pageLoaded: true,
showFooterButtons: data.status && data.task.status === 0,
});
}
);
wx.setNavigationBarTitle({
title: data.plugin_name,
});
},
fail(err) {
wx.showToast({
title: err.msg || err.message,
icon: "none",
});
},
});
},
//* 轮询确认支付成功,方可让转盘 真正转动
pollingConfirmPay(time = 3000, orderId = this.data.orderId) {
LottertWaitHandler = setInterval(() => {
this.checkConfirmPay(orderId);
}, time);
},
checkConfirmPay(orderId = this.data.orderId) {
App._getNetWork({
url: LottreyWaitUrl,
data: {
order_ids: orderId,
},
success: ({
data: {
data: { status },
},
}) => {
if (status) {
wx.hideLoading();
clearInterval(LottertWaitHandler);
LottertWaitHandler = null;
this.lottery();
}
},
});
},
toRecords() {
wx.navigateTo({
url: "/packageH/free_of_charge/FreeRecord/FreeRecord",
});
},
});