search-page.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // pages/search-page/search-page.js
  2. var http = require('../../utils/http.js');
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. hotSearchList: [],
  9. prodName:"",
  10. recentSearch: [],
  11. },
  12. /**
  13. * 生命周期函数--监听页面加载
  14. */
  15. onLoad: function (options) {
  16. },
  17. /**
  18. * 生命周期函数--监听页面初次渲染完成
  19. */
  20. onReady: function () {
  21. },
  22. /**
  23. * 生命周期函数--监听页面显示
  24. */
  25. onShow: function () {
  26. var ths = this;
  27. //热门搜索
  28. var params = {
  29. url: "/search/hotSearch",
  30. method: "GET",
  31. data: {
  32. number:10,
  33. sort:1,
  34. },
  35. callBack: function (res) {
  36. ths.setData({
  37. hotSearchList:res,
  38. });
  39. },
  40. };
  41. http.request(params);
  42. // 获取历史搜索
  43. this.getRecentSearch();
  44. },
  45. /**
  46. * 获取历史搜索
  47. */
  48. getRecentSearch: function () {
  49. let recentSearch = wx.getStorageSync('recentSearch');
  50. this.setData({
  51. recentSearch
  52. });
  53. },
  54. /**
  55. * 搜索提交
  56. */
  57. toSearchProdPage: function () {
  58. if (this.data.prodName.trim()) {
  59. // 记录最近搜索
  60. let recentSearch = wx.getStorageSync('recentSearch') || [];
  61. recentSearch = recentSearch.filter(item => item !== this.data.prodName)
  62. recentSearch.unshift(this.data.prodName);
  63. if (recentSearch.length>10){
  64. recentSearch.pop();
  65. }
  66. wx.setStorageSync('recentSearch', recentSearch);
  67. // 跳转到商品列表页
  68. wx.navigateTo({
  69. url: '/pages/search-prod-show/search-prod-show?prodName=' + this.data.prodName,
  70. })
  71. }
  72. },
  73. /**
  74. * 清空搜索历史
  75. */
  76. clearSearch: function () {
  77. wx.removeStorageSync('recentSearch');
  78. this.getRecentSearch();
  79. },
  80. /**
  81. * 生命周期函数--监听页面隐藏
  82. */
  83. onHide: function () {
  84. },
  85. /**
  86. * 生命周期函数--监听页面卸载
  87. */
  88. onUnload: function () {
  89. },
  90. /**
  91. * 页面相关事件处理函数--监听用户下拉动作
  92. */
  93. onPullDownRefresh: function () {
  94. },
  95. /**
  96. * 页面上拉触底事件的处理函数
  97. */
  98. onReachBottom: function () {
  99. },
  100. /**
  101. * 用户点击右上角分享
  102. */
  103. onShareAppMessage: function () {
  104. },
  105. // 返回首页
  106. goBackIndex:function(){
  107. wx.navigateBack({
  108. // url: '/pages/search-page/search-page',
  109. })
  110. },
  111. //输入商品名获取数据 || 绑定输入值
  112. getSearchContent:function(e){
  113. this.setData({
  114. prodName: e.detail.value
  115. })
  116. // this.data.prodName=e.detail.value
  117. },
  118. //点击搜素历史
  119. onHistSearch:function(e){
  120. var name = e.currentTarget.dataset.name;
  121. this.setData({
  122. prodName: name
  123. });
  124. this.toSearchProdPage();
  125. }
  126. })