home.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. let leftHeight = 0
  2. let rightHeight = 0
  3. let query = null
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
  10. txtlist: [
  11. '这是第一条公告内容',
  12. '小程序上下滚动效果总结',
  13. '这是一行上下滚动的文字,文字最好短点,超过一行省略'
  14. ],
  15. headerNav: [{
  16. icon: 'partner@2x.png',
  17. name: '供应商',
  18. path: 'partner'
  19. },
  20. {
  21. icon: 'guide@2x.png',
  22. name: '采购指南',
  23. path: 'guide'
  24. },
  25. {
  26. icon: 'collection@2x.png',
  27. name: '收藏',
  28. path: 'collection'
  29. },
  30. {
  31. icon: '',
  32. name: '农事天地',
  33. path: 'news'
  34. }
  35. ],
  36. category: [
  37. {
  38. name: '全部',
  39. id: '1'
  40. },
  41. {
  42. name: '分类',
  43. id: '2'
  44. },
  45. {
  46. name: '分类',
  47. id: '3'
  48. },
  49. {
  50. name: '分类',
  51. id: '4'
  52. },
  53. {
  54. name: '分类',
  55. id: '5'
  56. },
  57. {
  58. name: '分类',
  59. id: '6'
  60. }
  61. ],
  62. currentCategory: '2',
  63. list: [],
  64. leftList: [],
  65. rightList: []
  66. },
  67. /**
  68. * 生命周期函数--监听页面加载
  69. */
  70. onLoad(options) {
  71. },
  72. /**
  73. * 生命周期函数--监听页面初次渲染完成
  74. */
  75. onReady() {
  76. },
  77. /**
  78. * 生命周期函数--监听页面显示
  79. */
  80. onShow() {
  81. this.getTabBar().init()
  82. },
  83. /**
  84. * 生命周期函数--监听页面隐藏
  85. */
  86. onHide() {
  87. },
  88. /**
  89. * 生命周期函数--监听页面卸载
  90. */
  91. onUnload() {
  92. },
  93. /**
  94. * 页面相关事件处理函数--监听用户下拉动作
  95. */
  96. onPullDownRefresh() {
  97. },
  98. /**
  99. * 页面上拉触底事件的处理函数
  100. */
  101. onReachBottom() {
  102. },
  103. /**
  104. * 用户点击右上角分享
  105. */
  106. onShareAppMessage() {
  107. },
  108. async isLeft() {
  109. const {
  110. list,
  111. leftList,
  112. rightList
  113. } = this.data
  114. query = wx.createSelectorQuery()
  115. for (const item of list) {
  116. leftHeight <= rightHeight ? leftList.push(item) : rightList.push(item)
  117. await this.getBoxHeight(leftList, rightList)
  118. }
  119. },
  120. getBoxHeight(leftList, rightList) {
  121. return new Promise((resolve, reject) => {
  122. this.setData({
  123. leftList,
  124. rightList
  125. }, () => {
  126. query.select('.waterfall-left').boundingClientRect()
  127. query.select('.waterfall-right').boundingClientRect()
  128. query.exec((res) => {
  129. leftHeight = res[0].height
  130. rightHeight = res[1].height
  131. resolve()
  132. })
  133. })
  134. })
  135. },
  136. jumpLeavingAMessage() {
  137. wx.navigateTo({
  138. url: '/pages/leavingAMessage/leavingAMessage'
  139. })
  140. },
  141. handleNav(e) {
  142. const { item } = e.currentTarget.dataset
  143. if (Object.prototype.toString.call(item) === '[object Object]' && item.path) {
  144. const path = item.path
  145. if (path === 'news' || path === 'partner') {
  146. wx.switchTab({
  147. url: `/pages/${path}/${path}`
  148. })
  149. return
  150. }
  151. wx.navigateTo({
  152. url: `/pages/${path}/${path}`
  153. })
  154. }
  155. },
  156. openMarketing(e) {
  157. const { page } = e.currentTarget.dataset
  158. wx.navigateTo({
  159. url: `/pages/${page}/${page}`
  160. })
  161. }
  162. })