search.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. // pages/searchList/searchList.js
  2. const app = getApp()
  3. var host = app.globalData.host;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. act: 0,
  10. data: [],
  11. keyword: '',
  12. type: '',
  13. left: 0,
  14. top: 0,
  15. title: '',
  16. value: '',
  17. list: [],
  18. page: 1,
  19. loading: true
  20. },
  21. /**
  22. * 生命周期函数--监听页面加载
  23. */
  24. onLoad: function (options) {
  25. // options.keyword='科学'
  26. this.setData({
  27. type: options.type,
  28. title: '相关'+options.title
  29. })
  30. },
  31. getData: function () {
  32. wx.showNavigationBarLoading()
  33. wx.request({
  34. url: host + '/api/search',
  35. method: 'GET',
  36. data: {
  37. keyword: this.data.keyword,
  38. type: this.data.type,
  39. page_size: 20,
  40. page: this.data.page
  41. },
  42. success: res => {
  43. wx.hideNavigationBarLoading()
  44. let list = this.data.list, data = res.data.data[0].list;
  45. if (data.length <= 0) {
  46. this.setData({
  47. loading: false
  48. })
  49. return;
  50. }
  51. for (let i = 0; i < data.length; i++) {
  52. data[i].name = data[i].name.replace(this.data.keyword, '<span style="color:#3780CD;">' + this.data.keyword + '</span>')
  53. list.push(data[i])
  54. }
  55. this.setData({
  56. title: res.data.data[0].name,
  57. value: res.data.data[0].value,
  58. list: list
  59. })
  60. },
  61. fail: function () {
  62. wx.hideLoading();
  63. wx.showToast({
  64. title: '服务器开小差啦!',
  65. icon: 'none'
  66. })
  67. }
  68. })
  69. },
  70. next: function () {
  71. if (this.data.loading) {
  72. this.setData({
  73. page: this.data.page + 1
  74. })
  75. this.getData()
  76. }
  77. },
  78. search: function () {
  79. this.setData({
  80. list:[],
  81. page:1,
  82. top: 0
  83. })
  84. this.getData();
  85. },
  86. inputChange: function (e) {
  87. this.setData({
  88. keyword: e.detail.value,
  89. page: 1,
  90. list: [],
  91. top: 0
  92. })
  93. this.getData();
  94. },
  95. tab: function (e) {
  96. var i = e.target.dataset.id;
  97. var array = ['', 'organizer', 'article', 'conference', 'journal', 'subject'];
  98. this.setData({
  99. type: array[i],
  100. act: i,
  101. top: 0,
  102. list: [],
  103. page: 1,
  104. loading: true
  105. })
  106. this.getData()
  107. },
  108. more: function (e) {
  109. var value = e.target.dataset.id;
  110. this.setData({
  111. type: value,
  112. act: e.target.dataset.index,
  113. left: e.target.dataset.index > 3 ? 250 : 0,
  114. list: [],
  115. top: 0,
  116. page: 1,
  117. loading: true
  118. })
  119. },
  120. /**organizer/article/conference/journal/subject
  121. * 生命周期函数--监听页面初次渲染完成
  122. */
  123. onReady: function () {
  124. },
  125. /**
  126. * 生命周期函数--监听页面显示
  127. */
  128. onShow: function () {
  129. },
  130. /**
  131. * 生命周期函数--监听页面隐藏
  132. */
  133. onHide: function () {
  134. },
  135. /**
  136. * 生命周期函数--监听页面卸载
  137. */
  138. onUnload: function () {
  139. },
  140. /**
  141. * 页面相关事件处理函数--监听用户下拉动作
  142. */
  143. onPullDownRefresh: function () {
  144. },
  145. /**
  146. * 页面上拉触底事件的处理函数
  147. */
  148. onReachBottom: function () {
  149. },
  150. /**
  151. * 用户点击右上角分享
  152. */
  153. onShareAppMessage: function () {
  154. }
  155. })