icx-meum-vue-common-module
Version:
icx-meum-vue-common-module
53 lines (48 loc) • 1.63 kB
JavaScript
import * as types from '../mutation-types'
import { COOKIE_CURRENT_PERSON_ID, COOKIE_PERSON_ID } from '../../icx/const'
import VueCookie from 'vue-cookie'
const state = {
personInfo: {},
currentPersonInfo: {},
currentPersonId: VueCookie.get(COOKIE_CURRENT_PERSON_ID) || ''
}
const getters = {
personInfo: (state) => state.personInfo,
currentPersonInfo: (state) => state.currentPersonInfo,
currentPersonId: (state) => state.currentPersonId
}
const mutations = {
[types.LOGIN] (state, data) {
state.personInfo = data || {}
state.currentPersonInfo = data || {}
state.currentPersonId = data.personId
// 当前登录用户
VueCookie.set(COOKIE_PERSON_ID, data.personId, { expires: 7 })
VueCookie.set(COOKIE_CURRENT_PERSON_ID, data.personId, { expires: '1D' })
},
[types.LOGOUT] (state, data) {
state.personInfo = {}
},
[types.GET_PERSON_INFO] (state, payload) {
if (payload) {
if (VueCookie.get(COOKIE_PERSON_ID) && (parseInt(VueCookie.get(COOKIE_PERSON_ID)) === payload.personId)) {
state.personInfo = { ...payload }
}
if (VueCookie.get(COOKIE_CURRENT_PERSON_ID) && (parseInt(VueCookie.get(COOKIE_CURRENT_PERSON_ID)) === payload.personId)) {
state.currentPersonInfo = { ...payload }
state.currentPersonId = state.currentPersonInfo.personId
}
}
},
[types.CHANGE_CURRENT_PERSON_ID] (state, payload) {
if (payload !== null && payload !== void 0) {
VueCookie.set(COOKIE_CURRENT_PERSON_ID, payload, { expires: '1D' })
state.currentPersonId = payload
}
}
}
export default {
state,
getters,
mutations
}