riku
2022-08-09 87f6bb4bcb2446b9c9065b58391ae400cd358b77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// pages/module_consult/consultsearch/consultsearch.js
const consultservice = require("../../../service/consultservice")
const app = getApp()
 
Page({
  /**
   * 页面的初始数据
   */
  data: {
    focus: false,
    placeholder: '搜索',
    value: '',
 
    histroy: [],
 
    hotTopic: [],
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getHotTopic()
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
 
  },
 
  onShow: function () {
    this.getLocalHistory()
  },
 
  clearInput() {
    this.setData({
      value: '',
      focus: true,
      result: []
    });
  },
 
  inputChange(e) {
    this.setData({
      value: e.detail.value
    });
  },
 
  /**
   * 搜索
   */
  search() {
    if (this.data.value.length == 0) {
      wx.navigateBack({
        delta: 1,
      })
      return
    }
    var that = this
    wx.navigateTo({
      url: '/pages/module_consult/consultresult/consultresult',
      success: (res) => {
        // 通过 eventChannel 向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', {
          keyword: that.data.value
        })
      },
    })
    
    if (this.data.histroy.indexOf(this.data.value) == -1) {
      this.data.histroy.unshift(this.data.value)
      wx.setStorage({
        data: JSON.stringify(this.data.histroy),
        key: 'search_history',
      })
    }
  },
 
  /**
   * 获取本地缓存搜索历史
   */
  getLocalHistory() {
    var that = this
    wx.getStorage({
      key: 'search_history',
      success: (res) => {
        let h = JSON.parse(res.data)
        that.setData({
          histroy: h
        })
      },
    })
  },
 
  /**
   * 获取热门搜索内容
   */
  getHotTopic() {
    var that = this
    consultservice.getTopicLaw(app.globalData.accessToken.userId, {
      success (res) {
        that.setData({
          hotTopic: res
        })
      }
    })
  },
})