activityList.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. const { default: activity } = require("../../api/activity");
  2. // pages/activityList/activityList.js
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. userMobile:'',
  9. //火热
  10. list: [], //卡券列表
  11. page:1,
  12. pageNum:10,
  13. count:0,
  14. },
  15. /**
  16. * 生命周期函数--监听页面加载
  17. */
  18. onLoad: function () {
  19. this.getList()
  20. },
  21. /**
  22. * 生命周期函数--监听页面初次渲染完成
  23. */
  24. onReady: function () {
  25. },
  26. /**
  27. * 生命周期函数--监听页面显示
  28. */
  29. onShow: function () {
  30. },
  31. /**
  32. * 生命周期函数--监听页面隐藏
  33. */
  34. onHide: function () {
  35. },
  36. /**
  37. * 生命周期函数--监听页面卸载
  38. */
  39. onUnload: function () {
  40. },
  41. /**
  42. * 页面相关事件处理函数--监听用户下拉动作
  43. */
  44. onPullDownRefresh: function () {
  45. },
  46. /**
  47. * 页面上拉触底事件的处理函数
  48. */
  49. onReachBottom: function () {
  50. var totalPage = Math.ceil(this.data.count/this.data.pageNum)
  51. console.log('到底了')
  52. var page = this.data.page
  53. page++;
  54. this.setData({
  55. page:page
  56. })
  57. if(page<=totalPage){
  58. console.log(123)
  59. this.getList();
  60. }
  61. },
  62. /**
  63. * 用户点击右上角分享
  64. */
  65. onShareAppMessage: function () {
  66. },
  67. goToShare(e){
  68. console.log(e)
  69. wx.navigateTo({
  70. url: '/pages/activityInfo/activityInfo?id='+e.currentTarget.dataset.id,
  71. })
  72. },
  73. getPhoneNumber(e) {
  74. let _self = this;
  75. var encryptedData = e.detail.encryptedData;
  76. var iv = e.detail.iv;
  77. if (!encryptedData || encryptedData.length == 0 || !iv || iv.length == 0) {
  78. return;
  79. }
  80. //获取手机号
  81. getApp().doDecodePhone(encryptedData, iv, function () {
  82. let userMobile = activity.getMobileCache();
  83. console.log(userMobile)
  84. if (userMobile.length !== 0) {
  85. _self.setData({
  86. userMobile: userMobile,
  87. })
  88. }
  89. });
  90. },
  91. getList: async function() {
  92. var result = await activity.getActivityList(this.data.page,this.data.pageNum,2);
  93. var list = this.handleCouponList(result.list);
  94. if(this.data.page != 1){
  95. var nowResult = this.data.list.concat(list)
  96. }else{
  97. var nowResult = list
  98. }
  99. this.setData({
  100. list:nowResult,
  101. count:result.count,
  102. page:result.page
  103. })
  104. },
  105. handleCouponList(list) {
  106. if (list.length === 0) {
  107. return list;
  108. }
  109. var objSwitch = getApp().globalData.typeSwitchObj
  110. for (let i = 0; i < list.length; i++) {
  111. var couponList = list[i].activityCouponList;
  112. var couponTypeAndNumObj = {};
  113. for (let j = 0; j < couponList.length; j++) {
  114. var couponNum = couponList[j]['num'] ? couponList[j]['num'] : 1;
  115. var value = couponList[j]['coupon']['type'];
  116. var showText = objSwitch[couponList[j]['coupon']['type']];
  117. var nowNume = 0;
  118. if (couponTypeAndNumObj[value]) {
  119. nowNume = couponTypeAndNumObj[value]['num'];
  120. console.log(nowNume)
  121. }
  122. couponTypeAndNumObj[value] = {
  123. "typeText": showText,
  124. "num": couponNum + nowNume
  125. }
  126. }
  127. list[i].couponTypeAndNum = couponTypeAndNumObj
  128. }
  129. console.log(list);
  130. return list;
  131. },
  132. })