|
@@ -1,486 +0,0 @@
|
|
|
-// 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,
|
|
|
- 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,
|
|
|
- ifGroupSuccessed: false,
|
|
|
- groupOSType: 'IOS',
|
|
|
- hideBottomBtn: true
|
|
|
- },
|
|
|
- //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);
|
|
|
- },
|
|
|
- //参团
|
|
|
- jionGroup: function (e) {
|
|
|
- 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) {
|
|
|
- switch (res.data.code) {
|
|
|
- case 801:
|
|
|
- this.setData({
|
|
|
- isModalShow: true,
|
|
|
- modalType: 'text',
|
|
|
- haveTapJoin: false
|
|
|
- })
|
|
|
- break;
|
|
|
- case 802:
|
|
|
- this.setData({
|
|
|
- damnDialogShow: true,
|
|
|
- haveTapJoin: false
|
|
|
- })
|
|
|
- break;
|
|
|
- case 806:
|
|
|
- console.log(this.data.haveTapJoin)
|
|
|
- wx.pageScrollTo({
|
|
|
- scrollTop: 0,
|
|
|
- duration: 17
|
|
|
- })
|
|
|
- this.setData({
|
|
|
- alertFlag: true,
|
|
|
- haveTapJoin: false
|
|
|
- })
|
|
|
- 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.getGroupInfo(res.data.data.groupPurchaseOrder.id);
|
|
|
- } else {
|
|
|
- this.prePayMap(res.data.data.prePayMap);
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- showAlert: function () {
|
|
|
- this.setData({
|
|
|
- alertFlag: !this.data.alertFlag
|
|
|
- })
|
|
|
- },
|
|
|
- //支付
|
|
|
- prePayMap: function (prePayMap) {
|
|
|
- console.log(prePayMap)
|
|
|
- wx.requestPayment({
|
|
|
- 'appId': prePayMap.appId,
|
|
|
- 'timeStamp': prePayMap.timeStamp,
|
|
|
- 'nonceStr': prePayMap.nonceStr,
|
|
|
- 'package': prePayMap.package,
|
|
|
- 'signType': 'MD5',
|
|
|
- 'paySign': prePayMap.sign,
|
|
|
- 'success': res => {
|
|
|
- this.setData({
|
|
|
- isModalShow: true,
|
|
|
- haveTapJoin: false
|
|
|
- })
|
|
|
- },
|
|
|
- 'fail': res => {
|
|
|
- console.log('支付失败', res)
|
|
|
- this.setData({
|
|
|
- haveTapJoin: false
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- //拼团详情
|
|
|
- getGroupInfo: function (orderId) {
|
|
|
- httpRequestApi.getMygroupInfo(orderId).success(res => {
|
|
|
- const groupOrder = res.data.data.groupPurchaseOrder;
|
|
|
- if (groupOrder.os === 'ANDROID' && app.globalData.isIOS) {
|
|
|
- wx.redirectTo({
|
|
|
- url: `/pages/groupPage/grade-details/grade-details?productId=${res.data.data.groupPurchaseOrder.productId}&goBackHome=1`
|
|
|
- })
|
|
|
- return;
|
|
|
- }
|
|
|
- // 团员进入collage页面
|
|
|
- const myUid = wx.getStorageSync('uid');
|
|
|
- if (myUid === groupOrder.organizer) {
|
|
|
- wx.redirectTo({
|
|
|
- url: `../collage-details/collage-details?orderId=${orderId}&goBackHome=${this.data.goBackHome}`
|
|
|
- })
|
|
|
- return;
|
|
|
- }
|
|
|
- res.data.data.joinUserList.forEach(item => {
|
|
|
- if (item.uid === myUid) {
|
|
|
- wx.redirectTo({
|
|
|
- url: `../collage-details/collage-details?orderId=${orderId}&goBackHome=${this.data.goBackHome}`
|
|
|
- })
|
|
|
- return;
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- const surplusNum = groupOrder.headcount - groupOrder.joinCount;
|
|
|
- this.setData({
|
|
|
- organizerUid: groupOrder.organizer,
|
|
|
- ifGroupSuccessed: groupOrder.status === 'SUCCESSED' ? true : false
|
|
|
- })
|
|
|
-
|
|
|
- for (var i = 0; i < surplusNum; i++) {
|
|
|
- this.data.surplusList.push(1);
|
|
|
- }
|
|
|
- // 剩余时间 如果团购已结束则不显示
|
|
|
- let timeLast = '';
|
|
|
- const stillGoing = groupOrder.closeTime - Date.parse(new Date()) <= 0 ? false : true
|
|
|
- if (stillGoing) {
|
|
|
- timeLast = util.lastHours(groupOrder.closeTime - Date.parse(new Date()));
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- groupPurchaseInfo: res.data.data.groupPurchaseInfo,
|
|
|
- organizer: res.data.data.organizer,
|
|
|
- surplusNum,
|
|
|
- joinUserList: res.data.data.joinUserList,
|
|
|
- surplusList: this.data.surplusList,
|
|
|
- timeLast,
|
|
|
- stillGoing,
|
|
|
- productId: groupOrder.productId,
|
|
|
- groupId: groupOrder.groupId,
|
|
|
- rewardMoney: res.data.data.groupPurchaseInfo.organizerPrice / 100,
|
|
|
- dataLoading: false,
|
|
|
- groupOsType: groupOrder.os,
|
|
|
- isLoading: false
|
|
|
- })
|
|
|
- if (this.data.article === '') {
|
|
|
- this.getBooksInfo(res.data.data.groupPurchaseOrder.productId)
|
|
|
- }
|
|
|
- httpRequestApi.userIntoPage('pages/groupPage/group-details/group-details','团购详情页面').success((res)=>{
|
|
|
-
|
|
|
- })
|
|
|
- if (groupOrder.groupType === 'PROMOTION') {
|
|
|
- this.setData({
|
|
|
- colonelName: res.data.data.organizer.wechatName,
|
|
|
- promotion: true
|
|
|
- // joinUserList: this.data.joinUserList
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
- // 去详情页面
|
|
|
- goToDetail: function (detailId) {
|
|
|
- setTimeout(() => {
|
|
|
- wx.redirectTo({
|
|
|
- url: `/pages/groupPage/collage-details/collage-details?orderId=${this.data.orderId}&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.getGroupInfo(orderId);
|
|
|
- } else {
|
|
|
- // 从分享页面进入的
|
|
|
- const orderId = options.productId ? options.productId : options.scene ? options.scene.replace('QR', '') : options.shareId;
|
|
|
- this.setData({
|
|
|
- orderId
|
|
|
- })
|
|
|
- this.getGroupInfo(orderId);
|
|
|
- }
|
|
|
- if (options.scene || options.shareId) {
|
|
|
- this.setData({
|
|
|
- goBackHome: true
|
|
|
- })
|
|
|
-
|
|
|
- }
|
|
|
- }, (error) => {
|
|
|
- wx.setStorageSync('userSourseType','group')
|
|
|
- this.setData({
|
|
|
- hide: !this.data.hide,
|
|
|
- onLoadOption: options
|
|
|
- })
|
|
|
- return;
|
|
|
- });
|
|
|
- },
|
|
|
- // 页面滚动
|
|
|
- pageScroll: function (e) {
|
|
|
- console.log(e.target.offsetTop)
|
|
|
- if (e.target.offsetTop < 600) {
|
|
|
- this.setData({
|
|
|
- hideBottomBtn: true
|
|
|
- })
|
|
|
- }
|
|
|
- if (e.target.offsetTop > 600) {
|
|
|
- this.setData({
|
|
|
- hideBottomBtn: false
|
|
|
- })
|
|
|
- }
|
|
|
- // if(e.target.offsetTop > 600){
|
|
|
- // this.setData({
|
|
|
- // btnClass: 'middle-btn'
|
|
|
- // })
|
|
|
- // }
|
|
|
- },
|
|
|
- // 鉴权
|
|
|
- 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.getGroupInfo(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.goToDetail();
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- modalCloseHandler: function () {
|
|
|
- this.setData({
|
|
|
- isModalShow: false
|
|
|
- })
|
|
|
- if (this.data.modalType === 'image') {
|
|
|
- this.goToDetail();
|
|
|
- }
|
|
|
- },
|
|
|
-})
|