index.js 958 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import storage from '@/framework/utils/storage'
  4. import layout from '@/framework/layout/layout-store'
  5. import project from "./modules/project"
  6. import alarm from './modules/alarm'
  7. Vue.use(Vuex)
  8. const KEY_LAST_ROUTE = 'last_route'
  9. export default new Vuex.Store({
  10. state: {
  11. flag: 'sagacloud-admin',
  12. ssoToken: null,
  13. lastRoute: null
  14. },
  15. getters: {
  16. flag: state => state.flag,
  17. ssoToken: state => state.ssoToken,
  18. lastRoute: state => {
  19. if (!state.lastRoute) {
  20. let lastRoute = storage.get(KEY_LAST_ROUTE)
  21. if (lastRoute) {
  22. state.lastRoute = lastRoute
  23. }
  24. }
  25. return state.lastRoute
  26. }
  27. },
  28. mutations: {
  29. setSsoToken: (state, val) => (state.ssoToken = val),
  30. setLastRoute: (state, val) => {
  31. state.lastRoute = val
  32. storage.set(KEY_LAST_ROUTE, val)
  33. }
  34. },
  35. actions: {},
  36. modules: {
  37. layout,
  38. project,
  39. alarm
  40. }
  41. })