index.js 697 B

123456789101112131415161718192021222324252627282930313233
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import dimension from './modules/dimension'
  4. Vue.use(Vuex)
  5. export default new Vuex.Store({
  6. modules: { dimension },
  7. state: {
  8. token: localStorage.getItem('token') || '',
  9. userInfo: {}
  10. },
  11. mutations: {
  12. setToken(state, token) {
  13. state.token = token
  14. localStorage.setItem('token', token)
  15. },
  16. setUserInfo(state, userInfo) {
  17. state.userInfo = userInfo
  18. },
  19. logout(state) {
  20. state.token = ''
  21. state.userInfo = {}
  22. localStorage.removeItem('token')
  23. }
  24. },
  25. actions: {
  26. login({ commit }, userInfo) {
  27. commit('setToken', userInfo.token)
  28. commit('setUserInfo', userInfo)
  29. }
  30. }
  31. })