profile.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. // pages/luckDraw/profile.js
  2. import LuckDraw from '../../api/luck-draw'
  3. import { parseTime } from '../../utils/util'
  4. import {getMobileCache, getPhoneNumber as getPhoneNumberSync} from '../../utils/user'
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. page: 1,
  11. pageSize: 10,
  12. lock: false,
  13. noResult: false,
  14. noMore: false,
  15. isLogin: false,
  16. mobileTop: 'TONY WU',
  17. couponNum: 0,
  18. productNum: 0,
  19. goodsItemList: []
  20. },
  21. /**
  22. * 生命周期函数--监听页面加载
  23. */
  24. onLoad: function (options) {
  25. this.setData({
  26. isLogin: getMobileCache() != ''
  27. })
  28. if(this.data.isLogin){
  29. this.getUserPrizeList();
  30. }
  31. },
  32. /**
  33. * 生命周期函数--监听页面初次渲染完成
  34. */
  35. onReady: function () {
  36. },
  37. /**
  38. * 生命周期函数--监听页面显示
  39. */
  40. onShow: function () {
  41. },
  42. /**
  43. * 生命周期函数--监听页面隐藏
  44. */
  45. onHide: function () {
  46. },
  47. /**
  48. * 生命周期函数--监听页面卸载
  49. */
  50. onUnload: function () {
  51. },
  52. /**
  53. * 页面相关事件处理函数--监听用户下拉动作
  54. */
  55. onPullDownRefresh: function () {
  56. },
  57. /**
  58. * 用户点击右上角分享
  59. */
  60. onShareAppMessage: function () {
  61. },
  62. getUserPrizeList: function() {
  63. LuckDraw.getUserPrizeList({
  64. page: this.data.page,
  65. pageSize: this.data.pageSize,
  66. mobile: getMobileCache(),
  67. goodsType: 1
  68. }).then(res => {
  69. if (res.code == 200) {
  70. this.uaerPrizeListView(res.data)
  71. }
  72. this.data.lock = false
  73. }).catch(_ => {
  74. console.log(_)
  75. this.data.lock = false
  76. })
  77. },
  78. uaerPrizeListView: function(data) {
  79. if (!Array.isArray(data.goodsItemList) || data.goodsItemList.length == 0) {
  80. console.log("优惠券数据为空");
  81. if (this.data.page == 1) {
  82. this.setData({
  83. mobileTop:getMobileCache(),
  84. couponNum: data.couponNum,
  85. productNum: data.productNum,
  86. noResult: true
  87. })
  88. } else {
  89. this.setData({
  90. mobileTop:getMobileCache(),
  91. noMore: true
  92. })
  93. }
  94. return
  95. }
  96. data.goodsItemList.forEach(v => {
  97. let beginTime = v.couponBeginTimestamp
  98. let endTime = v.couponEndTimestamp
  99. v.couponBeginTimestamp = parseTime(beginTime, "{y}.{m}.{d}")
  100. v.couponEndTimestamp = parseTime(endTime, "{y}.{m}.{d}")
  101. if(v.couponType == 'D' && v.discount >0){
  102. v.discount /= 10
  103. }
  104. })
  105. if (this.data.page == 1) {
  106. this.setData({
  107. couponNum: data.couponNum,
  108. productNum: data.productNum
  109. })
  110. }
  111. this.data.goodsItemList = this.data.goodsItemList.concat(...data.goodsItemList)
  112. this.setData({
  113. mobileTop:getMobileCache(),
  114. goodsItemList: this.data.goodsItemList
  115. })
  116. },
  117. /**
  118. * 页面上拉触底事件的处理函数
  119. */
  120. onReachBottom: function () {
  121. if (this.data.lock || this.data.noMore) {
  122. return
  123. }
  124. this.data.lock = true
  125. this.data.page++
  126. this.getUserPrizeList()
  127. },
  128. toPrize(e) {
  129. const url = "prize?id=" + e.currentTarget.dataset.id
  130. wx.redirectTo({
  131. url
  132. })
  133. },
  134. turnPrize: function() {
  135. console.log("开始查看")
  136. if (this.lock || !this.data.isLogin) {
  137. return
  138. }
  139. this.lock = true
  140. },
  141. // 授权手机号
  142. getPhoneNumber(e) {
  143. getPhoneNumberSync(e, _ => {
  144. this.setData({
  145. isLogin: true,
  146. mobileTop:getMobileCache(),
  147. })
  148. console.log(this.data.mobileTop)
  149. this.getUserPrizeList()
  150. })
  151. },
  152. toRecordPrize(e) {
  153. const url = "recordPrize?id=" + e.currentTarget.dataset.id
  154. wx.redirectTo({
  155. url
  156. })
  157. },
  158. })