home.js 3.1 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: '',
  17. name: '供应商',
  18. path: 'partner'
  19. },
  20. {
  21. icon: '',
  22. name: '采购指南',
  23. path: 'guide'
  24. },
  25. {
  26. icon: '',
  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. },
  82. /**
  83. * 生命周期函数--监听页面隐藏
  84. */
  85. onHide() {
  86. },
  87. /**
  88. * 生命周期函数--监听页面卸载
  89. */
  90. onUnload() {
  91. },
  92. /**
  93. * 页面相关事件处理函数--监听用户下拉动作
  94. */
  95. onPullDownRefresh() {
  96. },
  97. /**
  98. * 页面上拉触底事件的处理函数
  99. */
  100. onReachBottom() {
  101. },
  102. /**
  103. * 用户点击右上角分享
  104. */
  105. onShareAppMessage() {
  106. },
  107. async isLeft() {
  108. const {
  109. list,
  110. leftList,
  111. rightList
  112. } = this.data
  113. query = wx.createSelectorQuery()
  114. for (const item of list) {
  115. leftHeight <= rightHeight ? leftList.push(item) : rightList.push(item)
  116. await this.getBoxHeight(leftList, rightList)
  117. }
  118. },
  119. getBoxHeight(leftList, rightList) {
  120. return new Promise((resolve, reject) => {
  121. this.setData({
  122. leftList,
  123. rightList
  124. }, () => {
  125. query.select('.waterfall-left').boundingClientRect()
  126. query.select('.waterfall-right').boundingClientRect()
  127. query.exec((res) => {
  128. leftHeight = res[0].height
  129. rightHeight = res[1].height
  130. resolve()
  131. })
  132. })
  133. })
  134. },
  135. jumpLeavingAMessage() {
  136. wx.navigateTo({
  137. url: '/pages/leavingAMessage/leavingAMessage'
  138. })
  139. },
  140. handleNav(e) {
  141. const { item } = e.currentTarget.dataset
  142. if (Object.prototype.toString.call(item) === '[object Object]' && item.path) {
  143. const path = item.path
  144. if (path === 'news' || path === 'partner') {
  145. wx.switchTab({
  146. url: `/pages/${path}/${path}`
  147. })
  148. return
  149. }
  150. wx.navigateTo({
  151. url: `/pages/${path}/${path}`
  152. })
  153. }
  154. },
  155. openMarketing(e) {
  156. const { page } = e.currentTarget.dataset
  157. wx.navigateTo({
  158. url: `/pages/${page}/${page}`
  159. })
  160. }
  161. })