306 lines
8.0 KiB
JavaScript
306 lines
8.0 KiB
JavaScript
// packageD/businessActivity/businessActivity.js
|
||
var app = getApp();
|
||
Page({
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
Data: {},
|
||
showAll: false, //内容是否全部展示
|
||
time: "",
|
||
Day: "", //剩余天
|
||
Hour: "", //剩余小时
|
||
Min: "", //剩余分钟
|
||
Sec: "", //剩余秒
|
||
stop: false, //判断活动是否结束
|
||
songStop: true, //判断停止还是播放
|
||
button: 0, //是否开启悬浮按钮
|
||
button_name: "", //悬浮按钮名称
|
||
goods_id: "", //商品id
|
||
is_store: 0, //联盟商家是否开启
|
||
wheels: [], //免费详情数据
|
||
start: "", //活动开始时间
|
||
end: "", //活动结束时间
|
||
commission_amount: [], //排行榜数据
|
||
timeShow: 0, //是否开启倒计时
|
||
stores: [], //返回的联盟商家数据
|
||
business: [], //组装后的联盟商家数据
|
||
link: "",
|
||
readyState: 0, //音频是否加载完成
|
||
clientWidths: "",
|
||
member_count: "", //参与人数
|
||
shareInfo: {},
|
||
isSetShare: 0, //是否开启了自定义分享 ,0||关闭
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
this.setData({
|
||
id: options.id,
|
||
});
|
||
this.initData();
|
||
this.getData();
|
||
},
|
||
linkTo() {
|
||
if (app._isTextEmpty(this.data.link1)) {
|
||
wx.navigateTo({
|
||
url: "/packageA/member/storeApply/storeApply",
|
||
});
|
||
}
|
||
},
|
||
initData() {
|
||
this.setData({
|
||
Data: {},
|
||
showAll: false, //内容是否全部展示
|
||
time: "",
|
||
Day: "", //剩余天
|
||
Hour: "", //剩余小时
|
||
Min: "", //剩余分钟
|
||
Sec: "", //剩余秒
|
||
stop: false, //判断活动是否结束
|
||
songStop: true, //判断停止还是播放
|
||
button: 0, //是否开启悬浮按钮
|
||
button_name: "", //悬浮按钮名称
|
||
goods_id: "", //商品id
|
||
is_store: 0, //联盟商家是否开启
|
||
wheels: [], //免费详情数据
|
||
start: "", //活动开始时间
|
||
end: "", //活动结束时间
|
||
commission_amount: [], //排行榜数据
|
||
timeShow: 0, //是否开启倒计时
|
||
stores: [], //返回的联盟商家数据
|
||
business: [], //组装后的联盟商家数据
|
||
link: "",
|
||
readyState: 0,
|
||
clientWidths: "",
|
||
member_count: "",
|
||
shareInfo: {},
|
||
isSetShare: 0,
|
||
});
|
||
},
|
||
play(e) {
|
||
if (e.currentTarget.dataset.info == "plays") {
|
||
this.innerAudioContext.pause();
|
||
this.setData({
|
||
songStop: true,
|
||
});
|
||
} else {
|
||
this.innerAudioContext.play();
|
||
this.setData({
|
||
songStop: false,
|
||
});
|
||
}
|
||
},
|
||
showAlltap(e) {
|
||
this.setData({
|
||
showAll: !this.data.showAll,
|
||
});
|
||
},
|
||
//活动倒计时
|
||
countdown() {
|
||
// 当前时间戳
|
||
const now = Date.parse(new Date()) / 1000;
|
||
if (this.data.end - now <= 0) {
|
||
this.stop = true;
|
||
return;
|
||
}
|
||
// 相差的秒数
|
||
const msec = this.data.end - now;
|
||
// 计算的时间
|
||
let day = parseInt(msec / 60 / 60 / 24);
|
||
|
||
let hr = parseInt((msec / 60 / 60) % 24);
|
||
let min = parseInt((msec / 60) % 60);
|
||
let sec = parseInt(msec % 60);
|
||
// 个位数前补零
|
||
hr = hr > 9 ? hr : "0" + hr;
|
||
min = min > 9 ? min : "0" + min;
|
||
sec = sec > 9 ? sec : "0" + sec;
|
||
// 控制台打印
|
||
// this.time=`${day}天 ${hr}小时 ${min}分钟 ${sec}秒`
|
||
// (this.Day = day), (this.Hour = hr), (this.Min = min), (this.Sec = sec);
|
||
this.setData({
|
||
Day: day,
|
||
Hour: hr,
|
||
Min: min,
|
||
Sec: sec,
|
||
});
|
||
// 一秒后递归
|
||
setTimeout(() => {
|
||
this.countdown();
|
||
}, 1000);
|
||
},
|
||
toGoods(e) {
|
||
let id = e.currentTarget.dataset.id;
|
||
wx.navigateTo({
|
||
url: "/packageA/detail_v2/detail_v2?id=" + id,
|
||
});
|
||
},
|
||
toPage(e) {
|
||
let val = e.currentTarget.dataset.val;
|
||
if (!app._isTextEmpty(val.store_name)) {
|
||
wx.navigateTo({
|
||
url: "/packageC/o2o/o2oStore/o2oStore?store_id=" + val.id,
|
||
});
|
||
} else if (!app._isTextEmpty(val.hotel_name)) {
|
||
wx.navigateTo({
|
||
url: "/packageC/hotel/HotelHome/HotelHome?id=" + val.id,
|
||
});
|
||
}
|
||
},
|
||
gobannerlink(e) {
|
||
try {
|
||
wx.navigateTo({
|
||
url: this.data.link2,
|
||
});
|
||
} catch (err) {
|
||
console.log(err);
|
||
}
|
||
},
|
||
gomiandan(e) {
|
||
let link = e.currentTarget.dataset.info.link;
|
||
if (app._isTextEmpty(link)) {
|
||
return;
|
||
} else {
|
||
try {
|
||
wx.navigateTo({
|
||
url: link,
|
||
});
|
||
} catch (err) {
|
||
console.log(err);
|
||
}
|
||
}
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {},
|
||
getData() {
|
||
let urlStr = app.getNetAddresss(
|
||
"plugin.business-activity.frontend.controllers.activity.getActivityById"
|
||
);
|
||
let that = this;
|
||
app._getNetWork({
|
||
data: {
|
||
activity_id: 2,
|
||
},
|
||
url: urlStr,
|
||
success: function (resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
console.log(res);
|
||
if (res.data.activity.audio_link) {
|
||
that.autoPlay();
|
||
that.innerAudioContext.src = res.data.activity.audio_link;
|
||
that.innerAudioContext.play();
|
||
that.setData({
|
||
songStop: false,
|
||
});
|
||
}
|
||
for (let i = 0; i < res.data.wheels.length; i++) {
|
||
if (app._isTextEmpty(res.data.wheels[i].has_one_store)) {
|
||
res.data.wheels[i].showStore = false;
|
||
} else {
|
||
res.data.wheels[i].showStore = true;
|
||
}
|
||
}
|
||
that.setData({
|
||
Data: res.data.activity,
|
||
button: res.data.activity.button,
|
||
button_name: res.data.activity.button_name,
|
||
member_count: res.data.member_count,
|
||
goods_id: res.data.goods_id,
|
||
wheels: res.data.wheels,
|
||
is_store_button: res.data.is_store_button,
|
||
stores: res.data.stores.concat(res.data.hotels),
|
||
commission_amount: res.data.commission_amount,
|
||
start: res.data.activity.countdown_time[0],
|
||
end: res.data.activity.countdown_time[1],
|
||
timeShow: that.showTime() ? res.data.activity.countdown : 0,
|
||
isSetShare: res.data.share_status,
|
||
shareInfo: res.data.share_data,
|
||
// 广告链接
|
||
link1: res.data.activity.miniLink1,
|
||
// banner链接
|
||
link2: res.data.activity.miniLink2,
|
||
miandanPto: true,
|
||
});
|
||
console.log(that.data.wheels);
|
||
wx.setNavigationBarTitle({
|
||
title: res.data.activity.name,
|
||
});
|
||
that.countdown();
|
||
that.StoreArr();
|
||
console.log(that.data.business);
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
},
|
||
});
|
||
},
|
||
//组装返回的联盟商家数据
|
||
StoreArr() {
|
||
let n = Math.ceil(this.data.stores.length / 10);
|
||
let arr = [];
|
||
for (let i = 1; i <= n; i++) {
|
||
arr.push(this.data.stores.slice((i - 1) * 10, i * 10));
|
||
// this.business.push(arr);
|
||
}
|
||
this.setData({
|
||
business: this.data.business.concat(arr),
|
||
});
|
||
console.log(this.data.business);
|
||
},
|
||
showTime() {
|
||
let nowTime = new Date().getTime() / 1000;
|
||
let beginTime = this.data.start;
|
||
console.log(nowTime >= beginTime);
|
||
if (nowTime >= beginTime) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
},
|
||
autoPlay() {
|
||
this.innerAudioContext = wx.createInnerAudioContext();
|
||
this.innerAudioContext.onCanplay(() => {});
|
||
this.innerAudioContext.onPlay(() => {
|
||
console.log("开始播放");
|
||
console.log(this.innerAudioContext.duration);
|
||
});
|
||
},
|
||
});
|