瀏覽代碼

TBtools-vue-router拦截器

panyong 4 年之前
父節點
當前提交
e92fb6c94a
共有 1 個文件被更改,包括 18 次插入6 次删除
  1. 18 6
      htmldev/TBTools/src/router/index.js

+ 18 - 6
htmldev/TBTools/src/router/index.js

@@ -6,6 +6,7 @@
  */
 import Vue from 'vue'
 import Router from 'vue-router'
+import { clearLoginInfo } from '@/utils'
 
 Vue.use(Router)
 
@@ -99,7 +100,8 @@ const mineRoutes = [
         name: 'mine',
         meta: {
           title: '个人中心',
-          isTab: true
+          isTab: true,
+          isAuth: true
         }
       },
       {
@@ -108,7 +110,8 @@ const mineRoutes = [
         name: 'orderCheckOrder',
         meta: {
           title: '订单查询',
-          isTab: true
+          isTab: true,
+          isAuth: true
         }
       },
       {
@@ -117,7 +120,8 @@ const mineRoutes = [
         name: 'orderCheckPackage',
         meta: {
           title: '包裹查询',
-          isTab: true
+          isTab: true,
+          isAuth: true
         }
       },
       {
@@ -128,7 +132,8 @@ const mineRoutes = [
           title: '充值',
           isTab: true,
           isUseCache: false,
-          keepAlive: true
+          keepAlive: true,
+          isAuth: true
         }
       },
       {
@@ -139,7 +144,8 @@ const mineRoutes = [
           title: '我的钱包',
           isTab: true,
           isUseCache: false,
-          keepAlive: true
+          keepAlive: true,
+          isAuth: true
         }
       }
     ]
@@ -223,7 +229,13 @@ const router = new Router({
 })
 
 router.beforeEach((to, from, next) => {
-  next()
+  let token = Vue.cookie.get('token')
+  if ((!token || !/\S/.test(token)) && to.meta.isAuth) {
+    clearLoginInfo()
+    next({ name: 'login' })
+  } else {
+    next()
+  }
 })
 
 export default router