UNPKG

icx-meum-vue-common-module

Version:

icx-meum-vue-common-module

53 lines (48 loc) 1.63 kB
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 }