ads367 / AJIN-ERP star
류윤주 류윤주 2024-03-11
20240311 이세현 로그인 기능 기본셋팅
@286eff24c0be95d91aa4e3418b8ee46dfa9dfcca
client/views/pages/AppRouter.js
--- client/views/pages/AppRouter.js
+++ client/views/pages/AppRouter.js
@@ -40,4 +40,37 @@
   routes,
 });
 
+// AppRouter.beforeEach(async (to, from, next)=>{
+//   const userId = store.state.loginUser;
+  
+//   if(userId == null && to.path != '/login.page'){
+//       var vm = this;                
+//       axios({
+//           url: '/getLoginInfo.json',
+//           method: 'post',             
+//           headers: {
+//               'Content-Type': 'application/json; charset=UTF-8'                    
+//           }       
+//       }).then(function (response) {     
+//           // 로그인 정보 있음
+//           if(response.data.checkMessage.status > 0){     
+//               store.commit('setLoginUser',response.data.resultData.LoginUserInfo);           
+//               next()    
+//           }else{
+//             next('/login.page')
+//           }
+//       }).catch(function (error) {
+//           console.log(error);
+//       });
+//   }else{
+//     if(to.path == '/login.page' && userId == null){    
+//        next()
+//     }else if(to.path != '/login.page' && userId == null){
+//        next('/login.page')
+//     }else{
+//        next()
+//     }
+//   } 
+// })
+
 export default AppRouter;
 
client/views/pages/AppStore.js (added)
+++ client/views/pages/AppStore.js
@@ -0,0 +1,24 @@
+import { createStore } from 'vuex';
+
+export default createStore ({
+    state: {
+        loginUser: null,
+        key:null,
+    },
+    getters: {
+        getLoginUser: function () {
+
+        },
+        getKey: function () {
+
+        }
+    },
+    mutations: {       
+        setLoginUser: function (state, newValue) {
+            state.loginUser = newValue;
+        },
+        setKey: function (state, newValue) {
+            state.key = newValue;
+        }
+    }
+});(파일 끝에 줄바꿈 문자 없음)
package-lock.json
--- package-lock.json
+++ package-lock.json
@@ -16,11 +16,13 @@
         "express-http-proxy": "^1.6.3",
         "file-loader": "^6.2.0",
         "fs": "^0.0.1-security",
+        "js-cookie": "^3.0.5",
         "new-line": "^1.1.1",
         "vue": "^3.3.4",
         "vue-loader": "^17.2.2",
         "vue-router": "^4.2.4",
         "vue-style-loader": "^4.1.3",
+        "vuex": "^4.1.0",
         "webpack": "^5.88.2",
         "webpack-cli": "^5.1.4"
       }
@@ -2141,6 +2143,14 @@
         "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
+    "node_modules/js-cookie": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+      "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -3339,6 +3349,17 @@
       },
       "engines": {
         "node": ">=4.0.0"
+      }
+    },
+    "node_modules/vuex": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
+      "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
+      "dependencies": {
+        "@vue/devtools-api": "^6.0.0-beta.11"
+      },
+      "peerDependencies": {
+        "vue": "^3.2.0"
       }
     },
     "node_modules/watchpack": {
@@ -5132,6 +5153,11 @@
         }
       }
     },
+    "js-cookie": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+      "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw=="
+    },
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5945,6 +5971,14 @@
         }
       }
     },
+    "vuex": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
+      "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
+      "requires": {
+        "@vue/devtools-api": "^6.0.0-beta.11"
+      }
+    },
     "watchpack": {
       "version": "2.4.0",
       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
package.json
--- package.json
+++ package.json
@@ -11,11 +11,13 @@
     "express-http-proxy": "^1.6.3",
     "file-loader": "^6.2.0",
     "fs": "^0.0.1-security",
+    "js-cookie": "^3.0.5",
     "new-line": "^1.1.1",
     "vue": "^3.3.4",
     "vue-loader": "^17.2.2",
     "vue-router": "^4.2.4",
     "vue-style-loader": "^4.1.3",
+    "vuex": "^4.1.0",
     "webpack": "^5.88.2",
     "webpack-cli": "^5.1.4"
   },
Add a comment
List