// pages/group-details/group-details.js import { getOpenidSessionKey } from '../../../utils/httpUtil'; import httpRequestApi from '../../../utils/APIClient'; import util from '../../../utils/util'; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { titleIcon: '', title: '', bookInfo: '', lessonList: [], surplusNum: '', joinUserList: [], surplusList: [], timeList: [], productId: '', groupId: '', orderId: '', typeOf: '', title: '', headTextOne: '', headTextTwo: '', content: [], organizer: '', hide: true, isIPX: app.globalData.isIPX, bookList: [], sendGroupFlag: true, selectFlag: [] }, jurisdiction: function () { //隐藏弹框 this.setData({ hide: !this.data.hide }) //登录页信息 this.onLoad(); }, //发起团购 sendGroup: function () { this.setData({ sendGroupFlag: !this.data.sendGroupFlag }) }, //选中团购课程 selectImg: function ({ currentTarget }) { const ind = currentTarget.dataset.ind; //判断单选 this.data.selectFlag.forEach((item, index) => { if(index == ind) { this.data.selectFlag[ind] = !this.data.selectFlag[ind]; }else { this.data.selectFlag[index] = true; } }) this.setData({ selectFlag: this.data.selectFlag }) }, //点击确定 sure: function () { this.data.selectFlag.forEach( (item ,index) => { if(!item) { const productId = this.data.bookList[index].id; this.setData({ sendGroupFlag: !this.data.sendGroupFlag }) this.openGroup(productId) } }) }, //开团 openGroup: function (productId) { //const productId = this.data.productId; const groupId = this.data.groupId; //开始发起团购 httpRequestApi.SendGroupPurchas({ productId, groupId }).success((res) => { console.log('发起团购', res); if (res.data.message) { wx.showModal({ title: '提示', content: res.data.message, success(res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) return false; } if (res.data.data.groupPurchaseOrder.groupType === 'BASE') { //掉起支付 this.prePayMap(res.data.data.prePayMap, 'create'); }else { wx.navigateTo({ url: `/pages/groupPage/make-money/make-money?productId=${productId}&id=${res.data.data.groupPurchaseOrder.id}&groupId=${groupId}` }) } }).fail((error) => { }) }, //参团 jionGroup: function () { const orderId = this.data.orderId; //开始发起团购 httpRequestApi.JoinGroupPurchas(orderId).success((res) => { console.log('参加团购', res); if (res.data.message) { wx.showModal({ title: '提示', content: res.data.message, success(res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) return false; } //掉起支付 this.prePayMap(res.data.data.prePayMap, 'join'); }).fail((error) => { }) }, //支付 prePayMap: function (prePayMap, type) { console.log(prePayMap) const that = this; wx.requestPayment({ 'appId': prePayMap.appId, 'timeStamp': prePayMap.timeStamp, 'nonceStr': prePayMap.nonceStr, 'package': prePayMap.package, 'signType': 'MD5', 'paySign': prePayMap.sign, 'success': function (res) { console.log('支付成功') const type1 = type; wx.showModal({ title: '提示', content: '支付成功', success(res) { //获取拼团信息 console.log(that.data.orderId) wx.showLoading({ title: '支付查询中...', mask: true }) setTimeout(() => { wx.hideLoading(); console.log(that.data.orderId) that.jionSuccess(that.data.orderId, type1); // that.groupSuccess(orderId, detailId); }, 2000) } }) }, 'fail': function (res) { console.log('支付失败', res) } }) }, //拼团详情 jionSuccess: function (orderId, type) { httpRequestApi.getMygroupInfo(orderId).success(res => { console.log('拼团详情', res.data.data); const groupOrder = res.data.data.groupPurchaseOrder; const surplusNum = groupOrder.headcount - groupOrder.joinCount; this.setData({ organizer: groupOrder.organizer, }) if (type === 'join') { this.data.surplusList.pop(); debugger; if (groupOrder.status === 'SUCCESSED') { this.showSuccess(groupOrder.organizer, groupOrder.organizerPrice) } else { this.goToDetail(groupOrder.id) } } if (type = 'create') { debugger; this.showSuccess(groupOrder.organizer, groupOrder.organizerPrice) } else { for (var i = 0; i < surplusNum; i++) { this.data.surplusList.push(1); } } console.log(groupOrder.closeTime - groupOrder.gmtModified) //时间转换 let timeNow = new Date() // const timeList = util.formatTime(groupOrder.closeTime - groupOrder.gmtModified); const timeList = util.formatTime(groupOrder.closeTime - Date.parse(new Date())); this.setData({ surplusNum, joinUserList: res.data.data.joinUserList, surplusList: this.data.surplusList, timeList, }) if(groupOrder.groupType === 'PROMOTION'){ this.data.joinUserList.unshift(res.data.data.organizer); //this.data.surplusList.pop(); this.setData({ joinUserList: this.data.joinUserList, //surplusList: this.data.surplusList, surplusNum: this.data.surplusNum }) } console.log(this.data.joinUserList) // this.groupSuccess(res.data.data.groupPurchaseOrder.productId, detailId); }).fail(error => { console.log('错误', error) }) }, // 弹成功信息框 showSuccess: function (organizerUid, price) { debugger; if (wx.getStorageSync('uid') == organizerUid) { this.setData({ typeOf: 'success', title: '恭喜 !', headTextOne: '您发起的团购拼团成功', content: [{ text: "领袖体质魅力无穷!", color: "#000" }, { text: " 您可以继续发起新的团购,", color: "#000" }, { text: " 不再需要支付本课程费用,拼团成功,", color: "#FF9B00" }, { text: `您将得到${price / 100}元奖励。`, color: "#FF0000" } ], },()=>{ this.popup.close() }) } else { debugger; this.setData({ typeOf: 'success', title: '拼团成功 ! ', headTextOne: '您参与的团购拼团成功', headTextTwo: '', content: [{ text: "感谢团长的分享", color: "#000" }, { text: " 您也可以发起新的团购分享给需要的朋友们,", color: "#000" }, { text: "作为新的发起人,您无需在支付本课程费用;", color: "#FF0000" }, { text: `团购成功,您将得到${price/ 100}元奖励。`, color: "#FF0000" } ], },()=>{ this.popup.close() }) } }, // 去详情页面 goToDetail: function (detailId) { setTimeout(() => { wx.navigateTo({ url: `/pages/groupPage/collage-details/collage-details?orderId=${detailId}` }) wx.setNavigationBarTitle({ title: '拼团详情' }) }, 3000) }, //跳到课程 goToClass: function (e) { let id = e.currentTarget.dataset.id; let title = e.currentTarget.dataset.title; wx.navigateTo({ url: `../../main/class/class?id=${id}&title=${title}` }) }, //拼团是否成功并弹窗 // groupSuccess: function (orderId, detailId) { // httpRequestApi.groupSuccess(orderId).success(res => { // console.log('团购是否成功', res.data.data) // const status = res.data.data.status; // const uid = res.data.data.uid; // }).fail(error => { // console.log('错误', eroor) // }) // }, //再次发起团 group: function () { this.openGroup(); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { getOpenidSessionKey((res) => {}, (error) => { this.setData({ hide: !this.data.hide }) return; }); wx.setNavigationBarTitle({ title: '拼团详情' }) if (!options.productId) return false; const productId = options.productId; const groupId = options.groupId; const orderId = options.id; this.setData({ productId, groupId, orderId }) //课本详情 httpRequestApi.getBookDetail(wx.getStorageSync('uid'), productId).success((res) => { console.log('课本详情', res.data.data); const bookInfo = res.data.data.product; const lessonList = res.data.data.lessonList; this.setData({ titleIcon: bookInfo.bgImg, title: bookInfo.title, bookInfo: bookInfo.description }) const lessonTemp = []; lessonList.forEach(item => { const temp = {}; temp.id = item.id; temp.title = item.title; temp.readNum = item.readCount; lessonTemp.push(temp); }); this.setData({ lessonList: lessonTemp }); }).fail((error) => { }) //全部课本 httpRequestApi.getAllBooks(1, 10).success((res) => { console.log('全部课',res.data.data.list) res.data.data.list.forEach(element => { this.data.selectFlag.push(true); }); this.setData({ bookList: res.data.data.list, selectFlag: this.data.selectFlag }) }).fail((error) => { console.log('错误',error) }) //获取拼团信息 this.jionSuccess(orderId); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { this.popup = this.selectComponent("#popupup"); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })