grade-details.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. // pages/grade-details/grade-details.js
  2. import httpRequestApi from '../../../utils/APIClient';
  3. const app = getApp();
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. productId: '',
  10. payList: [],
  11. titleIcon: '',
  12. title: '',
  13. bookInfo: '',
  14. lessonList: [],
  15. content: [{
  16. text: "转发给自己的朋友们,分享好课,",
  17. color: "#000"
  18. },
  19. {
  20. text: " 追随您一起学习进步。您的魅力不是吹的!",
  21. color: "#000"
  22. },
  23. {
  24. text: `在限定时间内成功拼团,您将得到xx元的奖励金哦。`,
  25. color: "#FF4600"
  26. }
  27. ],
  28. share: false,
  29. isIPX: app.globalData.isIPX,
  30. flag: true
  31. },
  32. //tab切换
  33. tabSwitch: function () {
  34. this.setData({
  35. flag: !this.data.flag
  36. })
  37. },
  38. //获取团购信息并掉起支付
  39. pay: function ({
  40. currentTarget
  41. }) {
  42. const productId = this.data.productId;
  43. const groupId = currentTarget.dataset.id;
  44. //开始发起团购
  45. httpRequestApi.SendGroupPurchas({
  46. productId,
  47. groupId
  48. }).success((res) => {
  49. console.log('发起团购', res);
  50. // wx.navigateTo({
  51. // url: `/pages/groupPage/collage-details/collage-details`
  52. // })
  53. if (res.data.message) {
  54. wx.showModal({
  55. title: '提示',
  56. content: res.data.message,
  57. success(res) {
  58. if (res.confirm) {
  59. console.log('用户点击确定')
  60. } else if (res.cancel) {
  61. console.log('用户点击取消')
  62. }
  63. }
  64. })
  65. return false;
  66. }
  67. this.data.content[2].text = res.data.data.groupPurchaseOrder.organizerPrice === 0 ? '' : `在限定时间内内成功拼团,您将得到${res.data.data.groupPurchaseOrder.organizerPrice}元的奖励金哦。`
  68. this.setData({
  69. content: this.data.content
  70. })
  71. // 如果已经拥有当前课程,则无需支付,直接进入拼团成功页面
  72. if (res.data.data.groupPurchaseOrder.group === 'PROMOTION') {
  73. wx.showModal({
  74. title: '重新发起团购',
  75. content: '您会获得奖励哦',
  76. success(res) {
  77. console.log(res)
  78. that.popup.close();
  79. if (res.data.data.groupPurchaseOrder.headCount !== 1) {
  80. setTimeout(() => {
  81. wx.navigateTo({
  82. url: `/pages/groupPage/make-money/make-money?productId=${productId}&id=${res.data.data.groupPurchaseOrder.id}&groupId=${groupId}`
  83. })
  84. wx.setNavigationBarTitle({
  85. title: '拼团详情'
  86. })
  87. }, 3000)
  88. }
  89. }
  90. })
  91. } else {
  92. //掉起支付
  93. this.prePayMap(res.data.data.prePayMap, res.data.data.groupPurchaseOrder.id, res.data.data.groupPurchaseOrder.headCount);
  94. }
  95. }).fail((error) => {
  96. })
  97. },
  98. //支付
  99. prePayMap: function (prePayMap, orderId, num) {
  100. console.log(prePayMap)
  101. const that = this;
  102. //console.log(new Date().getTime())
  103. wx.requestPayment({
  104. 'appId': prePayMap.appId,
  105. 'timeStamp': prePayMap.timeStamp,
  106. 'nonceStr': prePayMap.nonceStr,
  107. 'package': prePayMap.package,
  108. 'signType': 'MD5',
  109. 'paySign': prePayMap.sign,
  110. 'success': function (res) {
  111. console.log('支付成功',res)
  112. wx.showModal({
  113. title: '提示',
  114. content: '支付成功',
  115. success(res) {
  116. console.log(res)
  117. that.popup.close();
  118. if (num !== 1) {
  119. setTimeout(() => {
  120. wx.navigateTo({
  121. url: `/pages/groupPage/collage-details/collage-details?orderId=${orderId}`
  122. })
  123. wx.setNavigationBarTitle({
  124. title: '拼团详情'
  125. })
  126. }, 3000)
  127. }
  128. }
  129. })
  130. },
  131. 'fail': function (res) {
  132. console.log('支付失败', res)
  133. }
  134. })
  135. },
  136. /**
  137. * 生命周期函数--监听页面加载
  138. */
  139. onLoad: function (options) {
  140. console.log(options)
  141. if(options.share){
  142. this.setData({
  143. share: options.share
  144. })
  145. }
  146. // wx.setNavigationBarTitle({
  147. // title: options.title
  148. // })
  149. const productId = options.productId;
  150. if (productId) {
  151. this.setData({
  152. productId
  153. })
  154. }
  155. //课本详情
  156. httpRequestApi.getBookDetail(wx.getStorageSync('uid'), productId).success((res) => {
  157. console.log('课本详情', res.data.data);
  158. const bookInfo = res.data.data.product;
  159. const lessonList = res.data.data.lessonList;
  160. wx.setNavigationBarTitle({
  161. title: bookInfo.title
  162. })
  163. const data = app.towxml.toJson(
  164. bookInfo.description,
  165. 'markdown',
  166. this
  167. )
  168. // data.theme = 'light';
  169. // this.setData({
  170. // article: data
  171. // })
  172. this.setData({
  173. titleIcon: bookInfo.bgImg,
  174. title: bookInfo.title,
  175. bookInfo: bookInfo.description,
  176. article: data
  177. })
  178. const lessonTemp = [];
  179. lessonList.forEach(item => {
  180. const temp = {};
  181. temp.id = item.id;
  182. temp.title = item.title;
  183. temp.readNum = item.readCount;
  184. lessonTemp.push(temp);
  185. });
  186. this.setData({
  187. lessonList: lessonTemp
  188. });
  189. }).fail((error) => {
  190. })
  191. //支付详情
  192. httpRequestApi.getGroupPurchaseInfo(productId).success((res) => {
  193. console.log('支付详情', res.data.data);
  194. this.setData({
  195. payList: res.data.data
  196. })
  197. }).fail((error) => {
  198. })
  199. },
  200. goToClass: function (e) {
  201. let id = e.currentTarget.dataset.id;
  202. let title = e.currentTarget.dataset.title;
  203. wx.navigateTo({
  204. url: `../../main/class/class?id=${id}&title=${title}`
  205. })
  206. },
  207. /**
  208. * 生命周期函数--监听页面初次渲染完成
  209. */
  210. onReady: function () {
  211. //获取弹窗组件
  212. this.popup = this.selectComponent("#popup");
  213. },
  214. /**
  215. * 生命周期函数--监听页面显示
  216. */
  217. onShow: function () {
  218. },
  219. /**
  220. * 生命周期函数--监听页面隐藏
  221. */
  222. onHide: function () {
  223. },
  224. /**
  225. * 生命周期函数--监听页面卸载
  226. */
  227. onUnload: function () {
  228. },
  229. /**
  230. * 页面相关事件处理函数--监听用户下拉动作
  231. */
  232. onPullDownRefresh: function () {
  233. },
  234. /**
  235. * 页面上拉触底事件的处理函数
  236. */
  237. onReachBottom: function () {
  238. },
  239. /**
  240. * 用户点击右上角分享
  241. */
  242. onShareAppMessage: function () {
  243. }
  244. })