jichoi / lms_front star
박민혁 박민혁 2024-08-23
240823 박민혁
@241e10aa8dbad06292a28e48b5e61aa8923f1dc2
client/views/layout/Header.vue
--- client/views/layout/Header.vue
+++ client/views/layout/Header.vue
@@ -128,14 +128,12 @@
     logout() {
       const result = confirm('로그아웃 하시겠습니까?')
       if (result) {
-
+        this.$store.dispatch('logout');
+        this.goToPage('login');
       } else {
         return;
       }
-      localStorage.removeItem('token');
-      localStorage.removeItem("vuexState");
 
-      this.goToPage('login');
     },
     goToPage(page) {
          this.$router.push({ name: page });
client/views/pages/AppStore.js
--- client/views/pages/AppStore.js
+++ client/views/pages/AppStore.js
@@ -84,6 +84,7 @@
         getCurrentWdBkIndex: (state) => state.currentWdBkIndex,
     },
     mutations: {
+        
         setToken(state, token) {
             state.token = token;
         },
@@ -99,6 +100,15 @@
             state.learningId = null;
             saveStateToLocalStorage(state);
         },
+
+        clearState(state) {
+            const initialState = loadStateFromLocalStorage(); // 초기 상태 로드
+            Object.keys(initialState).forEach(key => {
+                state[key] = initialState[key];
+            });
+            saveStateToLocalStorage(state); // 초기화된 상태 저장
+        },
+    
         setUser(state, userId) {
             state.userId = userId;
             saveStateToLocalStorage(state);
@@ -186,8 +196,9 @@
             localStorage.setItem("token", token);
         },
         logout({ commit }) {
-            commit("clearToken");
+            commit("clearState"); 
             localStorage.removeItem("token");
+            localStorage.removeItem("vuexState");
         },
         updateStdId({ commit }, payload) {
             return new Promise((resolve) => {
Add a comment
List