From 17e62da2a097844b0f6f7a58926e7d0a40598d2c Mon Sep 17 00:00:00 2001
From: hailin <1356886193@qq.com>
Date: 星期五, 21 七月 2023 10:30:23 +0800
Subject: [PATCH] 标准库的第三次提交

---
 src/permission.js |  111 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 56 insertions(+), 55 deletions(-)

diff --git a/src/permission.js b/src/permission.js
index 46773cb..a38fdc4 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,64 +1,65 @@
-// import router from './router'
-// import store from './store'
-// import { Message } from 'element-ui'
-// import NProgress from 'nprogress' // progress bar
-// import 'nprogress/nprogress.css' // progress bar style
-// import { getToken } from '@/utils/auth' // get token from cookie
-// import getPageTitle from '@/utils/get-page-title'
+import router from './router'
+import store from './store'
+import { Message } from 'element-ui'
+import NProgress from 'nprogress' // progress bar
+import 'nprogress/nprogress.css' // progress bar style
+import { getToken } from '@/utils/auth' // get token from cookie
+import getPageTitle from '@/utils/get-page-title'
 
-// NProgress.configure({ showSpinner: false }) // NProgress Configuration
+NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
-// const whiteList = ['/login'] // no redirect whitelist
+const whiteList = ['/login'] // no redirect whitelist
 
-// router.beforeEach(async(to, from, next) => {
-//   // start progress bar
-//   NProgress.start()
+router.beforeEach(async(to, from, next) => {
+  // start progress bar
+  NProgress.start()
 
-//   // set page title
-//   document.title = getPageTitle(to.meta.title)
+  // set page title
+  document.title = getPageTitle(to.meta.title)
 
-//   // determine whether the user has logged in
-//   const hasToken = getToken()
+  // determine whether the user has logged in
+  const hasToken = getToken()
 
-//   if (hasToken) {
-//     if (to.path === '/login') {
-//       // if is logged in, redirect to the home page
-//       next({ path: '/' })
-//       NProgress.done()
-//     } else {
-//       const hasGetUserInfo = store.getters.name
-//       if (hasGetUserInfo) {
-//         next()
-//       } else {
-//         try {
-//           // get user info
-//           await store.dispatch('user/getInfo')
+  if (hasToken) {
+    if (to.path === '/login') {
+      // if is logged in, redirect to the home page
+      next({ path: '/' })
+      NProgress.done()
+    } else {
+      const hasGetUserInfo = store.getters.name
+      if (hasGetUserInfo) {
+        next()
+      } else {
+        try {
+          // get user info
+          await store.dispatch('user/getInfo')
 
-//           next()
-//         } catch (error) {
-//           // remove token and go to login page to re-login
-//           await store.dispatch('user/resetToken')
-//           Message.error(error || 'Has Error')
-//           next(`/login?redirect=${to.path}`)
-//           NProgress.done()
-//         }
-//       }
-//     }
-//   } else {
-//     /* has no token*/
+          next()
+        } catch (error) {
+          // remove token and go to login page to re-login
+          // 閲嶆柊鍒锋柊token
+          await store.dispatch('user/resetToken')
+          Message.error(error || 'Has Error')
+          next(`/login?redirect=${to.path}`)
+          NProgress.done()
+        }
+      }
+    }
+  } else {
+    /* has no token*/
 
-//     if (whiteList.indexOf(to.path) !== -1) {
-//       // in the free login whitelist, go directly
-//       next()
-//     } else {
-//       // other pages that do not have permission to access are redirected to the login page.
-//       next(`/login?redirect=${to.path}`)
-//       NProgress.done()
-//     }
-//   }
-// })
+    if (whiteList.indexOf(to.path) !== -1) {
+      // in the free login whitelist, go directly
+      next()
+    } else {
+      // other pages that do not have permission to access are redirected to the login page.
+      next(`/login?redirect=${to.path}`)
+      NProgress.done()
+    }
+  }
+})
 
-// router.afterEach(() => {
-//   // finish progress bar
-//   NProgress.done()
-// })
+router.afterEach(() => {
+  // finish progress bar
+  NProgress.done()
+})

--
Gitblit v1.9.3