import Cookies from 'js-cookie' import userApi from '@/api/user' // initial state const state = { userName: Cookies.get('XzsStudentUserName'), userInfo: Cookies.get('XzsStudentUserInfo'), imagePath: Cookies.get('XzsStudentImagePath'), messageCount: 0 } // actions const actions = { initUserInfo ({ commit }) { userApi.getCurrentUser().then(re => { commit('setUserInfo', re.response) }) }, getUserMessageInfo ({ commit }) { userApi.getMessageCount().then(re => { commit('setMessageCount', re.response) }) } } // mutations const mutations = { setUserName (state, userName) { state.userName = userName Cookies.set('XzsStudentUserName', userName, { expires: 30 }) }, setUserInfo (state, userName) { state.userName = userName Cookies.set('XzsStudentUserName', userName, { expires: 30 }) }, setImagePath: (state, imagePath) => { state.imagePath = imagePath Cookies.set('XzsStudentImagePath', imagePath, { expires: 30 }) }, setMessageCount: (state, messageCount) => { state.messageCount = messageCount }, messageCountSubtract: (state, num) => { state.messageCount = state.messageCount - num }, clearLogin (state) { Cookies.remove('XzsStudentUserName') Cookies.remove('XzsStudentUserInfo') } } export default { namespaced: true, state, mutations, actions }