72 lines
1.2 KiB
JavaScript
72 lines
1.2 KiB
JavaScript
import Vue from 'vue'
|
|
import Vuex from 'vuex'
|
|
import preState from 'vuex-persistedstate'
|
|
import request from '@/api'
|
|
import router from '@/router'
|
|
|
|
Vue.use(Vuex)
|
|
|
|
export default new Vuex.Store({
|
|
state: {
|
|
token: '',
|
|
mallId: '',
|
|
mallName: '',
|
|
mallList: [],
|
|
activeDlgShow: false,
|
|
userInfo: {},
|
|
routes: [],
|
|
addRoutes: []
|
|
},
|
|
|
|
mutations: {
|
|
setToken (state, token) {
|
|
state.token = token
|
|
},
|
|
setMallId (state, mallId) {
|
|
state.mallId = mallId
|
|
},
|
|
setMallName (state, mallName) {
|
|
state.mallName = mallName
|
|
},
|
|
setMallList (state, mallList) {
|
|
state.mallList = mallList
|
|
},
|
|
SignOut (state) {
|
|
state.token = ''
|
|
state.userInfo = {}
|
|
|
|
setTimeout(() => {
|
|
router.push('/login')
|
|
}, 600)
|
|
},
|
|
|
|
setUserInfo (state, userInfo) {
|
|
state.userInfo = userInfo
|
|
},
|
|
setActiveDlgShow (state, flag) {
|
|
state.activeDlgShow = flag
|
|
}
|
|
},
|
|
|
|
actions: {
|
|
getUserInfo (store) {
|
|
return new Promise(resolve => {
|
|
request.post('/api/malluser/info').then(res => {
|
|
if (res.code === 0) {
|
|
store.commit('setUserInfo', res.data)
|
|
resolve(res.data)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
},
|
|
|
|
getters: {
|
|
isLogin: state => {
|
|
return !!state.token
|
|
}
|
|
},
|
|
|
|
plugins: [preState()]
|
|
})
|