collage-details.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // pages/groupPage/collage-details/collage-details.js
  2. import httpRequestApi from '../../../utils/APIClient';
  3. import util from '../../../utils/util';
  4. const app = getApp()
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. groupPurchaseInfo: {},
  11. organizer: {},
  12. surplusNum: '',
  13. joinUserList: [],
  14. surplusList: [],
  15. timeList: [],
  16. productId: '',
  17. orderId: '',
  18. groupId: '',
  19. content: [{
  20. text: "转发给自己的朋友们",
  21. color: "#000"
  22. },
  23. {
  24. text: " 分享好课,追随您一起学习进步",
  25. color: "#000"
  26. },
  27. {
  28. text: " 您的魅力不是吹的",
  29. color: "#000"
  30. },
  31. {
  32. text: "在限定时间内成功拼团,您将得到奖学金。",
  33. color: "#FF4600"
  34. }
  35. ],
  36. ifGroupSuccessed: false,
  37. organizerUid: '',
  38. hosterUid: '',
  39. colonelName: '',
  40. rewardMoney: '',
  41. goBackHome: false,
  42. dataLoading: true
  43. },
  44. //显示分享页
  45. openShare: function () {
  46. if (this.data.ifGroupSuccessed) {
  47. const productId = this.data.productId;
  48. const id = this.data.orderId;
  49. const groupId = this.data.groupId;
  50. wx.navigateTo({
  51. url: `/pages/groupPage/grade-details/grade-details?productId=${productId}&id=${id}&groupId=${groupId}&share=true`
  52. })
  53. } else {
  54. this.shareDialog = this.selectComponent("#share-dialog");
  55. const data = {
  56. avatar: this.data.organizer.avatar,
  57. author: this.data.organizer.wechatName,
  58. iconImg: this.data.groupPurchaseInfo.bgImg,
  59. title: this.data.groupPurchaseInfo.productTitle,
  60. path: `pages/groupPage/group-details/group-details`,
  61. scene: `QR${this.data.orderId}`,
  62. groupPurchaseInfo: this.data.groupPurchaseInfo,
  63. groupType: this.data.groupOsType
  64. }
  65. this.shareDialog.share(data);
  66. }
  67. },
  68. // 下拉刷新
  69. onPullDownRefresh: function () {
  70. this.setData({
  71. surplusList: []
  72. }, () => {
  73. this.getInfo();
  74. })
  75. wx.showNavigationBarLoading() //在标题栏中显示加载
  76. //模拟加载
  77. setTimeout(function () {
  78. wx.hideNavigationBarLoading() //完成停止加载
  79. wx.stopPullDownRefresh() //停止下拉刷新
  80. }, 1500);
  81. },
  82. /**
  83. * 生命周期函数--监听页面加载
  84. */
  85. onLoad: function (options) {
  86. // if (app.globalData.isIOS) {
  87. // wx.redirectTo({
  88. // url: '../../index/index'
  89. // })
  90. // return
  91. // }
  92. if (options.read) {
  93. this.setData({
  94. ifGroupSuccessed: options.read
  95. })
  96. }
  97. if (options.goBackHome == 'true') {
  98. this.setData({
  99. goBackHome: true
  100. })
  101. }
  102. // options.scene = 'QR1541862338777268';
  103. wx.setNavigationBarTitle({
  104. title: '拼团详情'
  105. })
  106. console.log(options);
  107. console.log(options.orderId);
  108. const orderId = options.orderId ? options.orderId : options.scene.replace('QR', '');
  109. const hosterUid = wx.getStorageSync('uid')
  110. this.setData({
  111. orderId,
  112. hosterUid
  113. }, () => {
  114. this.getInfo()
  115. })
  116. },
  117. getInfo: function () {
  118. httpRequestApi.getMygroupInfo(this.data.orderId).success(res => {
  119. const groupOrder = res.data.data.groupPurchaseOrder;
  120. const surplusNum = groupOrder.headcount - groupOrder.joinCount;
  121. this.setData({
  122. organizerUid: groupOrder.organizer,
  123. ifGroupSuccessed: groupOrder.status === 'SUCCESSED' ? true : false
  124. })
  125. for (var i = 0; i < surplusNum; i++) {
  126. this.data.surplusList.push(1);
  127. }
  128. // 剩余时间 如果团购已结束则不显示
  129. let timeLast = '';
  130. const stillGoing = groupOrder.closeTime - Date.parse(new Date()) <= 0 ? false : true
  131. if (stillGoing) {
  132. timeLast = util.lastHours(groupOrder.closeTime - Date.parse(new Date()));
  133. }
  134. this.setData({
  135. groupPurchaseInfo: res.data.data.groupPurchaseInfo,
  136. organizer: res.data.data.organizer,
  137. surplusNum,
  138. joinUserList: res.data.data.joinUserList,
  139. surplusList: this.data.surplusList,
  140. timeLast,
  141. stillGoing,
  142. productId: groupOrder.productId,
  143. groupId: groupOrder.groupId,
  144. rewardMoney: res.data.data.groupPurchaseInfo.organizerPrice / 100,
  145. dataLoading: false,
  146. groupOsType: groupOrder.os
  147. })
  148. if (groupOrder.groupType === 'PROMOTION') {
  149. this.setData({
  150. colonelName: res.data.data.organizer.wechatName,
  151. promotion: true
  152. // joinUserList: this.data.joinUserList
  153. })
  154. }
  155. })
  156. },
  157. /**
  158. * 生命周期函数--监听页面初次渲染完成
  159. */
  160. onReady: function () {
  161. this.shareDialog = this.selectComponent("#share-dialog");
  162. },
  163. /**
  164. * 用户点击右上角分享
  165. */
  166. onShareAppMessage: function (ops) {
  167. if (ops.from === 'button') {
  168. console.log(ops.target)
  169. }
  170. const id = this.data.orderId;
  171. const data = {
  172. shareTypeEnum: 'LINK',
  173. shareContentEnum: 'GROUP',
  174. productId: this.data.productId
  175. }
  176. httpRequestApi.shareRecord(data).success((res) => {
  177. console.log(res)
  178. })
  179. return {
  180. title: '老师同学都在玩的配音show,你还在等什么?',
  181. path: `pages/groupPage/group-details/group-details?share=true&shareId=${id}`,
  182. imageUrl: `https://efunbox.lingjiao.cn/reader/resource/share/group_${this.data.productId}.jpg`,
  183. }
  184. }
  185. })