//获取应用实例 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, countdownSec: 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' }], qrImageUrl: "", }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ activityNo: options.activityNo == undefined ? "" : options.activityNo, groupNo: options.groupNo == undefined ? "" : options.groupNo, }); var that = this; wx.request({ url: getApp().gw.hostUrl + '/mall/wxa/activity/group/wxa_code', method: 'get', data: { groupNo: that.data.groupNo, width: 80, page: 'index/index' }, header: { 'Content-Type': 'application/x-www-form-urlencoded', 'sessionId': wx.getStorageSync('sessionId') }, success: function (res) { console.log(res) if (res.statusCode == 200) { that.data.qrImageUrl = res.data.msg; } } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ 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', 'sessionId': wx.getStorageSync('sessionId') }, 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 ? that.data.groupNo : data.response.groupNo, memberList: data.response.memberList, groupStatus: data.response.status, currentMemberType: data.response.currentMemberType == undefined ? -1 : data.response.currentMemberType, countdownSec: data.response.countdownSec, }); let activityContent = data.response.activityContent; WxParse.wxParse('activityContent', 'html', activityContent, that); console.log("currentMemberType:" + that.data.groupNo + "status:" + that.data.groupStatus); //根据状态切换样式 if (that.data.groupNo !=""){ //开团后页面变化 if (that.data.groupStatus == 10){ //团倒计时时 that.countActivityTime(data.response.countdownSec); //正在拼团 that.setData({ grounpInfo: "block", grounpInfo2: "none", remark: "block", tagColor: "#F8B551", }); if (that.data.currentMemberType == -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.groupStatus == 20){ //拼团成功 if (that.data.currentMemberType == -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.groupStatus == 90){ //拼团失败 if (that.data.currentMemberType == -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 - 1; 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) { let that = this; var url = ""; console.log("groupNo:" + that.data.groupNo + "¤tMemberType:" + that.data.currentMemberType + "&groupStatus:" + that.data.groupStatus); if (that.data.groupNo == ""){ url = '/mall/wxa/activity/group/open'; //首次开团 this.groupOpenOrJoin(url); }else{ if (that.data.groupStatus == 10) { //正在拼团 if (that.data.currentMemberType == -1) { //游客 url = '/mall/wxa/activity/group/join'; this.groupOpenOrJoin(url); }else{ //团长与参与人点击分享 this.openActionsheet(); } } else if (that.data.groupStatus == 20) { //拼团成功 if (that.data.currentMemberTyp == -1) { //游客 url = '/mall/wxa/activity/group/open'; this.groupOpenOrJoin(url); } else { //团长与参与人立即预约 wx.navigateTo({ url: '../order/order', }) } } else if (that.data.groupStatus == 90){ //拼团失败 url = '/mall/wxa/activity/group/open'; 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; } that.setData({ groupNo: data.response.orderNo == undefined ? that.data.groupNo : data.response.orderNo, }); 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 () { }, //打败Actionsheet,进行分享 openActionsheet: function () { if (this.data.qrImageUrl.length == 0) { wx.showLoading({ title: '正在获取', mask: true, }); var that = this; wx.request({ url: getApp().gw.hostUrl + '/mall/wxa/activity/group/wxa_code', method: 'get', data: { groupNo: that.data.groupNo, width: 80, page: 'index/index' }, header: { 'Content-Type': 'application/x-www-form-urlencoded', 'sessionId': wx.getStorageSync('sessionId') }, success: function (res) { wx.hideLoading(); if (res.statusCode == 200) { that.setData({ qrImageUrl: res.data.msg, show: true }); } else { wx.showToast({ title: '获取信息失败!', icon: 'none', duration: 1000 }); } }, fail: function (res) { wx.hideLoading(); wx.showToast({ title: '网络错误!', icon: 'none', duration: 1000 }); } }); } else { console.log("openActionsheet>>qrImageUrl:" + this.data.qrImageUrl) this.setData({ 'show': true }); } }, closeActionSheet: function () { this.setData({ 'show': false }); }, clickAction({ detail }) { // 如果是分享按钮被点击, 不处理关闭 const { index } = detail; if (index === 0) { return } else if (index == 1) { // this.showMomentImage(); } this.setData({ [`show`]: false, [`actions[${index}].loading`]: false }); }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { return { title: '1号家政', imageUrl: this.data.qrImageUrl, path: '/pages/index/index', }; }, })