Selaa lähdekoodia

本地缓存用户登录项目

zhangyu 5 vuotta sitten
vanhempi
commit
3dd6c556e6
2 muutettua tiedostoa jossa 14 lisäystä ja 3 poistoa
  1. 6 3
      src/framework/layout/PageHeader.vue
  2. 8 0
      src/framework/layout/layout-store.js

+ 6 - 3
src/framework/layout/PageHeader.vue

@@ -66,9 +66,12 @@ export default {
         }
     },
     created() {
-        let localProjectId = localStorage.getItem('projectId')
-        if(this.projects.some((item) => {return item.id == localProjectId})) {
-            this.selectedProjectId = localProjectId
+        let cacheInfo = JSON.parse(localStorage.getItem('_sagacloud_admin_store_cacheInfo'))?JSON.parse(localStorage.getItem('_sagacloud_admin_store_cacheInfo')):{}
+        if(cacheInfo[this.userInfo.username] && 
+            cacheInfo[this.userInfo.username].projectId && 
+            this.projects.some((item) => {return item.id == cacheInfo[this.userInfo.username].projectId})
+        ){
+            this.selectedProjectId = cacheInfo[this.userInfo.username].projectId
         } else {
             this.selectedProjectId = this.projectId
         }

+ 8 - 0
src/framework/layout/layout-store.js

@@ -63,8 +63,16 @@ export default {
             storage.set(KEY_MENU_SELECTED, val)
         },
         setprojectId: (state, val) => {
+            let cacheInfo = JSON.parse(localStorage.getItem('_sagacloud_admin_store_cacheInfo'))?JSON.parse(localStorage.getItem('_sagacloud_admin_store_cacheInfo')):{}
             state.projectId = val
             localStorage.setItem('projectId', val)
+            if(cacheInfo[state.userInfo.username]){
+                cacheInfo[state.userInfo.username].projectId = val
+                localStorage.setItem('_sagacloud_admin_store_cacheInfo', JSON.stringify(cacheInfo))
+            } else {
+                cacheInfo[state.userInfo.username] = {projectId: val}
+                localStorage.setItem('_sagacloud_admin_store_cacheInfo', JSON.stringify(cacheInfo))
+            }
             storage.set(KEY_PROJECT_SELECTED, val)
             state.projects.map((item) =>{
                 if(item.id == val) {