yuminge-app/yun-min-program-plugin-master/packageH/blindBox/blindBoxDetail/blindBoxDetail.js

629 lines
16 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageH/blindBox/blindBoxDetail/blindBoxDetail.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
id: '',
currentTime: parseInt(new Date().getTime() / 1000),
timeData: {},
checked: false,
//组合商品弹窗
multiplePopupInfo: {
title: "",
info: {},
show: false
},
//商品详情弹窗
goodsDetailsPopupInfo: {
show: false,
info: {}
},
//单商品弹窗
singlePopupInfo: {
title: "",
show: false,
info: {}
},
//海报弹窗信息
posterPopupInfo: {
show: false,
src: ''
},
contactShow: false, //联系我们 弹窗
friendsShow: false,
seePrizeShow: false,
seePrizeAnimation: false,
gifShow: false, //动图显示
goods: [], //商品
activity: {}, //盲盒详情
assist: {}, //助力信息
member: {}, //个人信息
timer: null, //抽奖倒计时对象
luckdrawCountDown: 0, //抽奖倒计时
isBlindBoxTap: true, //盲盒抽取按钮
isBlindBoxTapPay: false, //盲盒付费按钮
isInvitePlan: false, //盲盒邀请好友按钮
isAddress: false, //填写地址按钮
integral: "积分",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options);
if (options.scene) {
let scene = decodeURIComponent(options.scene);
if (scene) {
var info_arr = [];
info_arr = scene.split(",");
for (let i = 0; i < info_arr.length; i++) {
let chil_arr = [];
chil_arr = info_arr[i].split("=");
if (chil_arr[0] == "mid") {
app._setMid(chil_arr[1]);
}
if (chil_arr[0] == "id") {
this.setData({
id: chil_arr[1],
});
}
}
}
}
if (options.ids) {
this.getBlindBoxGoods(options.ids);
}
if (options.id) {
this.setData({
id: options.id
});
// this.getData();
}
let value = wx.getStorageSync('integral');
if (value) {
this.setData({
integral: value
});
}
},
onChange(e) {
this.setData({
timeData: e.detail,
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
// drawTap() {
// this.setData({
// gifShow: true
// })
// },
previewImage: function (e) {
console.log('浏览图片');
var current = this.data.activity.cservice_code_src; //这里获取到的是一张本地的图片
wx.previewImage({
current: current, //需要预览的图片链接列表
urls: [current] //当前显示图片的链接
});
},
previewImagesss() {
var current = this.data.posterPopupInfo.src; //这里获取到的是一张本地的图片
wx.previewImage({
current: current, //需要预览的图片链接列表
urls: [current] //当前显示图片的链接
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.animation = wx.createAnimation({
duration: 3000,
timingFunction: 'ease',
});
console.log(this.data.timer);
if (this.data.id) {
if (this.data.timer) {
clearInterval(this.data.timer);
}
this.getData();
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
console.log('asdasdasdassdadasd');
clearInterval(this.data.timer);
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
let that = this;
// 免费
let assist_id = this.data.assist.id;
let member_id = this.data.assist.member_id;
let _path = '/packageH/blindBox/blindBoxHelping/blindBoxHelping?assist_id=' + assist_id + '&member_id=' + member_id; //免费去协助路径
let pricePath = 'packageH/blindBox/blindBoxDetail/blindBoxDetail?id=' + that.data.id; //付费的路径
// that.data.activity.activity_type == 0是付费1是免费
return {
title: that.data.activity.activity_name ? that.data.activity.activity_name : '',
path: that.data.activity.activity_type ? _path : pricePath,
imageUrl: that.data.activity.activity_img_src ? that.data.activity.activity_img_src : ''
};
},
callPhone() {
let that = this;
wx.makePhoneCall({
phoneNumber: that.data.activity.cservice_phone //仅为示例,并非真实的电话号码
});
},
// 我的订单
goOrder() {
wx.navigateTo({
url: '/packageA/member/myOrder_v2/myOrder_v2?status=0',
});
},
contactShowTap() {
this.setData({
contactShow: true
});
},
contactShowClose() {
this.setData({
contactShow: false
});
},
getData() {
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.index.activity-info');
app._postNetWork({
url: urlStr,
data: {
id: this.data.id
},
success: (resdata) => {
let res = resdata.data;
wx.hideLoading({
success: (res) => {},
});
if (res.result == 1) {
that.setData({
goods: res.data.goods,
activity: res.data.activity,
assist: res.data.assist,
member: res.data.member,
});
let html = that.data.activity.activity_rule.replace(/<img/g, '<img style="width:100%"');
that.setData({
['activity.activity_rule']: html
});
// wx.setNavigationBarTitle({
// title: res.data.activity.activity_name,
// })
if (that.data.assist && that.data.assist.expire) {
console.log("currentTime", that.data.currentTime, that.data.assist.expire);
if (that.data.currentTime <= that.data.assist.expire || that.data.assist.status == 1) {
that.setData({
isBlindBoxTap: false,
isInvitePlan: true
});
// that.initShare();
return;
}
}
that.setData({
luckdrawCountDown: that.data.activity.extract_time
});
this.startLuckCountDown();
} else {
console.log(res);
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
//开始倒计时
startLuckCountDown() {
let that = this;
that.data.timer = setInterval(() => {
if (that.data.luckdrawCountDown <= 0) {
clearInterval(that.data.timer);
return;
}
that.setData({
luckdrawCountDown: that.data.luckdrawCountDown - 1
});
}, 1000);
},
freePrize() {
let that = this;
setTimeout(() => {
that.setData({
seePrizeAnimation: true
});
setTimeout(() => {
that.setData({
gifShow: false
});
}, 500);
// setTimeout(() => {
// that.setData({
// isInvitePlan: false,
// seePrizeShow: false,
// isAddress: true,
// gifShow: false,
// seePrizeAnimation:false
// })
// }, 3500);
}, 1500);
that.setData({
gifShow: true,
seePrizeShow: true,
isAddress: true
});
},
// 开始抽奖
startLuckDraw() {
let that = this;
if (that.data.luckdrawCountDown <= 0) {
wx.showToast({
title: '请刷新或重新进入',
duration: 1000,
icon: 'none'
});
return;
}
that.addJoinLog();
if (that.data.activity.activity_type == 0) {
setTimeout(() => {
that.setData({
seePrizeAnimation: true
});
setTimeout(() => {
that.setData({
gifShow: false
});
}, 500);
// setTimeout(() => {
// that.setData({
// isBlindBoxTap: false,
// seePrizeShow: false,
// gifShow: false,
// seePrizeAnimation:false
// })
// }, 3500);
}, 1500);
that.setData({
gifShow: true,
isBlindBoxTapPay: true,
seePrizeShow: true
});
} else if (that.data.activity.activity_type == 1) {
//免费
this.generateAssist();
}
},
addJoinLog() {
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.index.join-log');
app._postNetWork({
url: urlStr,
data: {
id: that.data.activity.id
},
success: (resdata) => {},
fail: function (res) {
console.log(res.msg);
}
});
},
//免费-第一次发起助力
generateAssist() {
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.assist.generate-assist');
app._postNetWork({
url: urlStr,
data: {
id: that.data.id
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
that.setData({
isBlindBoxTap: false,
isInvitePlan: true,
assist: res.data.assist,
['assist.assist_log_count']: res.data.assist.assist_log.length,
['assist.status']: 0,
});
// that.initShare()
} else {
console.log(res);
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
seePrizeShowTap() {
wx.redirectTo({
url: '/packageH/blindBox/blindBoxDetail/blindBoxDetail?id=' + this.data.id,
});
},
// 再抽一次
onceMore(e) {
wx.redirectTo({
url: '/packageH/blindBox/blindBoxDetail/blindBoxDetail?id=' + this.data.id,
});
// let that = this;
// that.setData({
// isBlindBoxTap: false,
// seePrizeShow: false,
// isBlindBoxTapPay: true,
// gifShow: false,
// seePrizeAnimation:false
// })
// let urlStr = app.getNetAddresss('plugin.blind-box.api.tips.invalid-tips');
// app._postNetWork({
// url: urlStr,
// data: {
// id: that.data.id
// },
// success: (resdata) => {
// let res = resdata.data;
// if (res.result == 1) {
// this.setData({
// seePrizeShow: true
// })
// setTimeout(() => {
// that.setData({
// seePrizeAnimation:true
// })
// // setTimeout(() => {
// // that.setData({
// // isBlindBoxTap: false,
// // seePrizeShow: false,
// // isBlindBoxTapPay: true,
// // gifShow: false,
// // seePrizeAnimation:false
// // })
// // }, );
// setTimeout(() => {
// that.setData({
// gifShow:false
// })
// }, 500);
// }, 1500)
// that.setData({
// gifShow: true,
// seePrizeShow:true
// })
// } else {
// console.log(res)
// }
// },
// fail: function (res) {
// console.log(res.msg)
// }
// });
},
openGoodsDetailsPopup(e) {
console.log(e);
let item = e.currentTarget.dataset.item;
this.setData({
['goodsDetailsPopupInfo.info']: item,
['goodsDetailsPopupInfo.show']: true
});
console.log(this.data.goodsDetailsPopupInfo);
},
seeCombinationGoods(e) {
let item = e.currentTarget.dataset.item;
this.setData({
['multiplePopupInfo.info']: item.combination,
['multiplePopupInfo.title']: item.combination.combination_name,
['multiplePopupInfo.show']: true,
});
},
multiplePopupInfoTap() {
this.setData({
['multiplePopupInfo.show']: false,
});
},
singlePopupInfoTap() {
this.setData({
['singlePopupInfo.show']: false
});
},
// 提示
seeTips() {
let that = this;
if (this.data.activity.tips - this.data.activity.tips_count <= 0) {
wx.showModal({
title: `提示一次需要消耗${that.data.activity.tips_consume}${that.data.integral}`,
content: `当前${that.data.integral}${this.data.member.credit1}`,
success(res) {
if (res.confirm) {
console.log('用户点击确定');
that.getTips();
}
}
});
return;
}
this.getTips();
},
getTips() {
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.tips.get-tips');
app._postNetWork({
url: urlStr,
data: {
id: that.data.id
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
that.setData({
['activity.tips_count']: this.data.activity.tips_count + 1,
['singlePopupInfo.title']: '不可能抽中',
['singlePopupInfo.info']: res.data.activityGoods,
['singlePopupInfo.show']: true
});
console.log(this.data.singlePopupInfo);
} else {
wx.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
console.log(res);
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
// end
// 预下单
gotoOrder(e) {
console.log(e);
wx.navigateTo({
url: '/packageD/buy/myOrder_v2/myOrder_v2?tag=blindBox&goodsId=' + this.data.activity.goods_id + '&at_id=' + this.data.activity.id + '&total=1&optionsId=',
});
},
// 获取抽中的盲盒商品
getBlindBoxGoods(ids) {
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.index.blind-box-goods');
app._postNetWork({
url: urlStr,
data: {
order_id: ids
},
success: (resdata) => {
let res = resdata.data;
wx.hideLoading({
success: (res) => {},
});
if (res.result == 1) {
if (res.data.combination == null) {
that.setData({
['blindBoxInfo.pattern']: 0
});
} else {
that.setData({
['blindBoxInfo.pattern']: 1,
['blindBoxInfo.combination']: res.data.combination
});
}
that.setData({
['blindBoxInfo.show']: true,
['blindBoxInfo.goods']: res.data.goods
});
} else {
console.log(res);
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
//海报
getPoster(e) {
if (this.data.posterPopupInfo.src != '') {
// this.data.posterPopupInfo.show=true;
this.setData({
['posterPopupInfo.show']: true
});
return;
}
let that = this;
let urlStr = app.getNetAddresss('plugin.blind-box.api.index.poster');
app._postNetWork({
url: urlStr,
data: {
activity_id: that.data.id,
ingress: 'weChatApplet'
},
success: (resdata) => {
let res = resdata.data;
wx.hideLoading({
success: (res) => {},
});
if (res.result == 1) {
that.setData({
['posterPopupInfo.src']: res.data.poster,
['posterPopupInfo.show']: true
});
} else {
console.log(res);
wx.showToast({
title: res.meg,
duration: 1000,
icon: 'none'
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
posterPopupInfoClose() {
this.setData({
['posterPopupInfo.show']: false
});
}
});