index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { createStore } from 'vuex'
  2. const loginStatusEnum = {
  3. notLogin: 'not-login',
  4. visitor: 'visitor',
  5. wxUser: 'wxUser',
  6. }
  7. export default createStore({
  8. state: {
  9. haveShownStartUp: true, // 暂定不使用加载页
  10. loginStatus: loginStatusEnum.notLogin,
  11. token: '',
  12. userInfo: {
  13. userName: '',
  14. },
  15. },
  16. getters: {
  17. loginStatusEnum() {
  18. return loginStatusEnum
  19. }
  20. },
  21. mutations: {
  22. recordShowStartUp(state) {
  23. state.haveShownStartUp = true
  24. },
  25. setLoginStatus(state, value) {
  26. state.loginStatus = value
  27. },
  28. setUserName(state, value) {
  29. state.uerInfo.userName = value
  30. },
  31. setToken(state, value) {
  32. state.token = value
  33. localStorage.setItem('token', value)
  34. },
  35. setUserInfo(state, value) {
  36. state.userInfo = value
  37. localStorage.setItem('userInfo', JSON.stringify(value))
  38. if (state.userInfo.score === null) {
  39. state.userInfo.score = 0
  40. }
  41. },
  42. logoutCallback(state) {
  43. state.loginStatus = loginStatusEnum.notLogin
  44. state.token = ''
  45. localStorage.removeItem('token')
  46. state.userInfo = {}
  47. localStorage.removeItem('userInfo')
  48. },
  49. },
  50. actions: {
  51. },
  52. modules: {
  53. }
  54. })