import Cookies from 'js-cookie' export const state = () => ({ locales: ['en-US', 'zh-CN'], locale: 'en-US', userInfo: {}, authorization: '', loading:true }) export const getters = { isLoading(){ return this.loading; }, myAuthorization (state) { return state.authorization }, userInfo (state) { return state.userInfo } } export const mutations = { SET_LOADING(state,loading){ state.loading=loading }, SET_LANG (state, locale) { Cookies.set('lang', JSON.stringify(locale), { expires: 7 }) if (state.locales.indexOf(locale) !== -1) { state.locale = locale } }, SET_USER_INFO (state, userInfo) { Cookies.set('userInfo', JSON.stringify(userInfo), { expires: 7 }) state.userInfo = userInfo }, SET_AUTHORIZATION (state, authorization) { // 继续 时间 继续 有 cookie Cookies.set('authorization', JSON.stringify(authorization), { expires: 7 }) state.authorization = authorization } } export const actions = { // nuxtClientInit ({ commit }, { req }) { // const autho = localStorage.getItem('auth._token.local') // or whatever yours is called // commit('SET_AUTHO', autho) // console.log('From nuxtClientInit - ' + autho) // }, // // 仅 在 当前 index 文件中生效 nuxtServerInit ({ commit }, data) { const { req } = data const authorization = req.headers.authorization || req.headers.Authorization || '' const configCookie = Cookies.get() if (authorization) { commit('SET_AUTHORIZATION', authorization) } if (configCookie) { if (configCookie.userInfo) { commit('SET_USER_INFO', req.cookie.userInfo) } if (configCookie.lang) { commit('SET_LANG', req.cookie.lang) } } } }