import cookieparser from 'cookieparser' import Cookies from 'js-cookie' export const state = () => ({ token: '', category: [], publicData: {}, config: {} }) export const mutations = { setToken(state, token) { state.token = token }, logout() { state.token = '' Cookies.remove('token') }, setCategory(state, data) { state.category = data }, setConfig(state, data) { state.config = data }, setPublic(state, data) { state.publicData = data }, } export const getters = { isLogin:(state) => !!state.token, headTitle: (state) => state.config.name, favicon: (state) => state.config.web_favicon } export const actions = { async nuxtServerInit({dispatch, commit}, {req, app}) { let cookie = req.headers.cookie; if (cookie) { const parsed = cookieparser.parse(cookie) commit('setToken', parsed.token || "") } await dispatch('getCategory') await dispatch('getConfig') await dispatch('getPublicData') }, // 获取分类 async getCategory({commit}) { const { data, code } = await this.$get("pc/category"); if (code == 1) { commit('setCategory', data) } }, // 获取配置 async getConfig({commit}) { const { data, code } = await this.$get("index/config"); if (code == 1) { console.log(data) commit('setConfig', data) } }, async getPublicData({commit}) { const { data, code } = await this.$get("pc/commonData"); if (code == 1) { commit('setPublic', data) } }, }