Browse Source

vuex persistent

Unknown 7 years ago
parent
commit
0d3d9c4883
2 changed files with 32 additions and 5 deletions
  1. 2 1
      src/store/getters.js
  2. 30 4
      src/store/modules/breadcrumb.js

+ 2 - 1
src/store/getters.js

4
   avatar: state => state.user.avatar,
4
   avatar: state => state.user.avatar,
5
   username: state => state.user.username,
5
   username: state => state.user.username,
6
   roles: state => state.user.roles,
6
   roles: state => state.user.roles,
7
-  visible: state => state.breadcrumb.visible
7
+  visible: state => state.breadcrumb.visible,
8
+  data: state => state.breadcrumb.data
8
 }
9
 }
9
 export default getters
10
 export default getters

+ 30 - 4
src/store/modules/breadcrumb.js

1
 // TODO refactor better state mangement
1
 // TODO refactor better state mangement
2
+const { localStorage } = window
2
 const breadcrumb = {
3
 const breadcrumb = {
3
   state: {
4
   state: {
4
     visible: {
5
     visible: {
6
       secondLayer: false,
7
       secondLayer: false,
7
       thirdLayer: false,
8
       thirdLayer: false,
8
       fourLayer: false
9
       fourLayer: false
10
+    },
11
+    data: {
12
+      firstLayer: JSON.parse(localStorage.getItem('firstLayer')),
13
+      secondLayer: JSON.parse(localStorage.getItem('secondLayer')),
14
+      thirdLayer: JSON.parse(localStorage.getItem('thirdLayer')),
15
+      fourLayer: JSON.parse(localStorage.getItem('fourLayer'))
9
     }
16
     }
10
   },
17
   },
11
   mutations: {
18
   mutations: {
12
-    SET_VISIBLE: (state, visible) => {
13
-      switch (visible) {
19
+    SET_VISIBLE: (state, layer) => {
20
+      switch (layer) {
14
         case 1:
21
         case 1:
15
           state.visible = {
22
           state.visible = {
16
             firstLayer: true,
23
             firstLayer: true,
44
           }
51
           }
45
           break
52
           break
46
       }
53
       }
54
+    },
55
+    SET_DATA: (state, option) => {
56
+      switch (option.layer) {
57
+        case 1:
58
+          localStorage.setItem('firstLayer', JSON.stringify(option.data))
59
+          break
60
+        case 2:
61
+          localStorage.setItem('secondLayer', JSON.stringify(option.data))
62
+          break
63
+        case 3:
64
+          localStorage.setItem('thirdLayer', JSON.stringify(option.data))
65
+          break
66
+        case 4:
67
+          localStorage.setItem('fourLayer', JSON.stringify(option.data))
68
+          break
69
+      }
47
     }
70
     }
48
   },
71
   },
49
   actions: {
72
   actions: {
50
-    SetVisible({ commit }, visible) {
51
-      commit('SET_VISIBLE', visible)
73
+    SetVisible({ commit }, layer) {
74
+      commit('SET_VISIBLE', layer)
75
+    },
76
+    SetData({ commit }, option) {
77
+      commit('SET_DATA', option)
52
     }
78
     }
53
   }
79
   }
54
 }
80
 }