home.js 3.2 KB

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