// 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: '', titles: '', headTextOne: '', headTextTwo: '', content: [], organizer: '', hide: true, isIPX: app.globalData.isIPX, bookList: [], sendGroupFlag: true, selectFlag: [], flag: true, colonelName: '', article: '', alertFlag: false, stillGoing: true, surplusNum: '1', timeList: ['6', '6', '6'], modalType: "image", isModalShow: false, modalCloseShow: false, modalText: [{ text: '您已经参加过本次团购', type: 'bigOrange' }, { text: '快喊朋友们一起助力', type: 'bigOrange' } ], groupStatus: false, formIsANAsshole: true, dataLoading: true, isLoading: false, isIOS: app.globalData.isIOS, damnDialogLine1: '您已拥有本课三年使用权或曾获得过体验权', // damnDialogLine2:'', damnDialogShow: false, knowFlag: true, menuFlag: false }, //tab切换 //tab切换 tabSwitch: function (e) { if (e.currentTarget.dataset.flag === "know" && this.data.knowFlag === false) { this.setData({ knowFlag: true, menuFlag: false }) } if (e.currentTarget.dataset.flag === "menu" && this.data.menuFlag === false) { this.setData({ knowFlag: false, menuFlag: true }) } }, jurisdiction: function () { //隐藏弹框 this.setData({ hide: !this.data.hide }) //登录页信息 this.onLoad(this.data.onLoadOption); }, // 审核一定要通过啊 //发起团购 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; const title = this.data.bookList[index].title this.setData({ sendGroupFlag: !this.data.sendGroupFlag }) wx.navigateTo({ url: `/pages/groupPage/grade-details/grade-details?productId=${productId}&title=${title}` }) } }) }, //参团 jionGroup: function (e) { // if (app.globalData.isIOS) { // this.showAlert(); // return; // } console.log(this.data.haveTapJoin) if (this.data.haveTapJoin) { return false } this.setData({ haveTapJoin: true }) const orderId = this.data.orderId; const formId = e.detail.formId console.log(e) //开始发起团购 httpRequestApi.JoinGroupPurchas(orderId, formId).success((res) => { console.log('参加团购', res); if (res.data.message) { // if (res.data.code === 801) { // this.setData({ // isModalShow: true, // modalType: 'text' // }) // } else { // wx.showModal({ // title: '提示', // content: res.data.message, // success(res) { // if (res.confirm) { // console.log('用户点击确定') // } else if (res.cancel) { // console.log('用户点击取消') // } // } // }) // } switch (res.data.code) { case 801: this.setData({ isModalShow: true, modalType: 'text', haveTapJoin: false }) break; case 802: this.setData({ // damnDialogLine1:'您已拥有本课程使用权', // damnDialogLine2:'快去朗读吧', damnDialogShow: true, haveTapJoin: false }) break; case 806: console.log(this.data.haveTapJoin) wx.pageScrollTo({ scrollTop: 0, duration: 17 }) this.setData({ // isModalShow: true, // modalType: 'text' alertFlag: true, haveTapJoin: false }) // wx.navigateTo({ // url:'/pages/groupPage/my-group/my-group' // }) break; default: wx.showModal({ title: '提示', content: res.data.message, success(res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } this.setData({ haveTapJoin: false }) } }) break; } return false; } //掉起支付 if (res.data.data.groupPurchaseOrder.os === 'IOS') { this.jionSuccess(res.data.data.groupPurchaseOrder.id, 'join'); } else { this.prePayMap(res.data.data.prePayMap, 'join'); } }).fail((error) => { }) }, showAlert: function () { this.setData({ alertFlag: !this.data.alertFlag }) }, //支付 prePayMap: function (prePayMap, type) { console.log(prePayMap) // const that = this; this.setData({ joinGroupType: type }) wx.requestPayment({ 'appId': prePayMap.appId, 'timeStamp': prePayMap.timeStamp, 'nonceStr': prePayMap.nonceStr, 'package': prePayMap.package, 'signType': 'MD5', 'paySign': prePayMap.sign, 'success': res => { console.log('支付成功') this.setData({ isModalShow: true, haveTapJoin: false }) // 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); // }, 800) // } // }) }, 'fail': res => { console.log('支付失败', res) this.setData({ haveTapJoin: false }) } }) }, //拼团详情 jionSuccess: function (orderId, type) { httpRequestApi.getMygroupInfo(orderId).success(res => { this.data.surplusList = []; // 通过分享进入的用户,如果已经参加过本次团购,则跳转进入邀请好友的页面 console.log(res) // if (this.data.goBackHome) { const joinUser = res.data.data.joinUserList; const groupId = res.data.data.groupPurchaseOrder.id; const myUid = wx.getStorageSync('uid'); this.setData({ haveTapJoin: false }) if (myUid === res.data.data.organizer.uid) { wx.redirectTo({ url: `../collage-details/collage-details?orderId=${groupId}&goBackHome=${this.data.goBackHome}` }) return; } joinUser.forEach(item => { if (item.uid === myUid) { wx.redirectTo({ url: `../collage-details/collage-details?orderId=${groupId}&goBackHome=${this.data.goBackHome}` }) return; } }) // } console.log('拼团详情', res); const groupOrder = res.data.data.groupPurchaseOrder; const surplusNum = groupOrder.headcount - groupOrder.joinCount; if (this.data.article === '') { this.getBooksInfo(res.data.data.groupPurchaseOrder.productId) } this.setData({ organizer: groupOrder.organizer, productId: res.data.data.groupPurchaseOrder.productId }) for (var i = 0; i < surplusNum; i++) { this.data.surplusList.push(1); } if (type === 'join') { // this.data.surplusList.pop(); if (groupOrder.status === 'SUCCESSED') { this.showSuccess(groupOrder.organizer, groupOrder.organizerPrice) } else { this.goToDetail(groupOrder.id) } } else if (type === 'create') { this.showSuccess(groupOrder.organizer, groupOrder.organizerPrice) this.setData({ orderId: groupOrder.id }) } else { // for (var i = 0; i < surplusNum; i++) { // this.data.surplusList.push(1); // } } let timeList = []; // || groupOrder.status ==='SUCCESSED' const stillGoing = groupOrder.closeTime - Date.parse(new Date()) <= 0 ? false : true if (stillGoing) { timeList = util.lastHoursInGroup(groupOrder.closeTime - Date.parse(new Date())); console.log(timeList) } // 分享进来的并且团购失效 就跳转到详情页面 // if(this.data.goBackHome && (surplusNum ===0 || !stillGoing) ){ // console.log(' productID>>>>>>>>>>>>>>>>'+ res.data.data.groupPurchaseOrder.productId) // wx.navigateTo({ // url: `/pages/groupPage/grade-details/grade-details?productId=${res.data.data.groupPurchaseOrder.productId}` // }) // } // const groupStatus = false; if (groupOrder.status === 'SUCCESSED') { this.data.groupStatus = true } this.setData({ surplusNum, joinUserList: res.data.data.joinUserList, surplusList: this.data.surplusList, timeList, stillGoing, groupStatus: this.data.groupStatus, dataLoading: false, groupOSType: groupOrder.os, isLoading: false }, () => { if (groupOrder.os === 'ANDROID' && app.globalData.isIOS) { wx.redirectTo({ url: `/pages/groupPage/grade-details/grade-details?productId=${res.data.data.groupPurchaseOrder.productId}&goBackHome=1` }) } }) httpRequestApi.userIntoPage('pages/groupPage/group-details/group-details','团购详情页面').success((res)=>{ }) if (groupOrder.groupType === 'PROMOTION') { //this.data.joinUserList.unshift(res.data.data.organizer); this.setData({ colonelName: res.data.data.organizer.wechatName }) //this.data.surplusList.pop(); this.setData({ joinUserList: this.data.joinUserList, //surplusList: this.data.surplusList, surplusNum: this.data.surplusNum }) } }).fail(error => { console.log('错误', error) }) }, // 弹成功信息框 showSuccess: function (organizerUid, price) { if (wx.getStorageSync('uid') == organizerUid) { this.setData({ typeOf: 'success', titles: '恭喜 !', headTextOne: '您发起的团购拼团成功', headTextTwo: '领袖体质魅力无穷!', content: [{ text: " 您可以继续发起新的团购,", color: "#F97800" }, { text: " 不再需要支付本课程费用", color: "#F97800" }, { text: `拼团成功,您将得到奖学金`, color: "#F97800" } ], btnContent: '再接再厉 赚奖学金' }, () => { this.popup.close() }) } else { this.setData({ typeOf: 'success', titles: '拼团成功 ! ', headTextOne: '您参与的团购拼团成功', headTextTwo: '感谢团长的分享', content: [{ text: " 您也可以发起新的团购", color: "#F97800" }, { text: "作为新的发起人", color: "#F97800" }, { text: " 您无需在支付本课程费用 ", color: "#F97800" }, { text: `拼团成功,您将得到奖学金`, color: "#F97800" } ], btnContent: '我也试试 赚奖学金' }, () => { this.popup.close() }) } }, // 去详情页面 goToDetail: function (detailId) { setTimeout(() => { wx.redirectTo({ url: `/pages/groupPage/collage-details/collage-details?orderId=${detailId}&goBackHome=true` }) wx.setNavigationBarTitle({ title: '拼团详情' }) }, 1000) }, //跳到课程 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}` }) }, //再次发起团 group: function () { // const orderId = this.data.orderId; // this.goToDetail(orderId); wx.navigateTo({ url: `/pages/groupPage/grade-details/grade-details?productId=${this.data.productId}` }) //拼团是否成功并弹窗 // httpRequestApi.groupSuccess(orderId).success(res => { // console.log('团购是否成功', res.data.data) // debugger; // const status = res.data.data.status; // const uid = res.data.data.uid; // }).fail(error => { // console.log('错误', eroor) // }) //this.openGroup(); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log(this.data.isIOS) this.setData({ options:options }) if (options.scene || options.shareId) { console.log(123) this.setData({ isLoading: true }) } console.log('onload', options) wx.setNavigationBarTitle({ title: '拼团详情' }) getOpenidSessionKey((res) => { if (options.orderId) { const orderId = options.id; this.setData({ orderId }) this.jionSuccess(orderId); } else { // 从分享页面进入的 const orderId = options.productId ? options.productId : options.scene ? options.scene.replace('QR', '') : options.shareId; this.setData({ orderId }) this.jionSuccess(orderId); } if (options.scene || options.shareId) { this.setData({ goBackHome: true }) } }, (error) => { this.setData({ hide: !this.data.hide, onLoadOption: options }) return; }); }, // 鉴权 areYouSuperSecond: function (productId) { httpRequestApi.areYouSuperSecond(productId).success(() => { console.log(res) this.setData({ imSuper: res.data.data.auth ? true : false, haveCreatedHelp: res.data.data.createdShare, // 创建过助力团 haveJoinHelp: res.data.data.joinShare, // 参加过助力团 }) }); // 增加一条记录 const data = { "shareTypeEnum": "POSTER", "shareContentEnum": "GROUP", "productId": productId } if (this.data.option.shareId) { data.shareTypeEnum = 'LINK' httpRequestApi.shareTagRecord(data).success(res => { console.log(res) }) } if (this.data.option.scene) { httpRequestApi.shareTagRecord(data).success(res => { console.log(res) }) } }, // 下拉刷新 onPullDownRefresh: function () { //当前在团购页下拉加载 this.setData({ surplusList: [] }, () => { this.jionSuccess(this.data.orderId); }) wx.showNavigationBarLoading() //在标题栏中显示加载 //模拟加载 setTimeout(function () { wx.hideNavigationBarLoading() //完成停止加载 wx.stopPullDownRefresh() //停止下拉刷新 }, 1500); }, // 获取课本详情 getBooksInfo: function (productId) { //课本详情 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; const data = app.towxml.toJson( bookInfo.description, 'markdown', this ) this.setData({ titleIcon: bookInfo.bgImg, title: bookInfo.title, bookInfo: bookInfo.description, article: data }) 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) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { this.popup = this.selectComponent("#popupup"); }, judgeUser: function (callBack) { }, modalConfirmHandler: function () { this.setData({ isModalShow: false }) if (this.data.modalType === 'image') { this.jionSuccess(this.data.orderId, this.data.joinGroupType); } }, modalCloseHandler: function () { this.setData({ isModalShow: false }) if (this.data.modalType === 'image') { this.jionSuccess(this.data.orderId, this.data.joinGroupType); } }, })