import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { historicalSearch: [], allForumList: [{}], // 全部板块数据 }, getters: { }, mutations: { setHistoricalSearch(state, payload) { if (!Array.isArray(payload)) payload = [payload] let targetArr = [...new Set([...payload, ...state.historicalSearch])] if (targetArr.length > 10) targetArr = targetArr.slice(0, 10) state.historicalSearch = targetArr localStorage.setItem('historicalSearch', JSON.stringify(targetArr)) }, setAllForumList(state, payload) { state.allForumList = payload }, }, actions: { // 获取历史搜索的数据 fetchHistoricalSearch({ commit }) { let historicalSearch = JSON.parse(localStorage.getItem('historicalSearch')) || [] commit('setHistoricalSearch', historicalSearch) }, // 获取全部板块的数据 getAllForum({ commit }, that) { that.$startupUnderLoading(that) that.$http.get("/api/home/allForum").then(res => { if (res.code != 200) return; let allForumList = res.data commit('setAllForumList', allForumList) }).catch(err => { that.$message.error(err.message) }).finally(() => { that.$closeUnderLoading(that) }) // allForumList } }, modules: { } })