wpfw_ewei_wxapp/seckill/pages/index/index.js
2023-02-26 08:10:18 +08:00

275 lines
9.2 KiB
JavaScript

var t = getApp(), e = t.requirejs("/core"), a = t.requirejs("jquery");
Page({
onPullDownRefresh: function() {
this.onLoad(), setTimeout(function() {
wx.stopPullDownRefresh();
}, 1500);
},
data: {
audios: {},
audiosObj: {},
roomid: "0",
timeindex: "0",
taskid: "0",
timeid: "0",
timer: 0,
goods: "",
rooms: "",
room_num: 0,
times: "",
time_num: 0,
advs: "",
adv_num: 0,
list_error: 0,
goods_error: 0,
message: "",
lasttime: 0,
hour: "-",
min: "-",
sec: "-",
diypages: "",
seckill_style: "",
seckill_color: "",
color: {
red: "#ff5555",
blue: "#4e87ee",
purple: "#a839fa",
orange: "#ff8c1e",
pink: "#ff7e95"
},
swiperheight: "",
play: "/static/images/video_play.png",
mute: "/static/images/icon/mute.png",
voice: "/static/images/icon/voice.png"
},
onShow: function() {
var t = wx.getSystemInfoSync();
this.setData({
screenWidth: t.windowWidth
});
},
onLoad: function() {
var t = this;
wx.getSystemInfo({
success: function(e) {
"0" == e.model.indexOf("iPhone X") && t.setData({
height: "168rpx"
});
var a = e.windowWidth / 1.7;
t.setData({
swiperheight: a
});
}
}), e.get("seckill/get_list", {}, function(e) {
1 == e.error ? t.setData({
list_error: 1,
message: e.message
}) : (null != e.diypages.items && a.each(e.diypages.items, function(a, s) {
var i = {};
"seckill_advs" == s.id && (i.adv_num = s.data.length), i.diypages = e.diypages,
t.setData(i);
}), t.setData({
rooms: e.rooms,
room_num: e.rooms.length,
times: e.times,
time_num: e.times.length,
timeindex: e.timeindex,
roomid: e.roomid,
taskid: e.taskid,
timeid: e.timeid,
seckill_style: e.seckill_style,
seckill_color: e.seckill_color,
background_color: e.diypages.background_color
}), "style2" == e.seckill_style ? (wx.setNavigationBarColor({
frontColor: e.diypages.titlebarcolor,
backgroundColor: t.data.color[e.seckill_color]
}), wx.setNavigationBarTitle({
title: e.diypages.page_title
})) : wx.setNavigationBarColor({
frontColor: "#000000",
backgroundColor: "#ffffff"
}), t.getGoods(e.timeid));
});
},
selected: function(t) {
var a = this;
a.setData({
roomid: t.currentTarget.dataset.id
});
var s = t.currentTarget.dataset.id;
e.get("seckill/get_list", {
roomid: s
}, function(t) {
1 == t.error ? a.setData({
list_error: 1,
message: t.message
}) : a.setData({
rooms: t.rooms,
times: t.times,
time_num: t.times.length,
timeindex: t.timeindex
}), a.getGoods(t.timeid);
});
},
current: function(t) {
this.getGoods(t.currentTarget.dataset.timeid), this.setData({
timeindex: t.currentTarget.dataset.index
});
},
getGoods: function(t) {
var a = this;
e.get("seckill/get_goods", {
taskid: a.data.taskid,
roomid: a.data.roomid,
timeid: t
}, function(e) {
1 == e.error ? a.setData({
goods_error: 1,
message: e.message
}) : (a.setData({
goods_error: 0,
goods: e.goods
}), a.initTimer(t));
});
},
initTimer: function(e) {
var s = this, i = "";
a.each(s.data.times, function(t, a) {
a.id === e && (i = a);
});
var r = parseInt(i.status), o = i.starttime, n = i.endtime;
if (clearInterval(s.data.timer), -1 != r) {
var d = 0, u = 0, c = t.globalData.approot;
wx.request({
url: c + "map.json",
success: function(t) {
var e = new Date(t.header.Date) / 1e3;
d = 0 == r ? n - e : o - e, s.setData({
lasttime: d
}), s.setTimer(i), u = s.setTimerInterval(i), s.setData({
timer: u
});
}
});
}
},
formatSeconds: function(t) {
var e = parseInt(t), a = 0, s = 0;
return e > 60 && (a = parseInt(e / 60), e = parseInt(e % 60), a > 60 && (s = parseInt(a / 60),
a = parseInt(a % 60))), {
hour: s < 10 ? "0" + s : s,
min: a < 10 ? "0" + a : a,
sec: e < 10 ? "0" + e : e
};
},
setTimer: function(e) {
var a = this, s = 0;
if (-1 != e.status && parseInt(a.data.lasttime) % 10 == 0) {
var i = t.globalData.approot;
wx.request({
url: i + "timer.php",
success: function(t) {
var i = t.data;
console.log(t), s = 0 == e.status ? e.endtime - i : e.starttime - i, a.setData({
lasttime: s
});
}
});
}
s = parseInt(a.data.lasttime) - 1;
var r = a.formatSeconds(s);
a.setData({
lasttime: s,
hour: r.hour,
min: r.min,
sec: r.sec
}), s <= 0 && a.onLoad();
},
setTimerInterval: function(t) {
var e = this;
return setInterval(function() {
e.setTimer(t);
}, 1e3);
},
startplay: function(t) {
var e = t.target.dataset.cover;
this.setData({
cover: e,
showvideo: !0
}), this.videoContext = wx.createVideoContext("Video"), this.videoContext.play();
},
play: function(t) {
var e = t.target.dataset.id, a = this.data.audiosObj[e] || !1;
if (!a) {
a = wx.createInnerAudioContext("audio_" + e);
var s = this.data.audiosObj;
s[e] = a, this.setData({
audiosObj: s
});
}
var i = this;
a.onPlay(function() {
var t = setInterval(function() {
var s = a.currentTime / a.duration * 100 + "%", r = Math.floor(Math.ceil(a.currentTime) / 60), o = (Math.ceil(a.currentTime) % 60 / 100).toFixed(2).slice(-2), n = Math.ceil(a.currentTime);
r < 10 && (r = "0" + r);
var d = r + ":" + o, u = i.data.audios;
u[e].audiowidth = s, u[e].Time = t, u[e].audiotime = d, u[e].seconds = n, i.setData({
audios: u
});
}, 1e3);
});
var r = t.currentTarget.dataset.audio, o = t.currentTarget.dataset.time, n = t.currentTarget.dataset.pausestop, d = t.currentTarget.dataset.loopplay;
0 == d && a.onEnded(function(t) {
u[e].status = !1, i.setData({
audios: u
});
});
var u = i.data.audios;
u[e] || (u[e] = {}), a.paused && 0 == o ? (a.src = r, a.play(), 1 == d && (a.loop = !0),
u[e].status = !0, i.pauseOther(e)) : a.paused && o > 0 ? (a.play(), 0 == n ? a.seek(o) : a.seek(0),
u[e].status = !0, i.pauseOther(e)) : (a.pause(), u[e].status = !1), i.setData({
audios: u
});
},
pauseOther: function(t) {
var e = this;
a.each(this.data.audiosObj, function(a, s) {
if (a != t) {
s.pause();
var i = e.data.audios;
i[a] && (i[a].status = !1, e.setData({
audios: i
}));
}
});
},
navigate: function(t) {
var e = t.currentTarget.dataset.url, a = t.currentTarget.dataset.phone, s = t.currentTarget.dataset.appid, i = t.currentTarget.dataset.appurl;
e && wx.navigateTo({
url: e,
fail: function() {
wx.switchTab({
url: e
});
}
}), a && wx.makePhoneCall({
phoneNumber: a
}), s && wx.navigateToMiniProgram({
appId: s,
path: i
});
},
tabwidget: function(t) {
var a = this, s = a.data.diypages, i = (s.items, t.currentTarget.dataset.id), r = t.currentTarget.dataset.url, o = t.currentTarget.dataset.type;
"" != r && null != r && e.get("diypage/getInfo", {
dataurl: r
}, function(t) {
for (var e in s.items) e == i && (s.items[e].data[o].data = t.goods.list, s.items[e].data[o].type = t.type,
s.items[e].type = t.type, s.items[e].status = o, t.goods.list.length <= 8 && (s.items[e].data[o].showmore = !0),
a.setData({
diypages: s
}));
});
}
});