index.js 627 B

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