68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
|
|
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)
|
|
}
|
|
},
|
|
} |