You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
442 lines
12 KiB
442 lines
12 KiB
//获取应用实例
|
|
const app = getApp()
|
|
|
|
var WxParse = require('../../wxParse/wxParse.js');//主要为了能够显示获取的html代码
|
|
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
activityNo: "",
|
|
groupNo: "",
|
|
memberList: [],
|
|
activityDetail: {},
|
|
currentMemberType: -1,//参与人角色,-1游客,0发起者,10参与者
|
|
groupStatus:0,//团状态,0发起拼团,10正在拼团,20拼团成功,90拼团失败
|
|
rule_image_height: 0,//活动规则图片高度
|
|
detail_image_height: 0,//活动详情图片高度
|
|
bannerImage: '/images/activity_banner.png',
|
|
ruleImage: '/images/banner1.png',
|
|
countDownDay: 0,
|
|
countDownHour: 0,
|
|
countDownMinute: 0,
|
|
countDownSecond: 0,
|
|
//根据状态切换样式
|
|
grounpInfo: "block",
|
|
grounpInfo2: "none",
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#F36619',
|
|
buttomText: '我要开团',
|
|
tagColor: "#F8B551",
|
|
remark: "none",
|
|
remarkText:"已退款",
|
|
//分享
|
|
show: false,
|
|
cancelWithMask: true,
|
|
actions: [{
|
|
name: '微信好友',
|
|
icon: '../../images/wechat_ico.png',
|
|
openType: 'share'
|
|
}, {
|
|
name: '朋友圈',
|
|
icon: '../../images/moments_ico.png'
|
|
}],
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.setData({
|
|
activityNo: options.activityNo == undefined ? "" : options.activityNo,
|
|
groupNo: options.groupNo == undefined ? "" : options.groupNo,
|
|
});
|
|
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
//this.countActivityTime(1527609600);
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
//获取活动详情
|
|
this.getActivityDetail();
|
|
},
|
|
|
|
getActivityDetail: function () {
|
|
let that = this;
|
|
wx.showNavigationBarLoading(); //在标题栏中显示加载
|
|
var url = "";
|
|
var data = {};
|
|
if (that.data.groupNo != "") {
|
|
url = "/mall/wxa/activity/group/detail";
|
|
} else {
|
|
url = "/mall/wxa/activity/detail";
|
|
}
|
|
|
|
wx.request({
|
|
url: app.gw.hostUrl + url,
|
|
method: 'get',
|
|
data: {
|
|
activityNo: that.data.activityNo,
|
|
groupNo: that.data.groupNo,
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded'
|
|
},
|
|
success: function (res) {
|
|
var data = res.data;
|
|
var status = data.code;
|
|
console.log(res);
|
|
if (status == 0) {
|
|
|
|
that.setData({
|
|
activityDetail: data.response,
|
|
activityNo: data.response.activityNo,
|
|
groupNo: data.response.groupNo == undefined ? "" : data.response.groupNo,
|
|
memberList: data.response.memberList,
|
|
groupStatus: data.response.status,
|
|
currentMemberType: data.response.currentMemberType == undefined ? -1 : data.response.currentMemberType,
|
|
});
|
|
let activityContent = data.response.activityContent;
|
|
WxParse.wxParse('activityContent', 'html', activityContent, that);
|
|
|
|
//根据状态切换样式
|
|
if (that.data.groupNo !=""){
|
|
//开团后页面变化
|
|
if (that.data.status == 10){
|
|
//团倒计时时
|
|
countActivityTime()
|
|
//正在拼团
|
|
that.setData({
|
|
grounpInfo: "block",
|
|
grounpInfo2: "none",
|
|
tagColor: "#F8B551",
|
|
});
|
|
if (that.data.currentMemberTyp == -1){
|
|
//游客
|
|
that.setData({
|
|
one_content: "none",
|
|
two_content: "block",
|
|
buttomText: '我要开团',
|
|
});
|
|
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10){
|
|
//发起人和邀请人
|
|
that.setData({
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#21BE8D',
|
|
buttomText: '邀请好友拼团',
|
|
});
|
|
}
|
|
} else if (that.data.status == 20){
|
|
//拼团成功
|
|
if (that.data.currentMemberTyp == -1) {
|
|
//游客
|
|
that.setData({
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#F36619',
|
|
buttomText: '我要开团',
|
|
grounpInfo: "none",
|
|
grounpInfo2: "block",
|
|
|
|
});
|
|
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10) {
|
|
//发起人和邀请人
|
|
that.setData({
|
|
tagColor: "#21BE8D",
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#21BE8D',
|
|
buttomText: '立即预约',
|
|
grounpInfo: "block",
|
|
grounpInfo2: "none",
|
|
remarkText: "",
|
|
});
|
|
}
|
|
} else if (that.data.status == 90){
|
|
//拼团失败
|
|
if (that.data.currentMemberTyp == -1) {
|
|
//游客
|
|
that.setData({
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#F36619',
|
|
buttomText: '我要开团',
|
|
grounpInfo: "none",
|
|
grounpInfo2: "block",
|
|
|
|
});
|
|
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10) {
|
|
//发起人和邀请人
|
|
that.setData({
|
|
tagColor: "#999999",
|
|
one_content: "block",
|
|
two_content: "none",
|
|
bottomBGColor: '#F36619',
|
|
buttomText: '重新开团',
|
|
grounpInfo: "block",
|
|
grounpInfo2: "none",
|
|
remarkText: "已退款",
|
|
});
|
|
}
|
|
}
|
|
|
|
}else{
|
|
that.setData({
|
|
grounpInfo: "none",
|
|
grounpInfo2: "none",
|
|
});
|
|
}
|
|
} else {
|
|
wx.showToast({
|
|
title: data.msg,
|
|
icon: 'none',
|
|
duration: 3000
|
|
});
|
|
return;
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
wx.showToast({
|
|
title: '加载数据失败',
|
|
});
|
|
},
|
|
complete: function (res) {
|
|
// complete
|
|
wx.hideNavigationBarLoading() //完成停止加载
|
|
wx.stopPullDownRefresh() //停止下拉刷新
|
|
},
|
|
|
|
})
|
|
},
|
|
/**
|
|
*活动倒计时方法
|
|
*/
|
|
countActivityTime: function (timeStamp) {
|
|
var totalSecond = timeStamp - Date.parse(new Date()) / 1000;
|
|
var interval = setInterval(function () {
|
|
// 秒数
|
|
var second = totalSecond;
|
|
|
|
// 天数位
|
|
var day = Math.floor(second / 3600 / 24);
|
|
var dayStr = day.toString();
|
|
if (dayStr.length == 1) dayStr = '0' + dayStr;
|
|
|
|
// 小时位
|
|
var hr = Math.floor((second - day * 3600 * 24) / 3600);
|
|
var hrStr = hr.toString();
|
|
if (hrStr.length == 1) hrStr = '0' + hrStr;
|
|
|
|
// 分钟位
|
|
var min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60);
|
|
var minStr = min.toString();
|
|
if (minStr.length == 1) minStr = '0' + minStr;
|
|
|
|
// 秒位
|
|
var sec = second - day * 3600 * 24 - hr * 3600 - min * 60;
|
|
var secStr = sec.toString();
|
|
if (secStr.length == 1) secStr = '0' + secStr;
|
|
|
|
this.setData({
|
|
countDownDay: dayStr,
|
|
countDownHour: hrStr,
|
|
countDownMinute: minStr,
|
|
countDownSecond: secStr,
|
|
});
|
|
totalSecond--;
|
|
if (totalSecond < 0) {
|
|
clearInterval(interval);
|
|
wx.showToast({
|
|
title: '活动已结束',
|
|
});
|
|
this.setData({
|
|
countDownDay: '00',
|
|
countDownHour: '00',
|
|
countDownMinute: '00',
|
|
countDownSecond: '00',
|
|
});
|
|
}
|
|
}.bind(this), 1000);
|
|
},
|
|
// 图片加载
|
|
ruleImageLoad: function (image) {
|
|
var app = getApp();
|
|
console.log(image)
|
|
var imageHeight = app.gw.systemInfo.windowWidth / image.detail.width * image.detail.height;
|
|
this.setData({
|
|
rule_image_height: imageHeight
|
|
})
|
|
},
|
|
detailImageLoad: function (image) {
|
|
var app = getApp();
|
|
console.log(image)
|
|
var imageHeight = app.gw.systemInfo.windowWidth / image.detail.width * image.detail.height;
|
|
this.setData({
|
|
detail_image_height: imageHeight
|
|
})
|
|
},
|
|
|
|
//点击团按钮操作
|
|
groupTap: function (e) {
|
|
var url = "";
|
|
if (that.data.groupNo == ""){
|
|
url = '/mall/wxa/activity/group/group';
|
|
//首次开团
|
|
this.groupOpenOrJoin(url);
|
|
}else{
|
|
if (that.data.status == 10) {
|
|
//正在拼团
|
|
if (that.data.currentMemberTyp == -1) {
|
|
//游客
|
|
url = '/mall/wxa/activity/group/join';
|
|
this.groupOpenOrJoin(url);
|
|
}else{
|
|
//团长与参与人点击分享
|
|
|
|
}
|
|
} else if (that.data.status == 20) {
|
|
//拼团成功
|
|
if (that.data.currentMemberTyp == -1) {
|
|
//游客
|
|
url = '/mall/wxa/activity/group/group';
|
|
this.groupOpenOrJoin(url);
|
|
} else {
|
|
//团长与参与人立即预约
|
|
|
|
}
|
|
} else if (that.data.status == 90){
|
|
//拼团失败
|
|
url = '/mall/wxa/activity/group/group';
|
|
this.groupOpenOrJoin(url);
|
|
}
|
|
}
|
|
},
|
|
|
|
//开团与参团
|
|
groupOpenOrJoin: function (url) {
|
|
let that = this;
|
|
|
|
wx.showToast({
|
|
title: '正在调起支付',
|
|
icon: 'loading'
|
|
})
|
|
wx.request({//获取微信支付想要的数据
|
|
url: app.gw.hostUrl + url,
|
|
method: 'get',
|
|
data: {
|
|
openid: app.globalData.openid,
|
|
activityNo: that.data.activityNo,
|
|
groupNo: that.data.groupNo,
|
|
},
|
|
header: {
|
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
'sessionId': wx.getStorageSync('sessionId')
|
|
},
|
|
success: function (res) {
|
|
//--init data
|
|
let data = res.data;
|
|
let status = data.code;
|
|
if (status != 0) {
|
|
wx.showToast({
|
|
title: data.msg,
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return;
|
|
}
|
|
console.log(data.response);
|
|
let dr = data.response.weixinTransParameters;
|
|
console.log(dr);
|
|
wx.requestPayment({//微信支付
|
|
"timeStamp": dr.timeStamp,
|
|
"nonceStr": dr.nonceStr,
|
|
"package": dr.package,
|
|
"signType": dr.signType,
|
|
"paySign": dr.paySign,
|
|
"success": function (res) {
|
|
console.log(res);
|
|
wx.showToast({
|
|
title: '支付成功',
|
|
icon: 'success',
|
|
duration: 2000
|
|
})
|
|
wx.navigateTo({
|
|
url: '../pay_result/pay_result?activityNo=' + that.data.activityNo + '&groupNo=' + that.data.groupNo
|
|
})
|
|
|
|
},
|
|
"fail": function (res) {
|
|
console.log(res);
|
|
if (res.errMsg == 'requestPayment:fail cancel') {
|
|
wx.showToast({
|
|
title: '取消支付',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: '支付出错',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
fail: function (e) {
|
|
wx.showToast({
|
|
title: '网络异常!err:authlogin',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
},
|
|
});
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
}
|
|
})
|