diff --git a/src/App.vue b/src/App.vue index 6c0479c..a0c4134 100755 --- a/src/App.vue +++ b/src/App.vue @@ -11,7 +11,10 @@ export default { data() { return { } - } + }, + mounted() { + this.$store.dispatch('fetchHistoricalSearch') + }, } diff --git a/src/components/SearchBox.vue b/src/components/SearchBox.vue index 22646ba..ea4ca39 100755 --- a/src/components/SearchBox.vue +++ b/src/components/SearchBox.vue @@ -11,7 +11,8 @@
- +
@@ -45,13 +46,14 @@ export default { searchWinShow: false,//显示搜索弹窗 searchText: '', showClear: false, //显示清除按钮 - historicalSearch: [], // 历史搜索 + historicalSearch: this.$store.state.historicalSearch, // 历史搜索 } }, props: ["issearch", "hotSearchkeywords"], watch: { historicalSearch(val, oldval) { + if (val.length > 10) this.historicalSearch.slice(0, 10) localStorage.setItem('historicalSearch', JSON.stringify(val)); } }, @@ -83,7 +85,12 @@ export default { // 跳转搜索结果 toSearchResult(kw) { + + if (!kw) return this.historicalSearch.push(kw) + + if (!this.historicalSearch.includes(kw)) this.historicalSearch.unshift(kw) + this.$router.push(`/searchResult?kw=${kw}`) }, }, diff --git a/src/store/index.js b/src/store/index.js index ceffa8e..287630c 100755 --- a/src/store/index.js +++ b/src/store/index.js @@ -5,12 +5,20 @@ Vue.use(Vuex) export default new Vuex.Store({ state: { + historicalSearch: [] }, getters: { }, mutations: { + setHistoricalSearch(state, payload) { + state.historicalSearch = payload + } }, actions: { + fetchHistoricalSearch({ commit }) { + let historicalSearch = JSON.parse(localStorage.getItem('historicalSearch')) || [] + commit('setHistoricalSearch', historicalSearch) + } }, modules: { } diff --git a/src/views/search/searchResult/SearchResult.vue b/src/views/search/searchResult/SearchResult.vue index 83c8dc6..4a0101a 100755 --- a/src/views/search/searchResult/SearchResult.vue +++ b/src/views/search/searchResult/SearchResult.vue @@ -28,7 +28,7 @@
@@ -42,7 +42,6 @@
-